From nobody Sun Mar 12 09:04:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZDPS74Qpz3xctq; Sun, 12 Mar 2023 09:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PZDPS6d7Hz4FQG; Sun, 12 Mar 2023 09:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678611868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S36OQdZIOkc8p+qe3RewrpBay0gp1gMgS9wNyH3N0JI=; b=SKDprF2N+onz6r01a326JL4IJBwVoWiGdHq0iUiMnO+FoKiINNWxbZ2jqiOZH1oyl7W4zw KHAPpCS42X6MXW9di9lDC7iclWiPGu7bGqO2v/kQ0BzMQgrAaXbWYGy8I2rLDxWPA7k9jI b8a0r2OzEnzAc6kAYJgVHIIK1IVHyuy/7ZU9qnyyGYaK7HzpNNCeXt1e8DpbuSumovxpzA 5DOPkH1TIQeZ64YqoPDuaMpDO3bFGSX4MHdNFPYXkmjWLn1ijpWLxF1rZ7prbA7ULNM1dX LnzleOmaXRQEhOgNLEALuVLWrZk/H8zxTUFFoJUpuQU4Cb56Vj2gHR97DOZTSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678611868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S36OQdZIOkc8p+qe3RewrpBay0gp1gMgS9wNyH3N0JI=; b=kB8Cdk+LeA/+GixITyDXBrPOHHCpKbAQfrNdEv1hY9HPlKY7Dhzp2jagnikKLEO+2b0Os0 ySGliXiAkRScSHr1CfYEQekm4vG3F8tKWWbuFcybuBwbU3XxbD8UB6a7xKp1rqNZIWYEpo r5cv64vE70rmM61ZymWsUTtj6DASqK5OZ6ZWalKOr5Q6QyLs0GUCDhiCFIO27ZMgd9/lhL K6+TIbFZU28GbpNKTd9xy3UM8IpN6JbF6Gx7ymd7i6tIDFDGob7yNtDZ8UhMC53TU7p30a +zGKpahlTZDTjnG/kqo3haOqc+SWvtssox8+k06zShawvZXwMP8gGr/G90/AMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678611868; a=rsa-sha256; cv=none; b=A/UX3VswkVUNnabfd5zd+bfn8nXkzc8p19hkNjqtNEIOFbZ1MqcC4vrgGt7Dy9nQTOKkb8 aKJGhgL+YPMhDw6twv6MCaQF69W2STCFL/2kJ7yeI3mkYkr9rInQrJmZzoBJPqbQIdNFqd puMSFjG5SbTS/0lq1RBIpMpkG1/ze7KBOMR52Fx5I1Fqf9e5EeN09tCTaS+WTJ06jMZnIY 5mOq9yMdzhOfqAFbSWzUkWcU+aIXKyi0Q1b36+61GNZ6shhPu7pO9ai434lDREHWprgvK5 i6T04AoNXNRwdeoNuwsow9uVCVaJlZRYLoP3i31NDTkuL6dj7KthdEDLG2TaPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZDPS5hPLz15L6; Sun, 12 Mar 2023 09:04: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 32C94S11099593; Sun, 12 Mar 2023 09:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32C94S7p099592; Sun, 12 Mar 2023 09:04:28 GMT (envelope-from git) Date: Sun, 12 Mar 2023 09:04:28 GMT Message-Id: <202303120904.32C94S7p099592@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: baf1e9713969 - stable/13 - hostid: Generate random UUID by default List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: baf1e9713969fccdaf7481e3568ca89b7237dafd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=baf1e9713969fccdaf7481e3568ca89b7237dafd commit baf1e9713969fccdaf7481e3568ca89b7237dafd Author: Tijl Coosemans AuthorDate: 2023-03-09 09:02:45 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-12 08:59:58 +0000 hostid: Generate random UUID by default This way MAC addresses are no longer exposed. Discussed with: bapt MFC after: 3 days (cherry picked from commit 862aab6281a5e6b5dad89761ac17ca2a0e83ab32) --- libexec/rc/rc.conf | 1 + libexec/rc/rc.d/hostid | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 6b3aacacda61..23f9406da017 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -134,6 +134,7 @@ extra_netfs_types="NO" # List of network extra filesystem types for delayed hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. +hostid_uuidgen_flags="-r" # Flags to uuidgen. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. diff --git a/libexec/rc/rc.d/hostid b/libexec/rc/rc.d/hostid index 01697a1d1e11..7368681e8a91 100755 --- a/libexec/rc/rc.d/hostid +++ b/libexec/rc/rc.d/hostid @@ -117,7 +117,7 @@ hostid_generate() warn "hostid: unable to figure out a UUID from DMI data, generating a new one" sleep 2 # If not found, fall back to software-generated UUID. - uuid=`uuidgen` + uuid=`uuidgen ${hostid_uuidgen_flags}` fi hostid_set $uuid } From nobody Sun Mar 12 09:04:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZDPV1sSjz3xcVH; Sun, 12 Mar 2023 09: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 4PZDPV0nhqz4FWc; Sun, 12 Mar 2023 09: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=1678611870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEdqix6VtAmYo1ee4r6b5gCkqCVOSv62PuDD3tn0HEM=; b=usIIZ1EO0mAajoqvtRoqU3rHkWvMLn9p1nNAHcrtV5LUbjZQI3HqEvkPlO99A6Ym9GwZTk IwTR5a/028eVdeV4GhXSGQ4+sYeGYoIH2DiBTaTiGFxeU58MIsr84CJpDoFL2ZbyZiRQMf cS2cMCgm9l3ZytuSNtE//Vo2FPYH/84l4nwnUkFAI/R55Raf5126Vf1LKEpW6vqPGZfxSf 8Pp6pdau7KmNVTWyaFUqyehH5dUGMmaE0x+g1gBuE7ZOZb7A5c+huToHgtLEcTCsgHWtCW WKtUj+77qCh+3X5DypcOmQVv8G6+xiYXRRytT8Fm4NVp+aQ89dft8qkxuXzRSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678611870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEdqix6VtAmYo1ee4r6b5gCkqCVOSv62PuDD3tn0HEM=; b=YpI+NJglbXrlQitnWhxnTL12QqSRq6bd2NeTAKv/9vs5iN2Nc/TesnPP/R8YgzWP1Y2m79 Dhrr8YHJjL5Ttf052PT088eZvQo2fmdQstWIKotCBdxrVTvskMvBpx9dSxfw2K8OBNpxV9 GpXMPhPzU9Ck0oAC+n4e4PQIxJPhHUPsK72lYzVsp5aJwH467jkZnXTox7o6q6SzojTeaE lOBAqTLaASkG3lPXaUg0NHzED4vQpmdaHkZo75LbXMqlxkmGdgo5PWY9mrQ73C7w8uJv1F LnunI1XlCAZmrtNE3SR4htMYL6lUvce26A9ZT+mFaCdRTrlhF2By/QKxPoBFgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678611870; a=rsa-sha256; cv=none; b=q2OuJTETKz43QuIu8DYjhRkZ4Gln7Cl1kgtSXW+ryIb/AcYyfO8V9K5mUeIm48UDg9tRem qhPcLvmq7+vMvX0ZsqrXJebMTaoyA1zCRUOzdyjRCYQCQChhrs9hTXYLhpTEKE2IY5oaUt 8ARL/dFGAf4VsaYAoturtNJI2SNOWoAtJbiTO2RqMqT6sZJV9M5Sh3x5OvIuSPi6c5CBvd ybViKoT4S/MV+jr2Vb8rlI4erphgWRWUcIYRQMhhLpVtz11Ni7e9BUEvkI+pski1nRVXbR MrbKDhGVAbMGijWDA7stoQlMog74G6V89HNvUsTNGxYSKHJjL7XTP/eJxAtwzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZDPT6jlZz14yc; Sun, 12 Mar 2023 09:04: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 32C94TGN099613; Sun, 12 Mar 2023 09:04:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32C94T3T099612; Sun, 12 Mar 2023 09:04:29 GMT (envelope-from git) Date: Sun, 12 Mar 2023 09:04:29 GMT Message-Id: <202303120904.32C94T3T099612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: d6852eed98ed - stable/13 - rc.d: Generate machine-id from hostid_save List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d6852eed98ed32ad51120a22aa1ebdf0601917b3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=d6852eed98ed32ad51120a22aa1ebdf0601917b3 commit d6852eed98ed32ad51120a22aa1ebdf0601917b3 Author: Tijl Coosemans AuthorDate: 2023-02-15 20:09:51 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-12 08:59:58 +0000 rc.d: Generate machine-id from hostid_save rc.d/hostid_save saves a UUID generated by rc.d/hostid in /etc/hostid. Store the same UUID, without hyphens, in /etc/machine-id. The hypĥens are removed with a shell function because hostid_save runs before file systems are mounted so other tools may not be available yet. This eliminates some duplication between hostid and machine-id and for virtual machines machine-id now contains the UUID configured in the hypervisor like it does on Linux. Reviewed by: delphij Discussed with: bapt MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38811 (cherry picked from commit ecad3f5c4d922f93ceba455f8bff1c54e1ed4174) --- ObsoleteFiles.inc | 3 +++ etc/Makefile | 2 -- libexec/rc/rc.conf | 4 +--- libexec/rc/rc.d/Makefile | 1 - libexec/rc/rc.d/hostid_save | 28 ++++++++++++++++++++-------- libexec/rc/rc.d/machine_id | 34 ---------------------------------- sys/sys/param.h | 2 +- 7 files changed, 25 insertions(+), 49 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 37f07a708986..e6b2140af29d 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230308: machine-id merged into hostid_save +OLD_FILES+=etc/rc.d/machine-id + # 20230203: loader help files renamed OLD_FILES+=boot/loader.help diff --git a/etc/Makefile b/etc/Makefile index 49a7a12a41b5..104e40b6e345 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -58,8 +58,6 @@ distribution: ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt ${INSTALL_SYMLINK} -T "package=runtime" ../var/run/os-release \ ${DESTDIR}/etc/os-release - ${INSTALL_SYMLINK} -T "package=runtime" ../var/db/machine-id \ - ${DESTDIR}/etc/machine-id .if ${MK_UNBOUND} != "no" if [ ! -e ${DESTDIR}/etc/unbound ]; then \ ${INSTALL_SYMLINK} -T "package=unbound" \ diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 23f9406da017..af7b6ff6302e 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -135,6 +135,7 @@ hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. hostid_uuidgen_flags="-r" # Flags to uuidgen. +machine_id_file="/etc/machine-id" # File with machine-id. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. @@ -703,9 +704,6 @@ harvest_mask="511" # Entropy device harvests all but the very invasive sources. osrelease_enable="YES" # Update /var/run/os-release on boot (or NO). osrelease_file="/var/run/os-release" # File to update for os-release. osrelease_perms="444" # Default permission for os-release file. -machine_id_enable="YES" # Create /var/db/machine-id on boot if missing (or NO). -machine_id_file="/var/db/machine-id" # File to update for machine-id. -machine_id_perms="444" # Default permissions for machine-id file. dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon watchdogd_flags="" # Flags to watchdogd (if enabled) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 188eae2e2f5b..40a1a212ca3a 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -51,7 +51,6 @@ CONFS= DAEMON \ local \ localpkg \ lockd \ - machine_id \ mixer \ motd \ mountcritlocal \ diff --git a/libexec/rc/rc.d/hostid_save b/libexec/rc/rc.d/hostid_save index f535ea2596f2..f737ed7f74cf 100755 --- a/libexec/rc/rc.d/hostid_save +++ b/libexec/rc/rc.d/hostid_save @@ -15,20 +15,32 @@ start_cmd="hostid_save" stop_cmd=":" rcvar="hostid_enable" +hostid_machine_id() +{ + local IFS + + IFS=- + set -- ${current_hostid} + IFS= + current_machine_id=$* +} + hostid_save() { current_hostid=`$SYSCTL_N kern.hostuuid` - if [ -r ${hostid_file} ]; then - read saved_hostid < ${hostid_file} - if [ ${saved_hostid} = ${current_hostid} ]; then - exit 0 - fi + read saved_hostid 2>/dev/null < ${hostid_file} + if [ "${saved_hostid}" != "${current_hostid}" ]; then + echo "${current_hostid}" > ${hostid_file} || + warn "could not store hostuuid in ${hostid_file}." fi - echo ${current_hostid} > ${hostid_file} - if [ $? -ne 0 ]; then - warn "could not store hostuuid in ${hostid_file}." + hostid_machine_id + + read saved_machine_id 2>/dev/null < ${machine_id_file} + if [ "${saved_machine_id}" != "${current_machine_id}" ]; then + echo "${current_machine_id}" > ${machine_id_file} || + warn "could not store hostuuid in ${machine_id_file}." fi } diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id deleted file mode 100644 index 8bf3e41d0603..000000000000 --- a/libexec/rc/rc.d/machine_id +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: machine_id -# REQUIRE: mountcritremote FILESYSTEMS -# BEFORE: LOGIN - -. /etc/rc.subr - -: ${machine_id_file:=/var/db/machine-id} -: ${machine_id_perms:=444} -name="machine_id" -desc="Update ${machine_id_file}" -rcvar="machine_id_enable" -start_cmd="machine_id_start" -stop_cmd=":" - - -machine_id_start() -{ - if [ ! -f ${machine_id_file} ] ; then - startmsg -n "Creating ${machine_id_file} " - t=$(mktemp -t machine-id) - /bin/uuidgen -r -c -o $t - install -C -o root -g wheel -m ${machine_id_perms} "$t" "${machine_id_file}" - rm -f "$t" - startmsg 'done.' - fi -} - -load_rc_config $name -run_rc_command "$1" diff --git a/sys/sys/param.h b/sys/sys/param.h index 12a407dd0464..564fbfd9c70d 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1302503 /* Master, propagated to newvers */ +#define __FreeBSD_version 1302504 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sun Mar 12 21:47:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZYKN0kBYz3xgLX; Sun, 12 Mar 2023 21:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PZYKN0D1jz4c3t; Sun, 12 Mar 2023 21:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLkDkj8Ai6Rsdp034cU9Wh9S/NH7FUmEzHRj5P+MSKc=; b=pwjNrrLTlBAHNJVbHhA0ghsfzndQl2B/Q4cAOMG5lGiNEKFQP4zIJ9D5xtpZi96atV47Ka 0/AnksHe+59vfzxTQTIBbGVP76XUihkJbH4fHLpQ1OWn3aSeoSnnbzGZG1hcEMVvOWFnh1 Kx1zP7v/oIPiCJMGna9mcZ+G1TEILTBXnw0od0VHyzt7VdRMpT41v0Kmn3oDqhRWrs+CUP kfmqa149H/jMrIfVPwSbawYooXeH8YKrC+XbEytroHv5bSsZeAYqB2FZ/JpKRzwaDqGUj8 OePi1BWXUL+KQX20zTfs67v7jjsSivcyd0YKImNEYtTLuJ3UGtiCUPlTAUPwHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLkDkj8Ai6Rsdp034cU9Wh9S/NH7FUmEzHRj5P+MSKc=; b=Aj+pUIJCBJ1e6RCkeslAf2uP8p3BXB9cMP07zR3n48CBVSSkbIfcD48+W/TnW0v9urcszB dLr9iG9bbCTDTiI6DbUwgecTY2Xl5KmRzu/dQLKL5KBmbSAVIcv3Yel/ENQBD8VFwPUW1I K2JfXJhOSyujMTiVZCC1cfww+tEILVoFze0zIgCBuyWJTfC2VYTEqE/tcuLdP7Qs4n3ew2 hLyWD7AzpZHtIwsednlSmdhcXBN/9birWyORXNap7APOWN7m8ZAfbhXo2cxdIATSVosDnT dP6D0BuqsetXYL8az5CGw0JioC7xs9c0rX6XgXXSEqhaOqszd4ossbKD+TFleQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678657624; a=rsa-sha256; cv=none; b=Wh7Y8oUbS1yIYZecwIZ+RF/1ZigvERvSSXPLpYqYTIoIgHGgYjbqZzVu0ufmaIXDpdHJzs xBHGi15SbYmZaR6u9tg+eutgqfVoOOm5qWLgnzCZwDChlkZv/QdDVtjkcw8lKCrfdRqZFj djZnJH9VFwB+hRSvbMhEuasq1KxcQzPboJtd4EbfgY85wnnrK/qvTEWn6NL7vgp02Kpt5A yoEESaLIRtVR9ThWkDknraloCHm2JSksrHdfAYCDbEvqI/J3DUBiao848I7zo2Yn8xxxO4 Ckg6xySmdOgD1ybSI4UiVCka8cSPrxwvLG1A2aWpw/qKeK5XwMEFYQwqpRgiIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZYKM6N0nzSBX; Sun, 12 Mar 2023 21:47: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 32CLl3X4049257; Sun, 12 Mar 2023 21:47:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32CLl31I049256; Sun, 12 Mar 2023 21:47:03 GMT (envelope-from git) Date: Sun, 12 Mar 2023 21:47:03 GMT Message-Id: <202303122147.32CLl31I049256@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: a379d5c5efb2 - releng/13.2 - hostid: Generate random UUID by default List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: a379d5c5efb2b606f2a12b94c0bfd450173b7c38 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=a379d5c5efb2b606f2a12b94c0bfd450173b7c38 commit a379d5c5efb2b606f2a12b94c0bfd450173b7c38 Author: Tijl Coosemans AuthorDate: 2023-03-09 09:02:45 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-12 21:45:59 +0000 hostid: Generate random UUID by default This way MAC addresses are no longer exposed. Discussed with: bapt Approved by: re (cperciva) (cherry picked from commit 862aab6281a5e6b5dad89761ac17ca2a0e83ab32) (cherry picked from commit baf1e9713969fccdaf7481e3568ca89b7237dafd) --- libexec/rc/rc.conf | 1 + libexec/rc/rc.d/hostid | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 6b3aacacda61..23f9406da017 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -134,6 +134,7 @@ extra_netfs_types="NO" # List of network extra filesystem types for delayed hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. +hostid_uuidgen_flags="-r" # Flags to uuidgen. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. diff --git a/libexec/rc/rc.d/hostid b/libexec/rc/rc.d/hostid index 3cf7dd42eb6c..317b53e06db4 100755 --- a/libexec/rc/rc.d/hostid +++ b/libexec/rc/rc.d/hostid @@ -117,7 +117,7 @@ hostid_generate() warn "hostid: unable to figure out a UUID from DMI data, generating a new one" sleep 2 # If not found, fall back to software-generated UUID. - uuid=`uuidgen` + uuid=`uuidgen ${hostid_uuidgen_flags}` fi hostid_set $uuid } From nobody Sun Mar 12 21:47:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZYKP3ws8z3xh9N; Sun, 12 Mar 2023 21:47: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 4PZYKP1H2rz4byX; Sun, 12 Mar 2023 21:47:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrhGcjUHeDn/oxK7IopU4WHK86rnwa2ykoicXkS0LgQ=; b=momHfzHfFCF63juaKRORLAhMWOpICBKi4HKNEfvyxlfhoX3EwRG0baQhdyDL+yB3kWAcY6 oU9VNijL8J5vntODcW2g0cd3I8p9aB+2MXGVUmhm7QVDXghODFauUT0NlargAmJm1kT+es pzrCX7OvE9QjNW4Sol42pS1CLgqMsNLiwKntLkbxaFLWGfhw75EK8Fam8EotjhyMZihHTu PUh15jlNiHyR14B6QKHxiK2Y4lopcL83hPFTP2WOTtXAoSsvoTgrnMvYp93jPpQqTrhLBO fLFiUt6C57qDOoEmBa1kQd+a8bi8etveVKVyeBMAqwtK10mRqdzGghMTXHSdMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrhGcjUHeDn/oxK7IopU4WHK86rnwa2ykoicXkS0LgQ=; b=cqLV3RbgUSYLqsbpubUlamMi3j5ZVm2KxUQoBY3VC7qpIQ+qg7eDIT0i2MhfelST8P8/NP GVh8hPuW6GBJpviDDVuMx2LEDrxLamk07vEWvfyGmL3JEEqBuEGC7zK6+JifDDc7at2XEq TJbuh+/v7Nfq/5hbaUXc1+vigEjRlIq1xVqtsPIW3Y3lZb7Q8CKMAMfA2QbFFYiCnlxYHa WyKgW+n7zrhH8FodGQs89wzQTVL/IxFONkD4gVlro51mrMuN3eJ2t2GpIefuWeqIDLDhln HMrY3x4eHVI60fF3+lcdIOehI/JC0tVVrl0PqMu4dkTZWOBLgv2+WsfTY6k9+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678657625; a=rsa-sha256; cv=none; b=qirYZM0rrtjZBL7KCD77Ouq6vqcSMhaMsJH1ciodcCuN2vEfFAZXrR18BZ0EHxiq9l+Gtp elJ2b9/Z9Vj9Zwnlyzyv5kx/DpL+o7NDjKh/9VwN7FmzJev58OT/CZjfnOVzJSvHICOcqS KRc8o2P+iqQxHWTgw6mWWUB1RJFifj1mzlAB3LWEUbSXojZnhoosC0f55RsTvzVXIQdZoG 81QC3AYw59Bgjze32iOZh0ZZ5qUewAKorkddW0n01+HJFGTFxindmPCJfmjjh8agd4AupC 6q1krEzZlr1QANPR1prDqjyEyI1Gg/Vx8hwq8Bdmk4Wcmx+cIDTjIoxo4g+96g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZYKP0Mm8zSTt; Sun, 12 Mar 2023 21:47: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 32CLl4hW049276; Sun, 12 Mar 2023 21:47:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32CLl4J7049275; Sun, 12 Mar 2023 21:47:04 GMT (envelope-from git) Date: Sun, 12 Mar 2023 21:47:04 GMT Message-Id: <202303122147.32CLl4J7049275@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: 71d88613d129 - releng/13.2 - rc.d: Generate machine-id from hostid_save List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 71d88613d12984f6a9058f4ef7044e00853727ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=71d88613d12984f6a9058f4ef7044e00853727ed commit 71d88613d12984f6a9058f4ef7044e00853727ed Author: Tijl Coosemans AuthorDate: 2023-02-15 20:09:51 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-12 21:46:07 +0000 rc.d: Generate machine-id from hostid_save rc.d/hostid_save saves a UUID generated by rc.d/hostid in /etc/hostid. Store the same UUID, without hyphens, in /etc/machine-id. The hyphens are removed with a shell function because hostid_save runs before file systems are mounted so other tools may not be available yet. This eliminates some duplication between hostid and machine-id and for virtual machines machine-id now contains the UUID configured in the hypervisor like it does on Linux. Reviewed by: delphij Discussed with: bapt Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D38811 (cherry picked from commit ecad3f5c4d922f93ceba455f8bff1c54e1ed4174) (cherry picked from commit d6852eed98ed32ad51120a22aa1ebdf0601917b3) --- ObsoleteFiles.inc | 3 +++ etc/Makefile | 2 -- libexec/rc/rc.conf | 4 +--- libexec/rc/rc.d/Makefile | 1 - libexec/rc/rc.d/hostid_save | 28 ++++++++++++++++++++-------- libexec/rc/rc.d/machine_id | 34 ---------------------------------- sys/sys/param.h | 2 +- 7 files changed, 25 insertions(+), 49 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 64214e29e93f..b3b1b5e6cf1f 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230308: machine-id merged into hostid_save +OLD_FILES+=etc/rc.d/machine-id + # 20230203: loader help files renamed OLD_FILES+=boot/loader.help diff --git a/etc/Makefile b/etc/Makefile index 49a7a12a41b5..104e40b6e345 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -58,8 +58,6 @@ distribution: ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt ${INSTALL_SYMLINK} -T "package=runtime" ../var/run/os-release \ ${DESTDIR}/etc/os-release - ${INSTALL_SYMLINK} -T "package=runtime" ../var/db/machine-id \ - ${DESTDIR}/etc/machine-id .if ${MK_UNBOUND} != "no" if [ ! -e ${DESTDIR}/etc/unbound ]; then \ ${INSTALL_SYMLINK} -T "package=unbound" \ diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 23f9406da017..af7b6ff6302e 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -135,6 +135,7 @@ hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. hostid_uuidgen_flags="-r" # Flags to uuidgen. +machine_id_file="/etc/machine-id" # File with machine-id. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. @@ -703,9 +704,6 @@ harvest_mask="511" # Entropy device harvests all but the very invasive sources. osrelease_enable="YES" # Update /var/run/os-release on boot (or NO). osrelease_file="/var/run/os-release" # File to update for os-release. osrelease_perms="444" # Default permission for os-release file. -machine_id_enable="YES" # Create /var/db/machine-id on boot if missing (or NO). -machine_id_file="/var/db/machine-id" # File to update for machine-id. -machine_id_perms="444" # Default permissions for machine-id file. dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon watchdogd_flags="" # Flags to watchdogd (if enabled) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 188eae2e2f5b..40a1a212ca3a 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -51,7 +51,6 @@ CONFS= DAEMON \ local \ localpkg \ lockd \ - machine_id \ mixer \ motd \ mountcritlocal \ diff --git a/libexec/rc/rc.d/hostid_save b/libexec/rc/rc.d/hostid_save index f535ea2596f2..f737ed7f74cf 100755 --- a/libexec/rc/rc.d/hostid_save +++ b/libexec/rc/rc.d/hostid_save @@ -15,20 +15,32 @@ start_cmd="hostid_save" stop_cmd=":" rcvar="hostid_enable" +hostid_machine_id() +{ + local IFS + + IFS=- + set -- ${current_hostid} + IFS= + current_machine_id=$* +} + hostid_save() { current_hostid=`$SYSCTL_N kern.hostuuid` - if [ -r ${hostid_file} ]; then - read saved_hostid < ${hostid_file} - if [ ${saved_hostid} = ${current_hostid} ]; then - exit 0 - fi + read saved_hostid 2>/dev/null < ${hostid_file} + if [ "${saved_hostid}" != "${current_hostid}" ]; then + echo "${current_hostid}" > ${hostid_file} || + warn "could not store hostuuid in ${hostid_file}." fi - echo ${current_hostid} > ${hostid_file} - if [ $? -ne 0 ]; then - warn "could not store hostuuid in ${hostid_file}." + hostid_machine_id + + read saved_machine_id 2>/dev/null < ${machine_id_file} + if [ "${saved_machine_id}" != "${current_machine_id}" ]; then + echo "${current_machine_id}" > ${machine_id_file} || + warn "could not store hostuuid in ${machine_id_file}." fi } diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id deleted file mode 100644 index 8bf3e41d0603..000000000000 --- a/libexec/rc/rc.d/machine_id +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: machine_id -# REQUIRE: mountcritremote FILESYSTEMS -# BEFORE: LOGIN - -. /etc/rc.subr - -: ${machine_id_file:=/var/db/machine-id} -: ${machine_id_perms:=444} -name="machine_id" -desc="Update ${machine_id_file}" -rcvar="machine_id_enable" -start_cmd="machine_id_start" -stop_cmd=":" - - -machine_id_start() -{ - if [ ! -f ${machine_id_file} ] ; then - startmsg -n "Creating ${machine_id_file} " - t=$(mktemp -t machine-id) - /bin/uuidgen -r -c -o $t - install -C -o root -g wheel -m ${machine_id_perms} "$t" "${machine_id_file}" - rm -f "$t" - startmsg 'done.' - fi -} - -load_rc_config $name -run_rc_command "$1" diff --git a/sys/sys/param.h b/sys/sys/param.h index 35ed7dab7b5f..b6ac2c897fad 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1302000 /* Master, propagated to newvers */ +#define __FreeBSD_version 1302001 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Mon Mar 13 08:02:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZpzR4v8Fz3xM4L; Mon, 13 Mar 2023 08:02: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 4PZpzR4VGXz4NqQ; Mon, 13 Mar 2023 08:02:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGGrKzfPxiW9Eqt2weuKcp3TFEqq71Ja8vRCLWiYN3A=; b=GexlbW0HvKHV8V7DCM+9FA8J0HbYbtbHKDpGNA/iqPP9AA4BiOJYi3JdoZ8MRUubASuDKX 33pxB5CAQF50sfn/SeAFD8CwseRsyXpMgygCEQj8GoP1gHEIsPNo8Inmp0i2h+envLoUwQ sVIHb/f+jYE7cFuh5xyuDEPtZ1bzY7YUePcjJ4MA98u8sog5RwCA4CDaPy+s+0/ZglAbYZ DDladNC897Qcm4T/U2O6kcF2L0XWYJNnCjiTsmF0Vb40laP2KaALGosflP1rcfiBoVrNn1 ciBwNtaiB7glRVb/c99CJC99a/met1pJ8c3Hfa14Xs1Qi3IoaYo2Zh+7ofrNdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGGrKzfPxiW9Eqt2weuKcp3TFEqq71Ja8vRCLWiYN3A=; b=GvM2dtcXwPR99NenlVRggM6Eq684GS4kVljChCErO3A7zwAKxTq56/4djQI01bKhX2QA0l jwRg+APQNkO67HvmS3ePDAR5b7jxNkhrGd9WWPN/QN+dtRCu6QCkss1eatWMi2/wlVV8B7 DlG/Pa6IimFpmjZIjT/Y4HUinP355Ngar3RI6WAuRbHyQdrMseGtueTNjNL6f2kbj+R/LM VwKINnLqitCVgUd29jyTI+WAtCWfKE+QMbSzHmT6jR7UDDRPUYYmnrvHoroeymbmHybMYZ MtkIumJRQwZ13skqnDdxiCe01OI5adrRf76+VAU8XzJnycO9OmA3IPSNlc2O1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678694547; a=rsa-sha256; cv=none; b=i6ALF/UJ+z8JrxknxSSqYi7wgNjPIP00+YfjKv9VZytvLeAlOJ6AEeFDfM0pWlcJFHMW/l z/kTD21dYkLVJmfveNylVDugNiVPw7k65bRVhPqHoYNPJrBq5sYdIvJ+nNZZJvaaBT5qVV Z21bHBOjm0R2uFqxZJtjBu/MC8/020rKSUuB03+2TDzyJV9IDSJx86SvaAAzaXNZFJ5Ij7 syuj7iZL5XGI2P48E5ZhAh2Q2mrckXcuu30pM4DPFgsU2dE4dqsoUo17NX6LVxI2Lte6sx TLLjdQ2V0T7feQg60zZmDYFB/3abOnq4+hy/3oDcISW7ydJjyTsZM+JCmHYJtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZpzR3Z6DzlYY; Mon, 13 Mar 2023 08:02: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 32D82RSp068514; Mon, 13 Mar 2023 08:02:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32D82RjC068513; Mon, 13 Mar 2023 08:02:27 GMT (envelope-from git) Date: Mon, 13 Mar 2023 08:02:27 GMT Message-Id: <202303130802.32D82RjC068513@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 43a51b8bfdf0 - stable/13 - route(8): Add an example how to print the routing tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 43a51b8bfdf004236a7c7f980c5e29c07b208de4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=43a51b8bfdf004236a7c7f980c5e29c07b208de4 commit 43a51b8bfdf004236a7c7f980c5e29c07b208de4 Author: Gordon Bergling AuthorDate: 2021-04-13 04:44:04 +0000 Commit: Gordon Bergling CommitDate: 2023-03-13 08:01:24 +0000 route(8): Add an example how to print the routing tables The manual page currently doesn't show an example how to print the routing table, so add one and .Xr netstat while here. PR: 231579 Reported by: Pekka Järvinen Reviewed by: debdrup Differential Revision: https://reviews.freebsd.org/D29702 (cherry picked from commit bc54f5f1cd5c01aa5f941234034839fb0b8f54ed) --- sbin/route/route.8 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 6f34795ce883..c353bfb73d62 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd January 9, 2019 +.Dd April 11, 2021 .Dt ROUTE 8 .Os .Sh NAME @@ -453,6 +453,10 @@ Delete a static route from the routing table: Remove all routes from the routing table: .Pp .Dl route flush +.Pp +List all routing tables: +.Pp +.Dl netstat -r .Sh DIAGNOSTICS .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" @@ -493,6 +497,7 @@ The next-hop gateway should be reachable through a different route. .El .Sh SEE ALSO .\".Xr esis 4 , +.Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , .Xr arp 8 , From nobody Mon Mar 13 08:02:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZpzS66xNz3xM8Q; Mon, 13 Mar 2023 08:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PZpzS5QNHz4Nql; Mon, 13 Mar 2023 08:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gbQT/2rSV2E7VRVvc2XyuensYEp34gcBty3Lk9K+4eI=; b=RFSnQpRYKh5DXmld1oCE8jLGuFSiAoNfk3bXHqczK62m+NC81eOYBQiRKfYJjVsnCRGu/7 FrXNtsWce3YWk0XujQw7+HHYlSAxuadUsGZJTMPbIrilGT7MQRtR2867/KRsFvS2u9cYih Z7JJfIOibLqPpdXb5YjIeihace1ll/H+0YNkVF/31KLCx+jvTi9hr4L4qIOqvnXkHDsXRj ihyp7nQlScPFn1BW3zZ5ujJ2rrNUnHycFdIKSxGZfnigoqB9yCBs3W9t5kzLxv3gqkap6o 7SjVtfF4j6kPbvAAwsG8p3Y5z4rjDCNAZAQ3NBbjniAauxZt5XxTH+CSR6oeMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gbQT/2rSV2E7VRVvc2XyuensYEp34gcBty3Lk9K+4eI=; b=Nj/6EVX+c1poHPqsA6NJNByA1StuPVsaCw9Yo372ihzupZN27NyMD78HzYptJJ9yWjA9+R LrBskSarl58eqlWcdwSs2Vyf/bbEjhxPIH0STBH8LpyQx4d80kcQmNJeA4EKck1uKUejxM +Zif3DG8sKeaH6tmPi23Xy7O6LCX4SAiYMvycFO0J2VjyAHRbaZTfK67HcrCKH9X94GEjC oFXxCyImL7ZZdnysCUlqv1zIKIdvIm5ySD8lCqLTt+8MTGsd4gwYuampD0FeHk5aEerXGq 64tWB7OMld8g8Yw3cYHxyYw/nxl70Zt0527vzYT8wMwlZxW2ZoaNroRoWKGH1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678694548; a=rsa-sha256; cv=none; b=USI04s1G0HtqE3W/Z/AgjaczRs1Os4OQG3xQ1Tyhqn/MxlQVqO/wb6TqAQ0hIkOVRFduI2 D4cZ8uPzmGfHAvx+nxe4psr9J4m54JRpA3X5jdCTsiBGFYMfFq1GXORd9E2VNdKHhLzRQ5 sBgO5/J1DETMLbBT2v3DfREFU/VoZHP9Qb3ZxgJ9leRsNgHz4DQZPKR50m73oTEqkXpEDM Qxqk1Oc3CpjnmN1u3Ck7yH6CwxkoQfXfGukZxLNPHVI5qUd+MiR4E2TdQtk/dacpN7ioPD 4jVSwrO6sxoZKMrDdd/41Gb/YVbLfmZHCO2jO/N6uKkjiEy/2qhvpPjboOYjOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZpzS4DrzzlMZ; Mon, 13 Mar 2023 08:02: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 32D82S5O068541; Mon, 13 Mar 2023 08:02:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32D82SG2068540; Mon, 13 Mar 2023 08:02:28 GMT (envelope-from git) Date: Mon, 13 Mar 2023 08:02:28 GMT Message-Id: <202303130802.32D82SG2068540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: d8d86ab91e0f - stable/13 - route(8): Remove obsolete information List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d8d86ab91e0f92995b839d48e48a11c2a1872952 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=d8d86ab91e0f92995b839d48e48a11c2a1872952 commit d8d86ab91e0f92995b839d48e48a11c2a1872952 Author: Warner Losh AuthorDate: 2021-12-15 23:06:19 +0000 Commit: Gordon Bergling CommitDate: 2023-03-13 08:01:36 +0000 route(8): Remove obsolete information xns and osi are no longer relevant (or supported) so remove their vestiges. Noticed by: phk Sponsored by: Netflix (cherry picked from commit c6b2efb64e279b4d543aaa10073c63765bf6e790) --- sbin/route/route.8 | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index c353bfb73d62..161189e7a9d8 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd April 11, 2021 +.Dd December 15, 2021 .Dt ROUTE 8 .Os .Sh NAME @@ -143,8 +143,6 @@ command is specified, .Nm will ``flush'' the routing tables of all gateway entries. When the address family may is specified by any of the -.Fl osi , -.Fl xns , .Fl inet6 , or .Fl inet @@ -264,20 +262,6 @@ Alternately, if the interface is point to point the name of the interface itself may be given, in which case the route remains valid even if the local or remote addresses change. .Pp -The optional modifiers -.Fl xns , -.Fl osi , -and -.Fl link -specify that all subsequent addresses are in the -.Tn XNS -or -.Tn OSI -address families, -or are specified as link-level addresses, -and the names must be numeric specifications rather than -symbolic names. -.Pp The optional .Fl netmask modifier is intended @@ -502,7 +486,6 @@ The next-hop gateway should be reachable through a different route. .Xr route 4 , .Xr arp 8 , .Xr routed 8 -.\".Xr XNSrouted 8 .Sh HISTORY The .Nm From nobody Mon Mar 13 08:02:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZpzT6pVNz3xMVJ; Mon, 13 Mar 2023 08:02: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 4PZpzT6Kn4z4NrR; Mon, 13 Mar 2023 08:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LOxujEgT89PHwkea7l4HOi86q3HobonsTF5sDUQHDzg=; b=Kp02U9Zxhsle5eYxfP3l42WpZAtnayOJSjcYk1kE21dSjcliY0B4uXJVIQnlZRP04gMK4A 24xSjPADHzub2vB4T44olBZVrVd1R2tG8BHenSOJcWOqUBxIdF28eUIX9MUxRHcANaohGW aSc1+34nvF21eVv68zUVQLBIOZD6VS4ApP+/RwQhxbavpqel9ZaAh0FCwrtjW0PVKWso3I FZ3/p15bk9QNYCu1oeSG8SlAvDDfylaMFnHn8+E7kM5j/UyBrLv7Tw6/Pt6vpJueYkLdK8 aPaToQZfUNZvIW3KwHqlPBF3JcqkAxMZ7+nUiw5+i0qOTkVvOuWk9eM+8k+OWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LOxujEgT89PHwkea7l4HOi86q3HobonsTF5sDUQHDzg=; b=LiV8FuZMfrNMZUhdxtrAzJ7LkqHcPEKA5sFFn/O9cqiWy0Xs19OkJzCy7y0qjQVsR+BdIE kn9z0vdg0qWQX/wYF6Q32bR36pGE68UZfkFtGVcSvpPMZy56PRpgyUz+46Ll9nvC6F5ff5 6orrIBInOqGqUmMXrzTMk6sQgos/Qsq6xz+HxEiUpspo8wBKDImRSZ0ypG+cQvy+MdUTL5 Jk8uXSdjNR0TTIfyPwlgSeavTcDojLV24WelIhNhzXTb0FC7G7TnSDjbLMA/+bMyUjBefT LJh7pBVublSdYWIRx0YLI9UWdVCZowtvo46olX+uWgoCdmskBJGHM1avQds1uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678694549; a=rsa-sha256; cv=none; b=ycF4D3yHEKnzbso/ccqUi6yYFYXfcmZqGRbibXhMfBIWkWXzH7//7vqFiOfnHvDZuWY7Wt X7mJdOtt5luqVDZZMJBGOYHlenVkmJBqW648fYHcvZNiWUfa/5yNlgOV2oymrVIXYFoG7d lhp75wA3ewBHu1MbsXcmn4ckOrb3GM2J5q4c8UahuGe7XYqVCi9SzJmsab4S1pFm44yt0o 9aqXFghN7CgQHOUQQyGEOB4YX+jktjipNEKEAm0LSdh0js4lkqjFaS7cCv+birexRINn/x QdDZdABQ7qQvsZmQfYhxhvWuvRoo1udtH9DQGW9Zk4qUOND6ewOwD/ATYroKNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZpzT5RKCzlHF; Mon, 13 Mar 2023 08:02: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 32D82Trh068560; Mon, 13 Mar 2023 08:02:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32D82TA1068559; Mon, 13 Mar 2023 08:02:29 GMT (envelope-from git) Date: Mon, 13 Mar 2023 08:02:29 GMT Message-Id: <202303130802.32D82TA1068559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: afca4c000b72 - stable/13 - route.8: Add information about ROUTE_MPATH and FIB_ALGO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: afca4c000b72cc22b4dd988f67a954cbfe0c84d5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=afca4c000b72cc22b4dd988f67a954cbfe0c84d5 commit afca4c000b72cc22b4dd988f67a954cbfe0c84d5 Author: Gordon Bergling AuthorDate: 2023-02-26 13:15:34 +0000 Commit: Gordon Bergling CommitDate: 2023-03-13 08:01:49 +0000 route.8: Add information about ROUTE_MPATH and FIB_ALGO Since the kernel options ROUTE_MPATH and FIB_ALGO are enabled per default for a while, it's good to have some user facing documetation about the general functionality of multipath routing and fib lookup algorithms. Reviewed by: pauamma, Jose Luis Duran Differential Revision: https://reviews.freebsd.org/D38783 (cherry picked from commit b06338167d64507e79e003500002e22fbe583832) --- sbin/route/route.8 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 161189e7a9d8..c893ae5ab4b3 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd December 15, 2021 +.Dd February 26, 2023 .Dt ROUTE 8 .Os .Sh NAME @@ -405,6 +405,60 @@ and .Dv RTM_CHANGE . As such, only the super-user may modify the routing tables. +.Pp +.Fx provides support for scalable multipath routing. +It is activated by default, but can be turned off by setting the +.Va net.route.multipath +.Xr sysctl 8 +MIB to 0. +.Pp +There are multiple route lookup algorithms available. +They can be configured by setting +.Va net.route.algo.inet.algo +for IPv4 and +.Va net.route.algo.inet6.algo +for IPv6 +.Xr sysctl 8 +MIBs. +.Pp +A list of available algorithms can be obtained by accessing the +following +.Xr sysctl 8 +MIBs +.Va net.route.algo.inet.algo_list +for IPv4 and +.Va net.route.algo.inet6.algo_list +for IPv6. +.Pp +The following algorithms are available: +.Bl -tag -width radix_lockless +.It radix +Base system radix backend. +.It bsearch +Lockless binary search in a special IP array, tailored for a small FIB +with <16 routes. +This algorithm is only available for IPv4. +.It radix_lockless +Lockless immutable radix, re-created on every rtable change, +tailored for a small FIB with <1000 routes. +.It dpdk_lpm +DPDK DIR24-8-based lookups, lockless datastructure, optimized +for a large FIB. +In order to use the dpdk_lpm algorithm one or both of the +following kernel modules must be loaded via +.Xr loader.conf 5 : +.Bl -tag -width dpdk_lpm6.ko -compact +.It dpdk_lpm4.ko +DPDK implementation for IPv4. +.It dpdk_lpm6.ko +DPDK implementation for IPv6. +.El +.El +.Pp +The algorithms are selected automatically based on the size of the routing +table of the system. +They can be changed, but not every algorithm performs best for every +FIB size. .Sh EXIT STATUS .Ex -std .Sh EXAMPLES @@ -484,6 +538,7 @@ The next-hop gateway should be reachable through a different route. .Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , +.Xr loader.conf 5 , .Xr arp 8 , .Xr routed 8 .Sh HISTORY From nobody Mon Mar 13 08:02:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZpzW6qxpz3xM76; Mon, 13 Mar 2023 08:02: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 4PZpzW0R5Wz4P2R; Mon, 13 Mar 2023 08:02:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2g65WeP1ra7V51mleAYiFCEhFT6nWguJGukG7/a2pxo=; b=gvYbW0lTQWkXgQHfO0x7k1T5VDV9f6olZ4ORQP6Lr26HgvWByM9oTkflW+YxKg9TCCxiHa FcKBxQxomefOm3Tgoql043A3dL83Ekl5vHWvj7MolmLWUfD2vxxfajaY53QbrsgVP4/oYK N7QIHGM2dVii7Pu848bM5nAIMDnoAkarMGzchOWiHVR6LZuDag0CNSfYYdvWm08XXkdZze IF9e6NU/tX2Rn6rcJkDLsTtr1vym/aIQZ2PYnlTUTXLHJy5+Wh4BS7POZtCO2xHbJsDHlf Sfv9Mo3DVQlTkagWlG2gsXQ9ODZb/ndNNpBr7QRp7+9MOnbpSvCaCzvr1MujbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678694551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2g65WeP1ra7V51mleAYiFCEhFT6nWguJGukG7/a2pxo=; b=b5il09MASutflsuS+d8iZ6bKolzkGqMq5QanxBnU8c0ycXyztBns/KO1FSQt3HBAlVKr1p tO3mlM0aUxWkm3VrjSvoz54bHY/ISnirp6gPcE1yhIpfHfo6bwMtuRBJ/nSjx6lF0OhiA3 sgCClrB69IF5sBPM9iH9k7rxOHhhEicKBro1kFm18zRjN7nz9FknV2QR5K1+39Coimpsp/ IbXzhMrlOBFMNVl8XcjGALWHWdA8lofRxhjjRH2hzzvcByvooV8kwQDUzJdhY731R5cZvI aruV4eucBZcu3MChGQ51ux0c0FvLnTz4WHid51SLzHS3yM/UtLecslySHHL2wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678694551; a=rsa-sha256; cv=none; b=INXV7hr6jjCuw7iTBNhBXJYev12pxF2hCSB2F/QMaUsfhH04GUzZb9CsOknL6cnOGrRLCY DmANyS41WgXaWR1JurHtwKcMY2kn53uPxq/WN56X3mlYNg1xUIpOKEMcuAhQ4BSzhPclb0 SqKZtzgA7N4gxZk82v2OtbZhkRqO7N0N1IKWDoJg6flJNOQwneEEIaJI8G0leQJ5FgieIb wr35KEbXwW5UdimuDsMQR48CU92QgL1A3iKf4oBBGys3Bq9LvQKVP7uemfUpHiXfGIPmgm EztJ8cg3k5/lU8l6jfryrGaiBi434UYfMTbH4ZNGfwoBpThx/o70bQycUUE32w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZpzV6MVCzlHG; Mon, 13 Mar 2023 08:02: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 32D82UUB068579; Mon, 13 Mar 2023 08:02:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32D82UFk068578; Mon, 13 Mar 2023 08:02:30 GMT (envelope-from git) Date: Mon, 13 Mar 2023 08:02:30 GMT Message-Id: <202303130802.32D82UFk068578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: ca1b471b50ee - stable/13 - route.8: Fix mandoc warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ca1b471b50ee12d839b6b6284139b84aeafc6f00 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=ca1b471b50ee12d839b6b6284139b84aeafc6f00 commit ca1b471b50ee12d839b6b6284139b84aeafc6f00 Author: Gordon Bergling AuthorDate: 2023-02-26 13:33:58 +0000 Commit: Gordon Bergling CommitDate: 2023-03-13 08:02:01 +0000 route.8: Fix mandoc warnings - skipping end of block that is not open: Oc - no blank before trailing delimiter - remove useless TN macros - remove commented out reference for esis(4) Differential Revision: https://reviews.freebsd.org/D38783 (cherry picked from commit 6dbfbe6e11a04f6e2ae893dbf46b059ab49eb517) --- sbin/route/route.8 | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index c893ae5ab4b3..5b6e13281447 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -134,7 +134,7 @@ The flush command has the syntax: .Bd -ragged -offset indent -compact .Nm .Op Fl n -.Cm flush Oc Oo Ar family Oc Op Fl fib Ar number +.Cm flush Oo Ar family Oc Op Fl fib Ar number .Ed .Pp If the @@ -228,10 +228,10 @@ is interpreted as .Fl host Li 128.32.0.130 ; .Fl net Li 128.32 is interpreted as -.Li 128.32.0.0; +.Li 128.32.0.0 ; .Fl net Li 128.32.130 is interpreted as -.Li 128.32.130.0; +.Li 128.32.130.0 ; and .Li 192.168.64/20 is interpreted as @@ -265,9 +265,7 @@ if the local or remote addresses change. The optional .Fl netmask modifier is intended -to achieve the effect of an -.Tn OSI -.Tn ESIS +to achieve the effect of an OSI ESIS redirect with the netmask option, or to manually add subnet routes with netmasks different from that of the implied network interface @@ -378,9 +376,7 @@ In a or .Cm add command where the destination and gateway are not sufficient to specify -the route (as in the -.Tn ISO -case where several interfaces may have the +the route (as in the ISO case where several interfaces may have the same address), the .Fl ifp or @@ -534,7 +530,6 @@ same route as the one being changed. The next-hop gateway should be reachable through a different route. .El .Sh SEE ALSO -.\".Xr esis 4 , .Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , From nobody Mon Mar 13 13:53:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZymc6LH5z3xkgd; Mon, 13 Mar 2023 13:53: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 4PZymc5X5Bz3tmq; Mon, 13 Mar 2023 13:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678715616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PGVbQhCMxYHB3Pyd/pRSYjfUT6+0B79oECarB104MZI=; b=Gms7FtHHhEHyE2ZbJpUUTvtK0vE2bPOYvzyARtA8Gaa/PFg0bu8Q+/vczY1XJeg3AxvZsB 7q3JyNp0duc7SQxoXU6r+VSFVxkw31Xk4NdxUEBqVt61KCgv9p0ymP8OQpBEndIXWPN6lu rOGSkA+wJIAlNzdk7t/yLoxuV+FcYj0SZLPPrDtaKcL0gCrRZ6N110/uIU+NB7kPPjh/jW exjAQS/EZSnnbtP8AjC05DKjWjDBRb1sR1VwIN2O5G+FMYpLGrmfio5bLm68cywkioqtyZ X/L8WxzGQPwZEYJmL1zfPRKGn1MVAFJXlbopsKGD98JPCdzlQzMn6TDwW9UXeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678715616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PGVbQhCMxYHB3Pyd/pRSYjfUT6+0B79oECarB104MZI=; b=x0BAQspIxjU/khmShoJk5CmpPAX2iGKB7uF7LQReoX/xZ6oRIvYWB/e+p7FP+G21/1tjlk BAdOYJwY56gE1VVVXQelvthSMtqiRyiL3Ux3n5evBPLGlQMDbb81w2yqOA8z4okEZIkoQB Bw02cOxV1HRjod9n/6zzq7kyGSVurxzXyW06hYVk0+Gu76GMmYP+F30QRcxdcHsRYNTTI9 ZKoUeX7E9KWifuc6jCMRqjRyB8V65F1gEbbK2S7Sa0sR+KWXnoHTPe1peQGAfAt0uvinj/ BIrILqdRnj5RL51NWA83jOrnmEXyzIwMXdETa/sNepDS35oUnvvQOo680PUuLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678715616; a=rsa-sha256; cv=none; b=DyipjP6DKyJtIuW2jDrVIWZ5QipFshNdecn8QwK5CUOyMDqdrVU/HrrRxdxqQvFMG5vKNq S8OO8vvDdyzFWfCWRyY3KQK0IyCMkN4OXbIych8FRi1yvZjxKpcjjb4VOENudyzCFwlH5n PsWfccAPoCjBMEhrhp2qvPDedjx/vFhiRP/uDuOBChlvGjNV2yowBoX3ZYQ3sd/HIX/2Ue Ce41htarAh9GgXjuZMYcgauNMxW2j9S6iiDa6KXNr8WhlGQZ16uLUconnzj63JRnhtKgyv jqnBZU4s/zgekzJihPqJFs8qOunXRVXCqjkY/HP9MBYJ5z6oCuxLRRaPHeM2pA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZymc4crNzw71; Mon, 13 Mar 2023 13:53: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 32DDraDT042853; Mon, 13 Mar 2023 13:53:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DDravY042851; Mon, 13 Mar 2023 13:53:36 GMT (envelope-from git) Date: Mon, 13 Mar 2023 13:53:36 GMT Message-Id: <202303131353.32DDravY042851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 359b91804001 - stable/13 - Add NAMESPACE MANAGEMENT into admin_opcode[]. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 359b91804001d33c5ae19851baff2aac6dcfdec0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=359b91804001d33c5ae19851baff2aac6dcfdec0 commit 359b91804001d33c5ae19851baff2aac6dcfdec0 Author: Alexander Motin AuthorDate: 2023-03-08 20:42:31 +0000 Commit: Alexander Motin CommitDate: 2023-03-13 13:52:51 +0000 Add NAMESPACE MANAGEMENT into admin_opcode[]. MFC after: 1 week (cherry picked from commit 49ebbdb264fe185a685dce846985b95f28320e3f) --- sys/dev/nvme/nvme_qpair.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index ad6c1be91c3f..3db29d01e884 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -62,6 +62,7 @@ static struct nvme_opcode_string admin_opcode[] = { { NVME_OPC_SET_FEATURES, "SET FEATURES" }, { NVME_OPC_GET_FEATURES, "GET FEATURES" }, { NVME_OPC_ASYNC_EVENT_REQUEST, "ASYNC EVENT REQUEST" }, + { NVME_OPC_NAMESPACE_MANAGEMENT, "NAMESPACE MANAGEMENT" }, { NVME_OPC_FIRMWARE_ACTIVATE, "FIRMWARE ACTIVATE" }, { NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD, "FIRMWARE IMAGE DOWNLOAD" }, { NVME_OPC_DEVICE_SELF_TEST, "DEVICE SELF-TEST" }, From nobody Mon Mar 13 13:53:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PZymd6mTwz3xl1j; Mon, 13 Mar 2023 13:53: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 4PZymd650mz3tL4; Mon, 13 Mar 2023 13:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678715617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eeJJyLycVDT13XdOZ6yii7af7HfhJ2lJ9mfXrWsQKrg=; b=AlwZN+D+qHetZliu2Sz3+5ps9JqCE70JLbAf3K6TvRpftvF0hyh/dFZ22grLLGdS92y0X5 a9L2j7MOUaGhptVXlqw7pgoDbfvDem6EHaq/FSFhlss6v91vmCuG/iaMenyfIeAYErCOII 7ZVJz/bQYx72Je9M+erWOfhlJ6amdBHpqEkk0aC0wkhSicqBr8VVbqR9xkuWC9gKRKBXZZ Ah7Ku+leJy0s8suXxupybvLw8d3ILGm6e0yWT5vnue/5JCN+Fk0LWe2DmRU2TBPyP6QyXa V8FPRlYStnDQWQQWvgnBm6Bli2RHwffG+G/IcvbNkaw8fZp0YS0XzLTK6mlZ4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678715617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eeJJyLycVDT13XdOZ6yii7af7HfhJ2lJ9mfXrWsQKrg=; b=oWPe2+GLOCSgp1+I8KPIaQ9nNhmKuSRriqKrSfERBRGmEBr8l2c76lg/sWjARuKJd2TiND +k46IOCsKXUCvvxqAusWTTxH+ec7P3m8ZkChUm3JNMfMcgw68jiIa8RbUKf8hl+4hVJFh9 K+BCvhDwbuOYfa0GhjCkEvNb04Eh1bYIfiIbpGKw1KquPCuN8IsV1kbthgVwEiraX5zT20 Usntq1P5O0Lf1mksw0yZzS9iWOj7ppmXh9nbrXNT6vKOFnwoa+zYkSWhiY60ZSq1Qg5g+c ZnLrRYo56e2yfWF+t20ZeB6F+hUJaI3kiit4KQSmzNvJ78M1I6FTuqZSXYFgMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678715617; a=rsa-sha256; cv=none; b=GUJ7OHeoO2aJYZthuNLroKkMt+8+i+4fZdXbDhvGUy3aLCAs9gfgdKjb7X7iSnaDDU7P4a qTsES/4bhNU+EIXsSxZsZp+QJibHYQGy/8F/iPF4Z1qvP5CvF+/TkTun1LcQjNr1e99m47 2KSLwHYLX7MkHM+SAzySpfp6QTSYwVI+Dj61tKPxUlAlzjsQhyJOK19tdozPzbmFiK2jse swI23B470ftkYnH+Ebsw9GSCY1ldSmRBb3oFl3lZ8BZw0PAiHWj7PbwtSgo0scOkQ5fa59 xcPy1XbIvp2BvSwhMVT/dKSnglTY4eEzOsXYzP97jXndwe9VPc9iNESrnDM1jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZymd5BfBzvpM; Mon, 13 Mar 2023 13:53: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 32DDrbNC042872; Mon, 13 Mar 2023 13:53:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DDrbom042871; Mon, 13 Mar 2023 13:53:37 GMT (envelope-from git) Date: Mon, 13 Mar 2023 13:53:37 GMT Message-Id: <202303131353.32DDrbom042871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: de0b02cb7b11 - stable/13 - nvmecontrol: Fix default ns create parameters. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: de0b02cb7b112947191af96dd34e7a95b760019c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=de0b02cb7b112947191af96dd34e7a95b760019c commit de0b02cb7b112947191af96dd34e7a95b760019c Author: Alexander Motin AuthorDate: 2023-03-09 15:19:00 +0000 Commit: Alexander Motin CommitDate: 2023-03-13 13:53:03 +0000 nvmecontrol: Fix default ns create parameters. Instead of passing 0xff's for all unset parameters, prefer reasonable defaults. It is much easier to use it this was without specs in hand. PR: 269912 (cherry picked from commit 20dc2c4d11ddaa980c491116b65c51ab522028e9) --- sbin/nvmecontrol/ns.c | 56 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/sbin/nvmecontrol/ns.c b/sbin/nvmecontrol/ns.c index 763c12aa11af..040918caf9c5 100644 --- a/sbin/nvmecontrol/ns.c +++ b/sbin/nvmecontrol/ns.c @@ -577,30 +577,48 @@ nscreate(const struct cmd *f, int argc, char *argv[]) NVME_CTRLR_DATA_OACS_NSMGMT_MASK) == 0) errx(EX_UNAVAILABLE, "controller does not support namespace management"); - /* Allow namespaces sharing if Multi-Path I/O is supported. */ - if (create_opt.nmic == NONE) { - create_opt.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << - NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; - } - memset(&nsdata, 0, sizeof(nsdata)); nsdata.nsze = create_opt.nsze; nsdata.ncap = create_opt.cap; - if (create_opt.flbas == NONE) - nsdata.flbas = ((create_opt.lbaf & NVME_NS_DATA_FLBAS_FORMAT_MASK) - << NVME_NS_DATA_FLBAS_FORMAT_SHIFT) | - ((create_opt.mset & NVME_NS_DATA_FLBAS_EXTENDED_MASK) - << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT); - else + if (create_opt.flbas != NONE) { nsdata.flbas = create_opt.flbas; - if (create_opt.dps == NONE) - nsdata.dps = ((create_opt.pi & NVME_NS_DATA_DPS_MD_START_MASK) - << NVME_NS_DATA_DPS_MD_START_SHIFT) | - ((create_opt.pil & NVME_NS_DATA_DPS_PIT_MASK) - << NVME_NS_DATA_DPS_PIT_SHIFT); - else + } else { + /* Default to the first format, whatever it is. */ + nsdata.flbas = 0; + if (create_opt.lbaf != NONE) { + nsdata.flbas |= (create_opt.lbaf & + NVME_NS_DATA_FLBAS_FORMAT_MASK) + << NVME_NS_DATA_FLBAS_FORMAT_SHIFT; + } + if (create_opt.mset != NONE) { + nsdata.flbas |= (create_opt.mset & + NVME_NS_DATA_FLBAS_EXTENDED_MASK) + << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT; + } + } + if (create_opt.dps != NONE) { nsdata.dps = create_opt.dps; - nsdata.nmic = create_opt.nmic; + } else { + /* Default to protection disabled. */ + nsdata.dps = 0; + if (create_opt.pi != NONE) { + nsdata.dps |= (create_opt.pi & + NVME_NS_DATA_DPS_MD_START_MASK) + << NVME_NS_DATA_DPS_MD_START_SHIFT; + } + if (create_opt.pil != NONE) { + nsdata.dps |= (create_opt.pil & + NVME_NS_DATA_DPS_PIT_MASK) + << NVME_NS_DATA_DPS_PIT_SHIFT; + } + } + if (create_opt.nmic != NONE) { + nsdata.nmic = create_opt.nmic; + } else { + /* Allow namespaces sharing if Multi-Path I/O is supported. */ + nsdata.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << + NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; + } nvme_namespace_data_swapbytes(&nsdata); memset(&pt, 0, sizeof(pt)); From nobody Mon Mar 13 15:53:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qp6WCSz3xsbJ; Mon, 13 Mar 2023 15:53: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 4Pb1Qp5tDlz47g7; Mon, 13 Mar 2023 15:53:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vp0bQqLuyZJSXEq+dECdZDis0hHhqpML63aOeyWvm3o=; b=tpvcs/D2OHI8WVcMJU6g9UiQ7M0UjR9hYNjYKp0t9Hd4wC167NgHeNsWosS8Nq01o+zrQ0 MsU34Yu+NcuG4LZ5RN9TCBydXOJ0+/DlLcInQ631rHA9ZrKACqdskDYhx/PtxMy8P0Mnds sZzyj6BKTw5u8QhZKtOMtq3QfiM3tjsA3s1vbSJZD37rGWeeWEtDu4ziNqA5th+XXeQ4Ua rgmAhSoi7d7ydlWEc+Q+QKthxsE/muZpXv3w01B+gciQ+w4cLjJU9qVHlwUdn21E91TlC7 u2gH5NAPlEtyBg+jzBzN6H/FK6CQeCGBPgmgcGtzfBsPsXD0lXo6j4xPASe+XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vp0bQqLuyZJSXEq+dECdZDis0hHhqpML63aOeyWvm3o=; b=nnczIXC5fwjb3oCVD6TJgRb33N7SAP0d0izr64EFFyC3pcEs8FQ160Bde2uxqGPc9hExsE 0XlTTMTMpSw8dc4xTJm/2/n4y7eaIQOyh468kkw5DCoZAVWPJyQ4qmLo2WWuJABN4gDCik ndbX0uaZWf5i8uG7bTLzLqa+sBHnGf2hB8K20nF8T/+9hqQzqcStWAKFFipxhwZyjBjn3x KmjXjbF/NctjJG07xYw9ho+r4vZp4D5Mc2suRv2kF55NPG7Inwiijc6slrKmU1Y01nhaXm tmLg7G1QoayxLFc4wKIzABNJIXtHCnyuvuEJOVZQqpZeeMWTlf8Nc/7cwOIASA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722802; a=rsa-sha256; cv=none; b=XYuJ4QvMK14Z9JUIqDdFZrWH+dk1Ck6tXeoy/MEo9SUnoRdek6ynOv4A1TEGQsPF3LBx0p 58oDZLrVj0RJONIriwGWVY72gbqbBp1Hbat4oxnjaHuQ4C0iGMiRLY2U+tHOZOEUpHPXAI ZUdzNPudsSqZ/QhT4UilCoEwY99j0imh9B2K5M29umBouypRLGg7ghIWOK4z71ub7i1P2t nzjRwGRcDBVRcO8VPI9af+R9oxhJpH+q0P4sF7Fwh72eSHBrH13s1wZRpuZNztbhafrUzL kZj3C3A/7wcXjg4IBzPvV+d1nkeS47kkNTJ/6sGK7jQTacqP8h6HFuOlC8pSsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qp4wn1z10DW; Mon, 13 Mar 2023 15:53: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 32DFrMvO039762; Mon, 13 Mar 2023 15:53:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrMxp039761; Mon, 13 Mar 2023 15:53:22 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:22 GMT Message-Id: <202303131553.32DFrMxp039761@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: db7f871eea7f - stable/13 - buf: Make buf_daemon_shutdown() a no-op after a panic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: db7f871eea7f29d2769e5bf67dc350d6b978b7ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=db7f871eea7f29d2769e5bf67dc350d6b978b7ba commit db7f871eea7f29d2769e5bf67dc350d6b978b7ba Author: Mark Johnston AuthorDate: 2023-03-01 15:07:56 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:15 +0000 buf: Make buf_daemon_shutdown() a no-op after a panic As in commit 9d7cc536e261a7, there is no need to do anything in this context. MFC after: 1 week (cherry picked from commit bcd8cd859e694bc4a4dfb6fdb8f55de3a96833b4) --- sys/kern/vfs_bio.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 98047f161077..174a6e0b556a 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -3406,6 +3406,9 @@ buf_daemon_shutdown(void *arg __unused, int howto __unused) { int error; + if (KERNEL_PANICKED()) + return; + mtx_lock(&bdlock); bd_shutdown = true; wakeup(&bd_request); From nobody Mon Mar 13 15:53:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qr0gSJz3xs6k; Mon, 13 Mar 2023 15:53: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 4Pb1Qr01Lhz47R9; Mon, 13 Mar 2023 15:53:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZKz/n54JfqHeEVUIAnM2uMT3wMBTHBUL1feorQw3W0w=; b=VIQN2pq1DUyKEsCMeUj9qWrEpPj37qxQrthul7bViyk1iA3GEcz9A/MOSclislGOvOPacS 8z2SIi71vM+Wu18oI/1l6aZJTosWeA4im5BK7Tze720Xtq39tFuEEnH1X2i0K0ewL0DtaN BI4mrejEyqVVCRiS0vm28f99uFt46MaTxmnV5oA/ttVXcpr5nVaTljzCkTW2IJTxMhx6UP 3TWV//tWD3Rr3l2UgBPlVMY5dx0rrlyiU7CQMNrkdnzMo66OyQQ568k3H97QWGtz+Y1yQK N3NY9cWY1RhuNA2WUxCppFeezzLdgZzT7L+IFCsegGWWIxv9nIj96xDXo/X6IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZKz/n54JfqHeEVUIAnM2uMT3wMBTHBUL1feorQw3W0w=; b=tFASZ+DbOSVnjjRslRfWBOnF0NjMF9G2qB5tvy2Bs6rU3HdVvt1TZ86z15m8iTKGpHZvtd MfcoqthHAwFDlwECk5a9C/tYRiKwBI8rnkZXGRMw4h3wUCKX4Njj81I32zMtWc3B0nrgMd R9Tr1uqAz4n29iU1Y59V32/AQ1P6+sK/jkq5Jgd7WH9PX6oYxrnMGhmwwD9x2w3J4Vz4PI ofjDPezShuv+Mr15GOiVKZoNy4WNeq1IfgyS7X+z0swtot1hKi7tDInOG7f4VDgXTsvZrc M2FXW5ucBNyKgLiF2jIpeh67JqY4+l6ta+7fR4s1Fl7LjI+BlPcb5OU/ttveRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722804; a=rsa-sha256; cv=none; b=YQ9YrEuFAkq48A5CA34CCMYuWlTDfHnVkPJe1MuMxvecrzUzRkDBQsyoZZhid1uAmUD4Kh mkezK9HD/yz9ea03HkcrCI+Q9asNyIcvaJzNaYR7agf4nsaxiLpKtZuEoDO5rYz86/Y33R 4cJPAGQlDyAUPoLU5Uu5CFW7KNFLfu3cqa2X0b4vkedCoX+uxJ1l/AtiXNCiwoLu/MQIgn RTVhFICzCjBJsBsl/ymdnJbvJdRNUO3bzBpUxm4qnFQdrzRyBYdTyowUMKKL5DrG4GMmDS 3p/2PYNhWyyOwOI/YjTffYSGMB3SJs1Ab3PmosHxzr9wYyXsuUvhaiAAOD6lLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qq65x7z10DX; Mon, 13 Mar 2023 15:53: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 32DFrNve039785; Mon, 13 Mar 2023 15:53:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrNB5039784; Mon, 13 Mar 2023 15:53:23 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:23 GMT Message-Id: <202303131553.32DFrNB5039784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: ee429a15e499 - stable/13 - posixshm tests: Correct page size index checks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ee429a15e49933e51d9c00a7e063815f59b4cc45 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ee429a15e49933e51d9c00a7e063815f59b4cc45 commit ee429a15e49933e51d9c00a7e063815f59b4cc45 Author: Mark Johnston AuthorDate: 2023-03-03 16:16:21 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 posixshm tests: Correct page size index checks MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. (cherry picked from commit 560f9cd5e1e36ba725f3c677d7b8e514af9f3a85) --- tests/sys/posixshm/posixshm_test.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/sys/posixshm/posixshm_test.c b/tests/sys/posixshm/posixshm_test.c index f0784f7b8769..50cba2cf7816 100644 --- a/tests/sys/posixshm/posixshm_test.c +++ b/tests/sys/posixshm/posixshm_test.c @@ -1092,7 +1092,8 @@ ATF_TC_BODY(largepage_basic, tc) for (size_t p = 0; p < ps[i] / PAGE_SIZE; p++) { ATF_REQUIRE_MSG((vec[p] & MINCORE_INCORE) != 0, "page %zu is not mapped", p); - ATF_REQUIRE_MSG((vec[p] & MINCORE_PSIND(i)) != 0, + ATF_REQUIRE_MSG((vec[p] & MINCORE_SUPER) == + MINCORE_PSIND(i), "page %zu is not in a %zu-byte superpage", p, ps[i]); } @@ -1253,7 +1254,8 @@ ATF_TC_BODY(largepage_mmap, tc) for (size_t p = 0; p < ps[i] / PAGE_SIZE; p++) { ATF_REQUIRE_MSG((vec[p] & MINCORE_INCORE) != 0, "page %zu is not resident", p); - ATF_REQUIRE_MSG((vec[p] & MINCORE_PSIND(i)) != 0, + ATF_REQUIRE_MSG((vec[p] & MINCORE_SUPER) == + MINCORE_PSIND(i), "page %zu is not resident", p); } @@ -1588,7 +1590,7 @@ ATF_TC_BODY(largepage_minherit, tc) *(volatile char *)addr = 0; if (mincore(addr, PAGE_SIZE, &v) != 0) _exit(1); - if ((v & MINCORE_PSIND(i)) == 0) + if ((v & MINCORE_SUPER) == 0) _exit(2); _exit(0); } @@ -1737,7 +1739,7 @@ ATF_TC_BODY(largepage_reopen, tc) ATF_REQUIRE(vec != NULL); ATF_REQUIRE_MSG(mincore(addr, ps[psind], vec) == 0, "mincore failed; error=%d", errno); - ATF_REQUIRE_MSG((vec[0] & MINCORE_PSIND(psind)) != 0, + ATF_REQUIRE_MSG((vec[0] & MINCORE_SUPER) == MINCORE_PSIND(psind), "page not mapped into a %zu-byte superpage", ps[psind]); ATF_REQUIRE_MSG(shm_unlink(test_path) == 0, From nobody Mon Mar 13 15:53:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qs1KWsz3xsMs; Mon, 13 Mar 2023 15:53: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 4Pb1Qs0qvdz480P; Mon, 13 Mar 2023 15:53:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GuIGvxYuqiEg7z9wzl6x5G+vIp5Hho7411UlQjGu6Vg=; b=S+zqRQ+IwA3DfY1ANvPsVbohhA9uDkr+LqVLotph6D4zmLcdLpp9QMrypyaXTcd3vfjd9b SFxL+AtU6THYN0DlhXRX45MVerr3o6oZNNltvaV8m5R3PHPPhctlY3AXm2CYcG5uzJcs+3 MQ5zdwDfDVc9f5W/0RRpM7tRTDnp5eASpAbZl+T1KZw/IA5U/gyezOSep5Q1v4dbyeSPcL VGzRiaTJpt88W1R/KFgnAh6KX9HJn+AD2/geDa9p7yMime1iYKgNCHe37u85cqTuq6c1ha QgcwzIv3eI+q2cUchpVG4LRrAOQIFKjDgMGK4OK6wj3CB03fnBzAAGEZS5wcpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GuIGvxYuqiEg7z9wzl6x5G+vIp5Hho7411UlQjGu6Vg=; b=Oet/jjjhO8kVL5MgvE7emafFi/++Lx8U9yJh/DvdBoxaexmZ9XHg6BtB6PjZdAxDNWlSZx HqNqrR5fnKwG+9gx9QxEJ7+ZQA3alVBdqWU6Z0EpQ8GwTUr4KMzZluFh72dDOtIYXXHl9R oktpx9lGRsQod7o4ldZNfa16T7kAwN6Wto1pthb3up38VkrXUlQlDbtZnrPaptV40Oaxp9 1O1u78Qc7mW+eE9e6xLLOiHYlKMe39J6xROIndXGOmnYQ42QlBwLws/E6BXHyzu4Aopn6I gA0awH0vtunpGiHyD2v7n9bT6p99tKeDg8GqXtGKr/i8eI6fhBmJeJcb4xU5qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722805; a=rsa-sha256; cv=none; b=Vh6S2XEtj3IxN1uGml01aVM7Mx2Mo7cUQKs5XxKXww4wlu2Py3iWOU9v8bWfFaFM+arPKk H3JepL9CRcHNvSe/6FojCqj8girrl4o45MvW1J6n+C9CAs0LiAIEMBfY7NK+bnsH2GmOEN LCPGGxx8sAmNUqPYsc3hDTFI9QDFAy4Zu1A5zTylHswrg2ibn2YQQY9EgMySZIodfhgZCI 9cqzzEbG3j4QV5Dr0hX1zRC0qzxzW32sVo+d7jdDZvmoP7c0TFg33z2XIy5BaEYRpm2rDL uEq8BFbFdmdTJHjkgiDBaBSillAxzVLHLpdtD5IqlY35re/Q97UowbabJUNOBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qr736mz10DY; Mon, 13 Mar 2023 15:53: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 32DFrODU039804; Mon, 13 Mar 2023 15:53:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrOOl039803; Mon, 13 Mar 2023 15:53:24 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:24 GMT Message-Id: <202303131553.32DFrOOl039803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: cc7b54d6ec76 - stable/13 - bhyveload: Address compiler warnings and bump WARNS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc7b54d6ec76fba7b743ed03de8a0897687e34cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cc7b54d6ec76fba7b743ed03de8a0897687e34cd commit cc7b54d6ec76fba7b743ed03de8a0897687e34cd Author: Mark Johnston AuthorDate: 2023-03-03 14:52:17 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 bhyveload: Address compiler warnings and bump WARNS Mostly sprinkle __unused. Also duplicate strings passed to addenv() so that constant string literals can be passed. No functional change intended. Reviewed by: corvink, rew, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38840 (cherry picked from commit ad43dd69cec7b568846b45ff990da6dc86e58467) --- usr.sbin/bhyveload/Makefile | 2 -- usr.sbin/bhyveload/bhyveload.c | 68 ++++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/usr.sbin/bhyveload/Makefile b/usr.sbin/bhyveload/Makefile index 48bed64c26e4..59672cca47b5 100644 --- a/usr.sbin/bhyveload/Makefile +++ b/usr.sbin/bhyveload/Makefile @@ -7,8 +7,6 @@ PACKAGE= bhyve LIBADD= vmmapi -WARNS?= 3 - CFLAGS+=-I${SRCTOP}/stand/userboot .include diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 1a24b5f0044a..09a9653ece34 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -118,7 +118,7 @@ static void cb_exit(void *arg, int v); */ static void -cb_putc(void *arg, int ch) +cb_putc(void *arg __unused, int ch) { char c = ch; @@ -126,7 +126,7 @@ cb_putc(void *arg, int ch) } static int -cb_getc(void *arg) +cb_getc(void *arg __unused) { char c; @@ -136,7 +136,7 @@ cb_getc(void *arg) } static int -cb_poll(void *arg) +cb_poll(void *arg __unused) { int n; @@ -160,7 +160,7 @@ struct cb_file { }; static int -cb_open(void *arg, const char *filename, void **hp) +cb_open(void *arg __unused, const char *filename, void **hp) { struct cb_file *cf; char path[PATH_MAX]; @@ -202,7 +202,7 @@ out: } static int -cb_close(void *arg, void *h) +cb_close(void *arg __unused, void *h) { struct cb_file *cf = h; @@ -216,7 +216,7 @@ cb_close(void *arg, void *h) } static int -cb_isdir(void *arg, void *h) +cb_isdir(void *arg __unused, void *h) { struct cb_file *cf = h; @@ -224,7 +224,7 @@ cb_isdir(void *arg, void *h) } static int -cb_read(void *arg, void *h, void *buf, size_t size, size_t *resid) +cb_read(void *arg __unused, void *h, void *buf, size_t size, size_t *resid) { struct cb_file *cf = h; ssize_t sz; @@ -239,8 +239,8 @@ cb_read(void *arg, void *h, void *buf, size_t size, size_t *resid) } static int -cb_readdir(void *arg, void *h, uint32_t *fileno_return, uint8_t *type_return, - size_t *namelen_return, char *name) +cb_readdir(void *arg __unused, void *h, uint32_t *fileno_return, + uint8_t *type_return, size_t *namelen_return, char *name) { struct cb_file *cf = h; struct dirent *dp; @@ -266,7 +266,7 @@ cb_readdir(void *arg, void *h, uint32_t *fileno_return, uint8_t *type_return, } static int -cb_seek(void *arg, void *h, uint64_t offset, int whence) +cb_seek(void *arg __unused, void *h, uint64_t offset, int whence) { struct cb_file *cf = h; @@ -278,7 +278,7 @@ cb_seek(void *arg, void *h, uint64_t offset, int whence) } static int -cb_stat(void *arg, void *h, struct stat *sbp) +cb_stat(void *arg __unused, void *h, struct stat *sbp) { struct cb_file *cf = h; @@ -299,7 +299,7 @@ cb_stat(void *arg, void *h, struct stat *sbp) */ static int -cb_diskread(void *arg, int unit, uint64_t from, void *to, size_t size, +cb_diskread(void *arg __unused, int unit, uint64_t from, void *to, size_t size, size_t *resid) { ssize_t n; @@ -314,8 +314,8 @@ cb_diskread(void *arg, int unit, uint64_t from, void *to, size_t size, } static int -cb_diskwrite(void *arg, int unit, uint64_t offset, void *src, size_t size, - size_t *resid) +cb_diskwrite(void *arg __unused, int unit, uint64_t offset, void *src, + size_t size, size_t *resid) { ssize_t n; @@ -329,7 +329,7 @@ cb_diskwrite(void *arg, int unit, uint64_t offset, void *src, size_t size, } static int -cb_diskioctl(void *arg, int unit, u_long cmd, void *data) +cb_diskioctl(void *arg __unused, int unit, u_long cmd, void *data) { struct stat sb; @@ -359,7 +359,7 @@ cb_diskioctl(void *arg, int unit, u_long cmd, void *data) * Guest virtual machine i/o callbacks */ static int -cb_copyin(void *arg, const void *from, uint64_t to, size_t size) +cb_copyin(void *arg __unused, const void *from, uint64_t to, size_t size) { char *ptr; @@ -374,7 +374,7 @@ cb_copyin(void *arg, const void *from, uint64_t to, size_t size) } static int -cb_copyout(void *arg, uint64_t from, void *to, size_t size) +cb_copyout(void *arg __unused, uint64_t from, void *to, size_t size) { char *ptr; @@ -389,7 +389,7 @@ cb_copyout(void *arg, uint64_t from, void *to, size_t size) } static void -cb_setreg(void *arg, int r, uint64_t v) +cb_setreg(void *arg __unused, int r, uint64_t v) { int error; enum vm_reg_name vmreg; @@ -418,7 +418,7 @@ cb_setreg(void *arg, int r, uint64_t v) } static void -cb_setmsr(void *arg, int r, uint64_t v) +cb_setmsr(void *arg __unused, int r, uint64_t v) { int error; enum vm_reg_name vmreg; @@ -446,7 +446,7 @@ cb_setmsr(void *arg, int r, uint64_t v) } static void -cb_setcr(void *arg, int r, uint64_t v) +cb_setcr(void *arg __unused, int r, uint64_t v) { int error; enum vm_reg_name vmreg; @@ -481,7 +481,7 @@ cb_setcr(void *arg, int r, uint64_t v) } static void -cb_setgdt(void *arg, uint64_t base, size_t size) +cb_setgdt(void *arg __unused, uint64_t base, size_t size) { int error; @@ -495,7 +495,7 @@ cb_setgdt(void *arg, uint64_t base, size_t size) } static void -cb_exec(void *arg, uint64_t rip) +cb_exec(void *arg __unused, uint64_t rip) { int error; @@ -518,14 +518,14 @@ cb_exec(void *arg, uint64_t rip) */ static void -cb_delay(void *arg, int usec) +cb_delay(void *arg __unused, int usec) { usleep(usec); } static void -cb_exit(void *arg, int v) +cb_exit(void *arg __unused, int v) { tcsetattr(consout_fd, TCSAFLUSH, &oldterm); @@ -533,7 +533,7 @@ cb_exit(void *arg, int v) } static void -cb_getmem(void *arg, uint64_t *ret_lowmem, uint64_t *ret_highmem) +cb_getmem(void *arg __unused, uint64_t *ret_lowmem, uint64_t *ret_highmem) { *ret_lowmem = vm_get_lowmem_size(ctx); @@ -548,17 +548,21 @@ struct env { static SLIST_HEAD(envhead, env) envhead; static void -addenv(char *str) +addenv(const char *str) { struct env *env; env = malloc(sizeof(struct env)); - env->str = str; + if (env == NULL) + err(EX_OSERR, "malloc"); + env->str = strdup(str); + if (env->str == NULL) + err(EX_OSERR, "strdup"); SLIST_INSERT_HEAD(&envhead, env, next); } static char * -cb_getenv(void *arg, int num) +cb_getenv(void *arg __unused, int num) { int i; struct env *env; @@ -574,22 +578,22 @@ cb_getenv(void *arg, int num) } static int -cb_vm_set_register(void *arg, int vcpu, int reg, uint64_t val) +cb_vm_set_register(void *arg __unused, int vcpu, int reg, uint64_t val) { return (vm_set_register(ctx, vcpu, reg, val)); } static int -cb_vm_set_desc(void *arg, int vcpu, int reg, uint64_t base, u_int limit, - u_int access) +cb_vm_set_desc(void *arg __unused, int vcpu, int reg, uint64_t base, + u_int limit, u_int access) { return (vm_set_desc(ctx, vcpu, reg, base, limit, access)); } static void -cb_swap_interpreter(void *arg, const char *interp_req) +cb_swap_interpreter(void *arg __unused, const char *interp_req) { /* From nobody Mon Mar 13 15:53:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qt2YvPz3xsMv; Mon, 13 Mar 2023 15:53: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 4Pb1Qt1jR7z47mk; Mon, 13 Mar 2023 15:53:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IJ66CWuGJTrW78xf8Jxckyge2v+hVcsexgWCVBRBzow=; b=wjAYYO6Ujdk5Fe0vhddJiXcxiWakYwwGawHwWofpvUQaeeRJHlKf1gjB4Dmagb6JgyVqTz J4n20EBJtyWckEDz98qNOnog+B7h8HP/d6IyQd6hxbZivgtsIxTycjeKNwYJhp6nBjLB+l ik5D/c0i6i8lCpuFrn6sI6OwuebTSOyTLn7yuK2+FDJ1JdKxp+u7V6AW42aOMCmhP+m6ZW ZO8ufg0+0KnQJQNAvOokVKtcTdpo/hzF0KdghWDcSkct3xbtd3bfnk7jiH/jaeThGK8B+H b1PEPZ60fsj6c9YSdMwxkQcML3zNz+wEAZJu8iuwrYDtH56vzMpK20ao+f7otQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IJ66CWuGJTrW78xf8Jxckyge2v+hVcsexgWCVBRBzow=; b=tqgkKoCeNV0EC9uiGMVXgmp6jd1iNNhU+NfU3eE9F77OFpxxt5TmSYQaeqARaSIebdOCKr GhdvVIdYcFyDgk1YGq+C2ldH3nT13sGkBrio2bfE1PcTeK/XuZLmz65h4Vb8bQ9nRXJavi n1lCzSZVD0ysqt5ysfevEKmbTVztabi4pWXLjPzYFYLmq0IPDjyH97yW2tb5riJgSSarBA jJqQCqeUDGaEZR3dnTG0dYSamUOD3SQY0xtVMw2s639SUYYnmdC0zy+OsiAcsj/52h1wbN d2lRhU+pMZHBkpxRoHODGg8z9ZgSIytgO8MSRrKx8dm8d8t8cT+O1fkbyvDRWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722806; a=rsa-sha256; cv=none; b=WXPFjbeEbHBQPvK1nO/XmH7IYMLD+CPBawWzyLY1mytSfmh8Az053+d8NDHDRoTh40TTKS 1JXhGjXJUI5XmiF3sIbtt/Jsq58JLsUmIqiKoiubBxs6EsU1/WVjlQkw3o4OyQyTlAgL0g Rubd33s2rwYYqALgfJ/mgG6pB/OQLKVX18lxOiq3wqXCYHmbJn41tPgpClqehBnuKZnqsq 6aUSII/NlckgRq+klU3tBcAqQVUj2YjIu0UQyRkeGpvEgj8yNurzudd61J8dquO9G089Gl uQ/Q+O5GujttKZewL+8QAzjby1+uQz8Sy2JnBR4KAgUWxNVRIkdIBmgsN/wHXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qt0lBQz10DZ; Mon, 13 Mar 2023 15:53: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 32DFrQuj039823; Mon, 13 Mar 2023 15:53:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrQJH039822; Mon, 13 Mar 2023 15:53:26 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:26 GMT Message-Id: <202303131553.32DFrQJH039822@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 054f0a64547f - stable/13 - deadlkres: Make parameters settable with tunables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 054f0a64547fc0d88deecc489c2d9491cc624ed5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=054f0a64547fc0d88deecc489c2d9491cc624ed5 commit 054f0a64547fc0d88deecc489c2d9491cc624ed5 Author: Mark Johnston AuthorDate: 2023-03-03 16:16:16 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 deadlkres: Make parameters settable with tunables MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. (cherry picked from commit 831601773e5ab58b9485c1b111eb8c7c7343abf6) --- sys/kern/kern_clock.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c index e03245a6c492..8ee42a92aee9 100644 --- a/sys/kern/kern_clock.c +++ b/sys/kern/kern_clock.c @@ -304,13 +304,13 @@ SYSINIT(deadlkres, SI_SUB_CLOCKS, SI_ORDER_ANY, kthread_start, &deadlkres_kd); static SYSCTL_NODE(_debug, OID_AUTO, deadlkres, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Deadlock resolver"); -SYSCTL_INT(_debug_deadlkres, OID_AUTO, slptime_threshold, CTLFLAG_RW, +SYSCTL_INT(_debug_deadlkres, OID_AUTO, slptime_threshold, CTLFLAG_RWTUN, &slptime_threshold, 0, "Number of seconds within is valid to sleep on a sleepqueue"); -SYSCTL_INT(_debug_deadlkres, OID_AUTO, blktime_threshold, CTLFLAG_RW, +SYSCTL_INT(_debug_deadlkres, OID_AUTO, blktime_threshold, CTLFLAG_RWTUN, &blktime_threshold, 0, "Number of seconds within is valid to block on a turnstile"); -SYSCTL_INT(_debug_deadlkres, OID_AUTO, sleepfreq, CTLFLAG_RW, &sleepfreq, 0, +SYSCTL_INT(_debug_deadlkres, OID_AUTO, sleepfreq, CTLFLAG_RWTUN, &sleepfreq, 0, "Number of seconds between any deadlock resolver thread run"); #endif /* DEADLKRES */ From nobody Mon Mar 13 15:53:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qv5knXz3xsbR; Mon, 13 Mar 2023 15:53: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 4Pb1Qv2DN3z47xl; Mon, 13 Mar 2023 15:53:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PuS6LC3VNSDn16J0TgpiW9r+bCeVD0XfZSqdONzJfsk=; b=mDfoh2gCmqzpcsxpHxyVZBv4iHsrM2Je6dzACRHIID1FcJfiQRAQJ5P8rhzfJB5Z0/zAdH ZHgen/nLNbgr5Maa92rX1wlH+bDSCR3wK4/bnmSoKevWQwyTDGmoN0fIUwL+oILSf8+u23 P4qvL4DIt/UL0MTmCDiucA2KukZnlTqEpkmAovPyOswKQChECH+3a9iUC25jHcCxaoKXiP vgZwg7ZpleGF1CUf5EPYAjubWDotdGW+QMNQGVE+R3Mo3n+A7pyPesM7udV3VPrb8WLegO LMoBcTEvZl7a0C0zD12Jx4yr2UsuPxXADST105agT18thPsOoR+5iKfSVJSj7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PuS6LC3VNSDn16J0TgpiW9r+bCeVD0XfZSqdONzJfsk=; b=U8d/RiZBNRsw7VUIzuBLbICCbuEBuKInhiZseRhNxHA8DPt+HbH9u2GgU8eKztYE+3+7Dq rFO08v0dONShmZoWGAA8C3UvAmQJlk3wvpCGxrYea6+bNttDXwltu7DLH8aIKvKIvMgk+B oLsmOSR1enhxmYVFTNJ2ANgk0UHOVydimJH4HHZ8Pk8uc1ewd1TGjpu7h/6SQ4noCDfMcL n0V515+r97DzCae6wwQ/utufiIAfeQa7jlADNH2xj9Ovl4TrXwo2QK9FzUve+msHoZpvSV 5jfoWHInqEkH6L1k2jcbZnifFG7Uzzai3aCaEjXa77TqQRJ3YxrWruXKXLSM5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722807; a=rsa-sha256; cv=none; b=qskst+tAwxbXm/e6b966AK1yKLHL8lL8IOK2Mb2SWUDeta+OOhdQzbGDImHCZO4qBDsQlh HJrh88I3t7cam4CIPiog7BlNeOWcbQUauxXirSEhIJOC9NfE57FAr12cFVJllAK+0w9E/q 1fear/BoYWExMiIw7HUIXwWS5w5YPzIvLOfHBYyg+EMEGL8a+5HgMjexRNIkcr1uReF6Ce LOJgR+Npfhcb2s/RMpmcKJ6StRMdsO5Yqkhgz9QRqT4MhggI2eyvn/NjaWtxcn4tXYPGd0 9trU2xhyQJglPyz3QlNFl59adnhEzM5FLteJfaGmmv/vtpAtWszPnBAAQe+pJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qv1KxHz10GZ; Mon, 13 Mar 2023 15:53: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 32DFrRKq039842; Mon, 13 Mar 2023 15:53:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrRa5039841; Mon, 13 Mar 2023 15:53:27 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:27 GMT Message-Id: <202303131553.32DFrRa5039841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 25766cfd83b2 - stable/13 - bhyvectl: Address compiler warnings and bump WARNS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 25766cfd83b29c5a32e7c02501adabe754eaa255 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=25766cfd83b29c5a32e7c02501adabe754eaa255 commit 25766cfd83b29c5a32e7c02501adabe754eaa255 Author: Mark Johnston AuthorDate: 2023-03-03 14:32:48 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 bhyvectl: Address compiler warnings and bump WARNS Avoid unaligned accesses in cpu_vendor_intel() and address a few other nits. No functional change intended. Reviewed by: corvink, rew, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38839 (cherry picked from commit 3f5d875a27318a909f23a2b7463c4b2d963085df) --- usr.sbin/bhyvectl/Makefile | 2 -- usr.sbin/bhyvectl/bhyvectl.c | 30 ++++++++++++------------------ 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/usr.sbin/bhyvectl/Makefile b/usr.sbin/bhyvectl/Makefile index c004d603c8db..5b1c04e8ac88 100644 --- a/usr.sbin/bhyvectl/Makefile +++ b/usr.sbin/bhyvectl/Makefile @@ -12,8 +12,6 @@ MAN= bhyvectl.8 LIBADD= vmmapi util -WARNS?= 3 - CFLAGS+= -I${SRCTOP}/sys/amd64/vmm .if ${MK_BHYVE_SNAPSHOT} != "no" diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 14ab6c7ad33e..cab1e6d72c56 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -294,7 +294,7 @@ static int set_desc_ldtr, get_desc_ldtr; static int set_cs, set_ds, set_es, set_fs, set_gs, set_ss, set_tr, set_ldtr; static int get_cs, get_ds, get_es, get_fs, get_gs, get_ss, get_tr, get_ldtr; static int set_x2apic_state, get_x2apic_state; -enum x2apic_state x2apic_state; +static enum x2apic_state x2apic_state; static int unassign_pptdev, bus, slot, func; static int run; static int get_cpu_topology; @@ -316,7 +316,6 @@ static int get_pinbased_ctls, get_procbased_ctls, get_procbased_ctls2; static int get_eptp, get_io_bitmap, get_tsc_offset; static int get_vmcs_entry_interruption_info; static int get_vmcs_interruptibility; -uint32_t vmcs_entry_interruption_info; static int get_vmcs_gpa, get_vmcs_gla; static int get_exception_bitmap; static int get_cr0_mask, get_cr0_shadow; @@ -497,8 +496,8 @@ dump_intel_msr_pm(const char *bitmap, int vcpu) static int dump_msr_bitmap(int vcpu, uint64_t addr, bool cpu_intel) { + char *bitmap; int error, fd, map_size; - const char *bitmap; error = -1; bitmap = MAP_FAILED; @@ -648,25 +647,20 @@ print_intinfo(const char *banner, uint64_t info) static bool cpu_vendor_intel(void) { - u_int regs[4]; - char cpu_vendor[13]; + u_int regs[4], v[3]; do_cpuid(0, regs); - ((u_int *)&cpu_vendor)[0] = regs[1]; - ((u_int *)&cpu_vendor)[1] = regs[3]; - ((u_int *)&cpu_vendor)[2] = regs[2]; - cpu_vendor[12] = '\0'; + v[0] = regs[1]; + v[1] = regs[3]; + v[2] = regs[2]; - if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { - return (false); - } else if (strcmp(cpu_vendor, "HygonGenuine") == 0) { - return (false); - } else if (strcmp(cpu_vendor, "GenuineIntel") == 0) { + if (memcmp(v, "GenuineIntel", sizeof(v)) == 0) return (true); - } else { - fprintf(stderr, "Unknown cpu vendor \"%s\"\n", cpu_vendor); - exit(1); - } + if (memcmp(v, "AuthenticAMD", sizeof(v)) == 0 || + memcmp(v, "HygonGenuine", sizeof(v)) == 0) + return (false); + fprintf(stderr, "Unknown cpu vendor \"%s\"\n", (const char *)v); + exit(1); } static int From nobody Mon Mar 13 15:53:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qw3X1Yz3xscF; Mon, 13 Mar 2023 15:53: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 4Pb1Qw30JRz484X; Mon, 13 Mar 2023 15:53:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722808; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPTJjMiDtyaH7wBzcziudKgX8vELppY68E2JefbG9pc=; b=tdsw15BkZXeLpOtdKF9GAdHWN6lATru6CdjB43Or5wBTR0nSb3wnVDnCedYEnKmdQMMswB hOdA7bjAcRfUaeZN/mUECjJY1qJbyqBAatfMgMAg+e3dK9T9oRlq9tSWkEL7yvBCodeLVB zkQouqFCSMZaODTcEXffaHgwHImaV9p1Qrkt5JUsN3xyGPVsRGxrdZ2JuXiUjrPtVzVILe I0L2RBVUoDY6JAXvItpt+32mtNaWpduhAqG6WH5xaneS1toM0RI/qWNYq1Auz1FAglyiNL x617j92c2UFNp1tLevI9cWBbSHLFPq8BeXBncYKrEz66Ly2zJS4xbAB8U6Yd3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722808; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPTJjMiDtyaH7wBzcziudKgX8vELppY68E2JefbG9pc=; b=bnedotS/Bl4LFAPVtcvl97nx8YVLaA5ngvZuGU2zBPmRLqZKON+qhpoNgszKAY1acvRZk5 CeD6hOZ/Rv3wEAEQx7nXexKz2YzdXhdg/ypOb2c0qxqQOYAxn4XeIZeEe1nj3E5yhWg2A6 lIKjPIgjdzIKVppvNCaqCcihsYypdmg/MCLRJblUCUNQSaUk/HpNNAijhlBTaSnJeTW4VL grj5MDm2szs38Bay+O1pqamRk30UMaGQQrMKBtQqB2vGCoAXE/1GmxCBX2ltwGUxICyESP ypjzEuu1bcuaLRl5N/i9VDypIoFxW66fnX2AdNrIXO9saCueGXbS7mawhkOyGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722808; a=rsa-sha256; cv=none; b=Oqd99kg5zZc7nSnBjSXywDNm3nhqC0iK1ZnDECrwOcWTtBJLNBLB3naGCFSpxHUA7khIaw FaTaSEQSN8NsNyVGO8ep1PKPwGjDo7EdEo+YqN8/WSDUg2wo3sD9Py7phFmAg8dDADxFoI /2gAUu5myVvPdtucVaYiUBd74Pazzlmm+Bm6mc9bsq8EUQ8ooEpkgRXYU/yWZHh1U7PFcL nv6yen9T4cZiL+j+pIjYYfk0OqzUUHFOHNT7Bu17xyiHjS8/e4DCjJWSoAdObf+gg4is1Z 1htfGsf7VDN+1Z+kMDxIO/WG36SFcjjI3EJEtBo/oyY1QY8Ay1JyK+Tt0BjYfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qw23thzytT; Mon, 13 Mar 2023 15:53: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 32DFrSxs039868; Mon, 13 Mar 2023 15:53:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrSlT039867; Mon, 13 Mar 2023 15:53:28 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:28 GMT Message-Id: <202303131553.32DFrSlT039867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 25e0844eda66 - stable/13 - netmap: Fix compiler warnings in tools List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 25e0844eda663f82f270b959df9e0935982044d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=25e0844eda663f82f270b959df9e0935982044d3 commit 25e0844eda663f82f270b959df9e0935982044d3 Author: Mark Johnston AuthorDate: 2023-02-27 18:41:58 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 netmap: Fix compiler warnings in tools - Remove write-only variables, or hide them in cases where their use is conditional or commented out. - Check for errors from cmd_apply() in nmreplay. - Use ANSI C definitions. Reviewed by: vmaffione MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38752 (cherry picked from commit 538c66eabda55afccebc25fb66548115e5ed8151) --- tools/tools/netmap/lb.c | 5 ++--- tools/tools/netmap/nmreplay.c | 2 ++ tools/tools/netmap/pkt-gen.c | 12 +++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/tools/netmap/lb.c b/tools/tools/netmap/lb.c index 778360d9ed6a..66d7aab8f6e1 100644 --- a/tools/tools/netmap/lb.c +++ b/tools/tools/netmap/lb.c @@ -388,7 +388,8 @@ static void sigint_h(int sig) signal(SIGINT, SIG_DFL); } -static void usage() +static void +usage(void) { printf("usage: lb [options]\n"); printf("where options are:\n"); @@ -617,7 +618,6 @@ int main(int argc, char **argv) int ch; uint32_t i; int rv; - unsigned int iter = 0; int poll_timeout = 10; /* default */ glob_arg.ifname[0] = '\0'; @@ -897,7 +897,6 @@ run: while (!do_abort) { u_int polli = 0; - iter++; for (i = 0; i < npipes; ++i) { struct netmap_ring *ring = ports[i].ring; diff --git a/tools/tools/netmap/nmreplay.c b/tools/tools/netmap/nmreplay.c index e0a9e2146119..390877677403 100644 --- a/tools/tools/netmap/nmreplay.c +++ b/tools/tools/netmap/nmreplay.c @@ -1249,6 +1249,8 @@ main(int argc, char **argv) err += cmd_apply(delay_cfg, d[i], qs, &qs->c_delay); err += cmd_apply(bw_cfg, b[i], qs, &qs->c_bw); err += cmd_apply(loss_cfg, l[i], qs, &qs->c_loss); + if (err != 0) + exit(1); } pthread_create(&bp[0].cons_tid, NULL, nmreplay_main, (void*)&bp[0]); diff --git a/tools/tools/netmap/pkt-gen.c b/tools/tools/netmap/pkt-gen.c index c6cf78ad85ee..b06fef05579d 100644 --- a/tools/tools/netmap/pkt-gen.c +++ b/tools/tools/netmap/pkt-gen.c @@ -1306,7 +1306,7 @@ ping_body(void *data) struct targ *targ = (struct targ *) data; struct pollfd pfd = { .fd = targ->fd, .events = POLLIN }; struct netmap_if *nifp = targ->nmd->nifp; - int i, m, rx = 0; + int i, m; void *frame; int size; struct timespec ts, now, last_print; @@ -1399,7 +1399,9 @@ ping_body(void *data) } #endif /* BUSYWAIT */ /* see what we got back */ - rx = 0; +#ifdef BUSYWAIT + int rx = 0; +#endif for (i = targ->nmd->first_rx_ring; i <= targ->nmd->last_rx_ring; i++) { ring = NETMAP_RXRING(nifp, i); @@ -1434,7 +1436,9 @@ ping_body(void *data) buckets[pos]++; /* now store it in a bucket */ ring->head = ring->cur = nm_ring_next(ring, ring->head); +#ifdef BUSYWAIT rx++; +#endif } } //D("tx %d rx %d", sent, rx); @@ -1502,7 +1506,7 @@ pong_body(void *data) struct pollfd pfd = { .fd = targ->fd, .events = POLLIN }; struct netmap_if *nifp = targ->nmd->nifp; struct netmap_ring *txring, *rxring; - int i, rx = 0; + int i; uint64_t sent = 0, n = targ->g->npackets; if (targ->g->nthreads > 1) { @@ -1544,7 +1548,6 @@ pong_body(void *data) src = NETMAP_BUF(rxring, slot->buf_idx); //D("got pkt %p of size %d", src, slot->len); rxring->head = rxring->cur = nm_ring_next(rxring, head); - rx++; if (txavail == 0) continue; dst = NETMAP_BUF(txring, @@ -1579,7 +1582,6 @@ pong_body(void *data) #ifdef BUSYWAIT ioctl(pfd.fd, NIOCTXSYNC, NULL); #endif - //D("tx %d rx %d", sent, rx); } targ->completed = 1; From nobody Mon Mar 13 15:53:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qx54GMz3xsHl; Mon, 13 Mar 2023 15:53: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 4Pb1Qx49wRz48PF; Mon, 13 Mar 2023 15:53:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0+a8nYhgx4ixQDny+f72+d9BQDTeAuPIf2JqhDAXIQ=; b=xeIioZrPVL/I8CwKqLuObWmBz/0XZ5UkSDQMjUa6NKzf7kr5ii99MyGqqIsIZIUb0pWElL i/85h9yrWxp1+HWv5Y1Wa6qDKq2gBizv+sh9g2SIuD9HRMVVjXIeSn2n2nqGeLgp3afvwH MXSZ1OW8zDxLiwFS6Is4u4pAUkFs4bL4ugHMCpbdts4klKpbdL07KSkUNDGLgmPJm5WuMm xVXxxhPR6smA8LkmAUVTXcRUxvXpg2PBFHRksqh1YX6Aedb/nPuu8YpBZ+71HkcduTDTqz 2bsPp6I54AORLQl2IDZVblSaIaViSTrgHQCJIOMb2aDBAn9FmvkcDGR9COHz8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0+a8nYhgx4ixQDny+f72+d9BQDTeAuPIf2JqhDAXIQ=; b=dUyb47yvFqsfGzRw/hSXX1lqZ41HPWsrjzxnkrSpV40CM2K2815S/9muRWRYAwLrx49clS KA874amwJDu4SBxMm8m+r4jTOst318AoyBdXD8XFE5UrtP8J8FJacCJPVplpoCEcplpKBU yWV9qS2gGROff4ddHxo9WJNExOqv+gjaNKSpvVjfcEGzHTPOC76tTTwo4a4p85hBSOKEeT WHEZOUw9TIa+LKZoGrNKX6y759cFHs2SPkYxoiBNd9xmw8MC9fMSj32esJGEyNh5Xy3w7h PBSABQYyH/KoTVLHFt5FMkN30EFolnUKMSmGyR3cdsnzxfj5NSuvDVNNiParbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722809; a=rsa-sha256; cv=none; b=fg72C36qH26h/Y1td0BDSVtzOcyoNSW/k1ZkGEKbLQ//BGuCTLT/TrMXlzCUNnLRoG1jof ovrr9RuZICIuzkdnuFWRotpbf3vYARa3nla6GvdZDJh931JCSwi+i67SE54ret3fQ60TE5 Ikz3xKUbl0lyMio/dTksmbV2v9Om8KIZkKuanOG8Tw3og1zCOL4pQ8o68uqpoCcrTv7L74 diDKwGZMeK3Y4xrAM0yFEDutaEEvP3kwip4JAdZ+Yl7924+59uezYvfvzOWHosX77EDwp2 mohkzKkDjNrtpry0OPz/EbR34ozwKcCBz5+9J1NZjR8bvOgV1rUGQNTbI4U3BA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qx3DQQz105X; Mon, 13 Mar 2023 15:53: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 32DFrTei039887; Mon, 13 Mar 2023 15:53:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrTJP039886; Mon, 13 Mar 2023 15:53:29 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:29 GMT Message-Id: <202303131553.32DFrTJP039886@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c3bd32f225ec - stable/13 - epair: Avoid loading m_flags into a short List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c3bd32f225ec093ba0f7cd7fc1a000b02aad5211 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c3bd32f225ec093ba0f7cd7fc1a000b02aad5211 commit c3bd32f225ec093ba0f7cd7fc1a000b02aad5211 Author: Mark Johnston AuthorDate: 2023-03-06 14:39:17 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 epair: Avoid loading m_flags into a short The m_flags field of struct mbuf is 24 bits wide and so gets truncated in a couple of places in the epair code. Instead of preserving the entire flag set, just remember whether M_BCAST or M_MCAST is set. MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit 48227d1c6db8fceaceebbf8578612302d64ca170) --- sys/net/if_epair.c | 95 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 41 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index e7257f5fa551..05667633fa42 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -188,39 +188,14 @@ epair_tx_start_deferred(void *arg, int pending) if_rele(sc->ifp); } -static int -epair_menq(struct mbuf *m, struct epair_softc *osc) +static struct epair_queue * +epair_select_queue(struct epair_softc *sc, struct mbuf *m) { - struct ifnet *ifp, *oifp; - int len, ret; - int ridx; - short mflags; - struct epair_queue *q = NULL; uint32_t bucket; #ifdef RSS struct ether_header *eh; -#endif - - /* - * I know this looks weird. We pass the "other sc" as we need that one - * and can get both ifps from it as well. - */ - oifp = osc->ifp; - ifp = osc->oifp; - - M_ASSERTPKTHDR(m); - epair_clear_mbuf(m); - if_setrcvif(m, oifp); - M_SETFIB(m, oifp->if_fib); - - /* Save values as once the mbuf is queued, it's not ours anymore. */ - len = m->m_pkthdr.len; - mflags = m->m_flags; - - MPASS(m->m_nextpkt == NULL); - MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); + int ret; -#ifdef RSS ret = rss_m2bucket(m, &bucket); if (ret) { /* Actually hash the packet. */ @@ -246,7 +221,43 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) #else bucket = 0; #endif - q = &osc->queues[bucket]; + return (&sc->queues[bucket]); +} + +static void +epair_prepare_mbuf(struct mbuf *m, struct ifnet *src_ifp) +{ + M_ASSERTPKTHDR(m); + epair_clear_mbuf(m); + if_setrcvif(m, src_ifp); + M_SETFIB(m, src_ifp->if_fib); + + MPASS(m->m_nextpkt == NULL); + MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); +} + +static void +epair_menq(struct mbuf *m, struct epair_softc *osc) +{ + struct ifnet *ifp, *oifp; + int len, ret; + int ridx; + bool mcast; + + /* + * I know this looks weird. We pass the "other sc" as we need that one + * and can get both ifps from it as well. + */ + oifp = osc->ifp; + ifp = osc->oifp; + + epair_prepare_mbuf(m, oifp); + + /* Save values as once the mbuf is queued, it's not ours anymore. */ + len = m->m_pkthdr.len; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; + + struct epair_queue *q = epair_select_queue(osc, m); atomic_set_long(&q->state, (1 << BIT_MBUF_QUEUED)); ridx = atomic_load_int(&q->ridx); @@ -255,7 +266,7 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) /* Ring is full. */ if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); m_freem(m); - return (0); + return; } if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); @@ -265,15 +276,13 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) * the logic another time. */ if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); /* Someone else received the packet. */ if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); if (!atomic_testandset_long(&q->state, BIT_QUEUE_TASK)) - taskqueue_enqueue(epair_tasks.tq[bucket], &q->tx_task); - - return (0); + taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); } static void @@ -317,8 +326,10 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) { struct epair_softc *sc; struct ifnet *oifp; - int error, len; - short mflags; +#ifdef ALTQ + int len; + bool mcast; +#endif if (m == NULL) return (0); @@ -355,10 +366,12 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) m_freem(m); return (0); } - len = m->m_pkthdr.len; - mflags = m->m_flags; #ifdef ALTQ + len = m->m_pkthdr.len; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; + int error = 0; + /* Support ALTQ via the classic if_start() path. */ IF_LOCK(&ifp->if_snd); if (ALTQ_IS_ENABLED(&ifp->if_snd)) { @@ -368,7 +381,7 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) IF_UNLOCK(&ifp->if_snd); if (!error) { if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); epair_start(ifp); } @@ -377,8 +390,8 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) IF_UNLOCK(&ifp->if_snd); #endif - error = epair_menq(m, oifp->if_softc); - return (error); + epair_menq(m, oifp->if_softc); + return (0); } static int From nobody Mon Mar 13 15:53:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pb1Qy5tpWz3xsQN; Mon, 13 Mar 2023 15:53: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 4Pb1Qy4rQFz488l; Mon, 13 Mar 2023 15:53:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFfiReEknZJqOhoEVLUY2knrSrqVarc3T4v1i2VMcLo=; b=ZhnC1850I5vRwLqvWCVujbIoGiUV3n2LQc8qTwNASBdBbUHcs/HFr3bdwahqPS1qxJukFU i3fiJhrFlXZuwngGh1Sc6opNIE4cgQU76PBrDMQjP3NaOjXlludiRgtvNIuLWqQiCqBFMT b0WsxJFFdawaWlEmGZEt11uXxapa0GCfWxGSFr/gi2shHm1H82bRDXh9Gi+dOeHmtgzmnp otL8VYSpLvOwrEPe5/QnRmZpSEGa1KPPEMFRW8iV5Kbf6+hhhBButlPcJtQ1PCk5B5mC7V YjNy/nAwD28wsfYk3sWuD+juC8H+roqrK0yi+++4BBi0r4CS5/cSLV9O4WCCQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678722810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFfiReEknZJqOhoEVLUY2knrSrqVarc3T4v1i2VMcLo=; b=hgxF7Ue6um2O6ttxDymYhS3gDSETDqLWooM7jGxj7NYbKNFkG672350hhteWHm+GUO3Wpj WiEa3Ed/LuHh45X0h2tMtcO9XZ0DIpU+nOnPpPCYQqIcWSCbEa4kxS5H8cKVnbjF19ew6i kEaP4bTFDuYCVH1w91fCZfU9tUd25tQg0m7tMhsB+Rv5IjnTDWoBUqFbVmh5yIIShzaMlr yZtFbIQF/8RFsWo9VMN2rFP6Mbi66RrtsznVDWONbDTlBPuNDvzUOT1rDsiJYgMN6uq/W9 K7PFYdsJP/A+UxlxSwFnp3itLjNkxJIodxJi0dFp5nN1e/xyIjAr/gNW9qnaTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678722810; a=rsa-sha256; cv=none; b=OdWbWTdShJX2pwonbi+lo5ykNMgx7fyAApMZVH73ewtRvsd/4c20BRsxOxf+z4sEA9U7gY KRgVJl2YdKUJV2ZOxHPdwzE8HF4JVHZzsogDaYwPe25k+nTcTOn7i1OQ8x/dfzFiWz5mu5 Bqk6ZLWTVrmtelMr7/mlgDHT0sxOJvQRcFkpe57Hqp++71P3z1i5kxEwku5fNiuy3OicLo d8X6KlyBf1KlQ99ExNOD6VVvLoKsHmddzEAQpUMuu29ltBSohoGPWwS8s2odHjE1NR2I73 m7KWP58An1LGbM9rkeCFgQnI+4PMEkWG+Kp8JfalD2hVPOlW1Zz2dSOoLzlkjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pb1Qy3whbz10Db; Mon, 13 Mar 2023 15:53: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 32DFrUQL039906; Mon, 13 Mar 2023 15:53:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32DFrU3f039905; Mon, 13 Mar 2023 15:53:30 GMT (envelope-from git) Date: Mon, 13 Mar 2023 15:53:30 GMT Message-Id: <202303131553.32DFrU3f039905@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 762ad964ee34 - stable/13 - epair: Simplify the transmit path and address lost wakeups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 762ad964ee346cffdbf3eaa6ff87fa5b32d30738 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=762ad964ee346cffdbf3eaa6ff87fa5b32d30738 commit 762ad964ee346cffdbf3eaa6ff87fa5b32d30738 Author: Mark Johnston AuthorDate: 2023-03-01 20:21:30 +0000 Commit: Mark Johnston CommitDate: 2023-03-13 15:53:16 +0000 epair: Simplify the transmit path and address lost wakeups epairs currently shuttle all transmitted packets through a single global taskqueue thread. To hand packets over to the taskqueue thread, each epair maintains a pair of ring buffers and a lockless scheme for notifying the thread of pending work. The implementation can lead to lost wakeups, causing to-be-transmitted packets to end up stuck in the queue. Rather than extending the existing scheme, simply replace it with a linked list protected by a mutex, and use the mutex to synchronize wakeups of the taskqueue thread. This appears to give equivalent or better throughput with >= 16 producer threads and eliminates the lost wakeups. Reviewed by: kp MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38843 (cherry picked from commit df7bbd8c354a907d2c2f85a6e18f356f76458f57) --- sys/net/if_epair.c | 162 ++++++++++++++++++++++++++--------------------------- 1 file changed, 79 insertions(+), 83 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 05667633fa42..68b68c11af06 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -104,15 +104,16 @@ static unsigned int next_index = 0; #define EPAIR_LOCK() mtx_lock(&epair_n_index_mtx) #define EPAIR_UNLOCK() mtx_unlock(&epair_n_index_mtx) -#define BIT_QUEUE_TASK 0 -#define BIT_MBUF_QUEUED 1 - struct epair_softc; struct epair_queue { + struct mtx mtx; + struct mbufq q; int id; - struct buf_ring *rxring[2]; - volatile int ridx; /* 0 || 1 */ - volatile long state; /* taskqueue coordination */ + enum { + EPAIR_QUEUE_IDLE, + EPAIR_QUEUE_WAKING, + EPAIR_QUEUE_RUNNING, + } state; struct task tx_task; struct epair_softc *sc; }; @@ -148,44 +149,49 @@ epair_clear_mbuf(struct mbuf *m) } static void -epair_if_input(struct epair_softc *sc, struct epair_queue *q, int ridx) +epair_tx_start_deferred(void *arg, int pending) { - struct ifnet *ifp; - struct mbuf *m; + struct epair_queue *q = (struct epair_queue *)arg; + if_t ifp; + struct mbuf *m, *n; + bool resched; + + ifp = q->sc->ifp; - ifp = sc->ifp; + if_ref(ifp); CURVNET_SET(ifp->if_vnet); - while (! buf_ring_empty(q->rxring[ridx])) { - m = buf_ring_dequeue_mc(q->rxring[ridx]); - if (m == NULL) - continue; - MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); - (*ifp->if_input)(ifp, m); + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + q->state = EPAIR_QUEUE_RUNNING; + mtx_unlock(&q->mtx); + while (m != NULL) { + n = STAILQ_NEXT(m, m_stailqpkt); + m->m_nextpkt = NULL; + if_input(ifp, m); + m = n; } - CURVNET_RESTORE(); -} -static void -epair_tx_start_deferred(void *arg, int pending) -{ - struct epair_queue *q = (struct epair_queue *)arg; - struct epair_softc *sc = q->sc; - int ridx, nidx; - - if_ref(sc->ifp); - ridx = atomic_load_int(&q->ridx); - do { - nidx = (ridx == 0) ? 1 : 0; - } while (!atomic_fcmpset_int(&q->ridx, &ridx, nidx)); - epair_if_input(sc, q, ridx); - - atomic_clear_long(&q->state, (1 << BIT_QUEUE_TASK)); - if (atomic_testandclear_long(&q->state, BIT_MBUF_QUEUED)) + /* + * Avoid flushing the queue more than once per task. We can otherwise + * end up starving ourselves in a multi-epair routing configuration. + */ + mtx_lock(&q->mtx); + if (mbufq_len(&q->q) > 0) { + resched = true; + q->state = EPAIR_QUEUE_WAKING; + } else { + resched = false; + q->state = EPAIR_QUEUE_IDLE; + } + mtx_unlock(&q->mtx); + + if (resched) taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); - if_rele(sc->ifp); + CURVNET_RESTORE(); + if_rele(ifp); } static struct epair_queue * @@ -239,9 +245,9 @@ epair_prepare_mbuf(struct mbuf *m, struct ifnet *src_ifp) static void epair_menq(struct mbuf *m, struct epair_softc *osc) { + struct epair_queue *q; struct ifnet *ifp, *oifp; - int len, ret; - int ridx; + int error, len; bool mcast; /* @@ -257,32 +263,26 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) len = m->m_pkthdr.len; mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; - struct epair_queue *q = epair_select_queue(osc, m); + q = epair_select_queue(osc, m); - atomic_set_long(&q->state, (1 << BIT_MBUF_QUEUED)); - ridx = atomic_load_int(&q->ridx); - ret = buf_ring_enqueue(q->rxring[ridx], m); - if (ret != 0) { - /* Ring is full. */ - if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); - m_freem(m); - return; + mtx_lock(&q->mtx); + if (q->state == EPAIR_QUEUE_IDLE) { + q->state = EPAIR_QUEUE_WAKING; + taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); } + error = mbufq_enqueue(&q->q, m); + mtx_unlock(&q->mtx); - if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - /* - * IFQ_HANDOFF_ADJ/ip_handoff() update statistics, - * but as we bypass all this we have to duplicate - * the logic another time. - */ - if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mcast) - if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); - /* Someone else received the packet. */ - if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); - - if (!atomic_testandset_long(&q->state, BIT_QUEUE_TASK)) - taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); + if (error != 0) { + m_freem(m); + if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); + } else { + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(ifp, IFCOUNTER_OBYTES, len); + if (mcast) + if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); + if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); + } } static void @@ -561,10 +561,9 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) for (int i = 0; i < sca->num_queues; i++) { struct epair_queue *q = &sca->queues[i]; q->id = i; - q->rxring[0] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->rxring[1] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->ridx = 0; - q->state = 0; + q->state = EPAIR_QUEUE_IDLE; + mtx_init(&q->mtx, "epaiq", NULL, MTX_DEF | MTX_NEW); + mbufq_init(&q->q, RXRSIZE); q->sc = sca; NET_TASK_INIT(&q->tx_task, 0, epair_tx_start_deferred, q); } @@ -584,10 +583,9 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) for (int i = 0; i < scb->num_queues; i++) { struct epair_queue *q = &scb->queues[i]; q->id = i; - q->rxring[0] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->rxring[1] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->ridx = 0; - q->state = 0; + q->state = EPAIR_QUEUE_IDLE; + mtx_init(&q->mtx, "epaiq", NULL, MTX_DEF | MTX_NEW); + mbufq_init(&q->q, RXRSIZE); q->sc = scb; NET_TASK_INIT(&q->tx_task, 0, epair_tx_start_deferred, q); } @@ -707,18 +705,18 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) static void epair_drain_rings(struct epair_softc *sc) { - int ridx; - struct mbuf *m; + for (int i = 0; i < sc->num_queues; i++) { + struct epair_queue *q; + struct mbuf *m, *n; - for (ridx = 0; ridx < 2; ridx++) { - for (int i = 0; i < sc->num_queues; i++) { - struct epair_queue *q = &sc->queues[i]; - do { - m = buf_ring_dequeue_sc(q->rxring[ridx]); - if (m == NULL) - break; - m_freem(m); - } while (1); + q = &sc->queues[i]; + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + mtx_unlock(&q->mtx); + + for (; m != NULL; m = n) { + n = m->m_nextpkt; + m_freem(m); } } } @@ -764,8 +762,7 @@ epair_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) ifmedia_removeall(&scb->media); for (int i = 0; i < scb->num_queues; i++) { struct epair_queue *q = &scb->queues[i]; - buf_ring_free(q->rxring[0], M_EPAIR); - buf_ring_free(q->rxring[1], M_EPAIR); + mtx_destroy(&q->mtx); } free(scb->queues, M_EPAIR); free(scb, M_EPAIR); @@ -776,8 +773,7 @@ epair_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) ifmedia_removeall(&sca->media); for (int i = 0; i < sca->num_queues; i++) { struct epair_queue *q = &sca->queues[i]; - buf_ring_free(q->rxring[0], M_EPAIR); - buf_ring_free(q->rxring[1], M_EPAIR); + mtx_destroy(&q->mtx); } free(sca->queues, M_EPAIR); free(sca, M_EPAIR); From nobody Tue Mar 14 10:54:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbVkx2t3rz3y6nd; Tue, 14 Mar 2023 10:54: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 4PbVkx2NMWz3jwc; Tue, 14 Mar 2023 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=myaGJtMGhLr5XwZbe9YNRzgJv2WytMWhjE4wNRC6EcM=; b=DZJlNcRolryzlaoKpWe9PUJRLgE0m6MyJB0HliibvH27mYFXUJI41IRy6MJlBTRHZFFXjk Sjx0/HxfWJafozMp3F1QJ+2+C2ogo9abUvrHB14KERaV1FZl+DN42KsIC3EvGdrZ9ZTLYc GMqbkc6Xp/NpANi04iCIVuPP6x1BF4zoWgNoDAendwqANrF5ZBt/HBtGGX34pIJeuDCqSz z0cKXdL4uHQZ4aJS8Z1jsaKapAnafkSFgTmSUWXA3BBo6RKK1TT6ETrWZL3Nj/FEoA9lOW EtdeA+c89aU+lzLhF+1ZLz37AtZ0MfNVaHaKJ/xBGKKl53NjHz75uvuDipvoug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=myaGJtMGhLr5XwZbe9YNRzgJv2WytMWhjE4wNRC6EcM=; b=FhuMFFb18M8hoW7ySzyAatvQMKRxq522UwhcVy9L14xUOAKumn0nFjdcE+6uTOnDZZzUpq JIS7JnPTWyocwl5NMFovC9986Zb19xNuHvSu2/r+CQRCoGqKFNJQRWzh4bRq8lG2vKylXb tK4zbxOLk6c9DqQllFpESlLbiHYrTv8PkMCWLrvJk5PaddXWtNiq3A7zkbA6Sq1FUjjeSB POTsX27us1K7rwP9tgmjT9S14WE8Jfhm/cX1bqOAEKFYEZ9v201oZ/hY4EvUu7rJ/OvWV6 2NAyLtlozPCkyUebJhlyptltk2P7SWxzDRmu3bhd+k240EhZBc6ppTnyoslAig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678791241; a=rsa-sha256; cv=none; b=PJ/6gz+y9MFLjuADKF6x3+beFgUx+iXzfd6cQazIz2hZLi680uN/bKg/HAEx62xvfp3TNO jDPWfyR4diSXAgzS+Ae7I+onS5O/1R5w32CwnT1isc3Ovw8a7Z5m8MK/jPDW42kZODCWjG ivTFBU+b8kPuT7n4HJY0LArScRaiodOqTCrPoVx75Z+/BkGtqzJ4CB5s8xGHKkJdrMY8li JRJ75JJiOMnokmxo2O1gOGbENo5+zpn2h0wVXD3jAE1MyHnCar5yrq/I9HAS6JM9t6kBiu hxuLPl2mCuvfviT247R/d2mbDccec9GK6R2SJ2kYH1GNE5rds1rgaBNg5+ECug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbVkx1QNxzXWK; Tue, 14 Mar 2023 10:54: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 32EAs1ZF015128; Tue, 14 Mar 2023 10:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EAs14I015127; Tue, 14 Mar 2023 10:54:01 GMT (envelope-from git) Date: Tue, 14 Mar 2023 10:54:01 GMT Message-Id: <202303141054.32EAs14I015127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 5b99fbfb7289 - releng/13.2 - route(8): Add an example how to print the routing tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 5b99fbfb72891a058838bf1485f88d8c5bb3e1e0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=5b99fbfb72891a058838bf1485f88d8c5bb3e1e0 commit 5b99fbfb72891a058838bf1485f88d8c5bb3e1e0 Author: Gordon Bergling AuthorDate: 2021-04-13 04:44:04 +0000 Commit: Gordon Bergling CommitDate: 2023-03-14 10:49:16 +0000 route(8): Add an example how to print the routing tables The manual page currently doesn't show an example how to print the routing table, so add one and .Xr netstat while here. PR: 231579 Reported by: Pekka Järvinen Reviewed by: debdrup Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D29702 (cherry picked from commit bc54f5f1cd5c01aa5f941234034839fb0b8f54ed) --- sbin/route/route.8 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 6f34795ce883..c353bfb73d62 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd January 9, 2019 +.Dd April 11, 2021 .Dt ROUTE 8 .Os .Sh NAME @@ -453,6 +453,10 @@ Delete a static route from the routing table: Remove all routes from the routing table: .Pp .Dl route flush +.Pp +List all routing tables: +.Pp +.Dl netstat -r .Sh DIAGNOSTICS .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" @@ -493,6 +497,7 @@ The next-hop gateway should be reachable through a different route. .El .Sh SEE ALSO .\".Xr esis 4 , +.Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , .Xr arp 8 , From nobody Tue Mar 14 10:54:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbVky43ZXz3y7Cf; Tue, 14 Mar 2023 10:54: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 4PbVky3CzRz3k9p; Tue, 14 Mar 2023 10:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/8ssaEMmXgnFIr3FVkzqMCO91g/QmTX98lYNv564YEI=; b=l/J9XOr74kTZ/rAAY2MYGs1vf0wPjvRKK0Zihpog9CdJkYZAxIH4oedMjcWxWILMiUEch/ /Ypk0YDjkkUB1LtGCq32xeBzP2sDZ/72C1jYXKSiKTe2uItypvWCowrM+C3jEbbqsSQz2J YMs39fVrfdvEF7c8BehpeLtGXIKsmM5Qd529XC9issHtKbNusyso65bF4RmzVqtzWfJkHj JL11qAztYGWwSTHa0j2QQyR/DOb13woM2PITL9QnQXVAhMJpHRksI7D8QbThz1jbrmyKPf iy3SOcOUnbMdkhgoKWGmMqJlvSoWvWast/fqP0etEKGl++qPyNqL8ZKFfIS3ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/8ssaEMmXgnFIr3FVkzqMCO91g/QmTX98lYNv564YEI=; b=beOp+knXF0Anpnv2POwM0KMDOOJ90cqa4Zs0o9K+ai8DV6J89jpLSrJ8W+UHTrqxXdWKcO Yp0zoUNIxx0rnpfmnjJCkID7S+u4wXc8k9zZNdRSQxr2B4BEPh6qtSfh2Vcvp2sqtEbClo vaKykY6s3W+4+O6kbr19W+Vs2hAtsPNHHmvDsTijm4AtOBnrym3vTcKqQAZK0wIQfoahTt 4/cUGe4T1FxdtEkDBrZrLNt2Ag2rhdFawNB8GtkLVttiyBLOTAo/Uk3iB2frIo+UFS4g3C cRdLR9JFdUiSsvyhKUxebUsWqBnrrtR5cGtnG7SKqtF5V7ZIsyIargn1H1NOfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678791242; a=rsa-sha256; cv=none; b=Dh4O0mTkEmhA26FMBC+G3ymKBD3R1plnQK9CuKINwrOvvVG98DSD+xlVqFQNIYOmC806IA OYa72rQ8GzOiVn5VOxauGmq8NRh/1uNB5g5w3/mS6WaB0vidz8/cVOgo8qOKpdSk03/bFe CYt3OEHPITJR7VuL+3oplOF1b5/KIScb2ca50GojIPzlzhjwuDOdEoz2K2khAw4UyQ8jsp 9B8xROldcxNiXt8jGr8byrdAfVH2YFJ92j22ECxTJY7jBhzZeVUSPc815v9rTU9RfpwJUh U/otHG8pjszUckA+Ji/uDUKZJCi1Np065a6ppWx+E0nj7S9Gs8zTm9vgWeU+3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbVky2B2gzXyq; Tue, 14 Mar 2023 10:54: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 32EAs2Rg015147; Tue, 14 Mar 2023 10:54:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EAs2Rs015146; Tue, 14 Mar 2023 10:54:02 GMT (envelope-from git) Date: Tue, 14 Mar 2023 10:54:02 GMT Message-Id: <202303141054.32EAs2Rs015146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 92d6645fd4c2 - releng/13.2 - route(8): Remove obsolete information List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 92d6645fd4c2fa99035a35cb81a4805b81f3fa1d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=92d6645fd4c2fa99035a35cb81a4805b81f3fa1d commit 92d6645fd4c2fa99035a35cb81a4805b81f3fa1d Author: Warner Losh AuthorDate: 2021-12-15 23:06:19 +0000 Commit: Gordon Bergling CommitDate: 2023-03-14 10:52:08 +0000 route(8): Remove obsolete information xns and osi are no longer relevant (or supported) so remove their vestiges. Noticed by: phk Sponsored by: Netflix Approved by: re (cperciva) (cherry picked from commit c6b2efb64e279b4d543aaa10073c63765bf6e790) --- sbin/route/route.8 | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index c353bfb73d62..161189e7a9d8 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd April 11, 2021 +.Dd December 15, 2021 .Dt ROUTE 8 .Os .Sh NAME @@ -143,8 +143,6 @@ command is specified, .Nm will ``flush'' the routing tables of all gateway entries. When the address family may is specified by any of the -.Fl osi , -.Fl xns , .Fl inet6 , or .Fl inet @@ -264,20 +262,6 @@ Alternately, if the interface is point to point the name of the interface itself may be given, in which case the route remains valid even if the local or remote addresses change. .Pp -The optional modifiers -.Fl xns , -.Fl osi , -and -.Fl link -specify that all subsequent addresses are in the -.Tn XNS -or -.Tn OSI -address families, -or are specified as link-level addresses, -and the names must be numeric specifications rather than -symbolic names. -.Pp The optional .Fl netmask modifier is intended @@ -502,7 +486,6 @@ The next-hop gateway should be reachable through a different route. .Xr route 4 , .Xr arp 8 , .Xr routed 8 -.\".Xr XNSrouted 8 .Sh HISTORY The .Nm From nobody Tue Mar 14 10:54:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbVkz4bHwz3y77l; Tue, 14 Mar 2023 10:54: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 4PbVkz3m56z3kKG; Tue, 14 Mar 2023 10:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yAMaz9WsmLXG0YVOIz7niaOsTl/nibXbw9bsiEtSP6k=; b=CuFaKVOqXOxFfr7L54fioxlXLeXCOnMB7949K7YHbb8Dgazk63Rub6XBgBA5tF1EPnQcyn G1IDLNnQNfMildIl56eB1Vwg5zbtQLlhFqL1q1FmhSzL1SnLSpG1ZNn2TuXY+yv4jvn4X5 2aPg9+ifucGh/vT05AT1HbAnzjQKRUVUUslVAn3ZmH7Hy6q1Nc5yauSjDTn33oM2xQrd4w xweLgVyxzKYNh7N+McIjONmsa/MFG7odMLfhpMiIkSkrFsySwQpJazji275Bc/FZ6Ywt46 tZBuCaqVx6LNdun7Zdj1Fp9g4Gj9CT6GCJ7Iye1NHW+RakYYW4HrElcF6sYpOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yAMaz9WsmLXG0YVOIz7niaOsTl/nibXbw9bsiEtSP6k=; b=atddmCK1xoPDMZ2gqDyYvfFn89pqR/tvF3HJARcO/RZuBcU0CbhHIwPnRn+d8MVT7KyqUg C/PfxuIRWeyxQ1FlE7skZSaAytdXnX2TPVm+4MBBH7ITdTxC80Y1Uy0zIbfSUQ0nM0uwpa CWDpRaUev5NZnZC/eHjhA18aryW3FVWFzyWKDh+xpjcFSYSvdJDvabX3+Cya26vDyG8aSD s0E6aNdKT/DGipjJ5aXuQUF5H3dmG27SPe57T0dn5mc82XWyPaLOH2Ich9DmEAUzWKkAYU oItOLAwxYRowP5F39iDBZuo5Rgfus3QgH/gVZHIPSZTwewYd8hWG9o/2T5nBSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678791243; a=rsa-sha256; cv=none; b=nz7Mv4UxuQQ0pDQTL0seIWXH6dNrr+EvZwPtJCYxQo02t9cKlPNWqhhyB5GcgSxrOAl2w8 8hvms3O/idrA7wbqyNskjRweO08dI9PsVEN07Xe3Fl+j3zfFTALDai1I9j9BtA523uKeZ7 4xIDM0bk8xy2fmzAmraMJ2gDa1fsuIpllbGDSzq3JEDCNPztsughNugAysn+eqn7DS6M5C ee46+mJUdl91IHe5HAjbPK7wqmZlcDUsBg2nHWZoFTCVgzD9i4KNBLMt7+cb4swHbMJf8p SJ0N+w6ClecC9khjsJaEwVQuU4fobuairnrlF5Rip6BmmBi/7AX+1WEwSbMQRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbVkz2pKkzXYM; Tue, 14 Mar 2023 10:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32EAs37O015167; Tue, 14 Mar 2023 10:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EAs3DU015166; Tue, 14 Mar 2023 10:54:03 GMT (envelope-from git) Date: Tue, 14 Mar 2023 10:54:03 GMT Message-Id: <202303141054.32EAs3DU015166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 49a096e889c4 - releng/13.2 - route.8: Add information about ROUTE_MPATH and FIB_ALGO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 49a096e889c4cfca6606ef273e4f4c331b0ce3cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=49a096e889c4cfca6606ef273e4f4c331b0ce3cb commit 49a096e889c4cfca6606ef273e4f4c331b0ce3cb Author: Gordon Bergling AuthorDate: 2023-02-26 13:15:34 +0000 Commit: Gordon Bergling CommitDate: 2023-03-14 10:52:45 +0000 route.8: Add information about ROUTE_MPATH and FIB_ALGO Since the kernel options ROUTE_MPATH and FIB_ALGO are enabled per default for a while, it's good to have some user facing documetation about the general functionality of multipath routing and fib lookup algorithms. Reviewed by: pauamma, Jose Luis Duran Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D38783 (cherry picked from commit b06338167d64507e79e003500002e22fbe583832) --- sbin/route/route.8 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 161189e7a9d8..c893ae5ab4b3 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd December 15, 2021 +.Dd February 26, 2023 .Dt ROUTE 8 .Os .Sh NAME @@ -405,6 +405,60 @@ and .Dv RTM_CHANGE . As such, only the super-user may modify the routing tables. +.Pp +.Fx provides support for scalable multipath routing. +It is activated by default, but can be turned off by setting the +.Va net.route.multipath +.Xr sysctl 8 +MIB to 0. +.Pp +There are multiple route lookup algorithms available. +They can be configured by setting +.Va net.route.algo.inet.algo +for IPv4 and +.Va net.route.algo.inet6.algo +for IPv6 +.Xr sysctl 8 +MIBs. +.Pp +A list of available algorithms can be obtained by accessing the +following +.Xr sysctl 8 +MIBs +.Va net.route.algo.inet.algo_list +for IPv4 and +.Va net.route.algo.inet6.algo_list +for IPv6. +.Pp +The following algorithms are available: +.Bl -tag -width radix_lockless +.It radix +Base system radix backend. +.It bsearch +Lockless binary search in a special IP array, tailored for a small FIB +with <16 routes. +This algorithm is only available for IPv4. +.It radix_lockless +Lockless immutable radix, re-created on every rtable change, +tailored for a small FIB with <1000 routes. +.It dpdk_lpm +DPDK DIR24-8-based lookups, lockless datastructure, optimized +for a large FIB. +In order to use the dpdk_lpm algorithm one or both of the +following kernel modules must be loaded via +.Xr loader.conf 5 : +.Bl -tag -width dpdk_lpm6.ko -compact +.It dpdk_lpm4.ko +DPDK implementation for IPv4. +.It dpdk_lpm6.ko +DPDK implementation for IPv6. +.El +.El +.Pp +The algorithms are selected automatically based on the size of the routing +table of the system. +They can be changed, but not every algorithm performs best for every +FIB size. .Sh EXIT STATUS .Ex -std .Sh EXAMPLES @@ -484,6 +538,7 @@ The next-hop gateway should be reachable through a different route. .Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , +.Xr loader.conf 5 , .Xr arp 8 , .Xr routed 8 .Sh HISTORY From nobody Tue Mar 14 10:54:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbVl101Bvz3y6nh; Tue, 14 Mar 2023 10:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PbVl04d3tz3jxt; Tue, 14 Mar 2023 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzM9igxvYmwODt3zZz001JX7eWe2AIOP25CqOZv61dk=; b=iyGki80Gt6PYMbfjVlWWwds5r3LFqbIA60vVX4U3DAce/Nu4l77oWCWEs6S8isRqDE3d5y 9LUPoXTT1Jl0o/9wIs04b0lENJR0KpXn4NLZG/kPu/A8S1KfgkuFlD8K1J7DDOiXiY2ikr wdVDgXrU7VceNWFqcT5nE1YV9h1Hft1NnP+8Gfs7IPUkS8GXjiQPB/LHXGjhnd4X8pn9EJ oPo316dKCrOXk4y9hHtdlXYXF1qUmRI27W70roV9Po1/QIi0PCob/BmLm/zqjhp8pjFdCO Auwj2vAZSfo39D+IobzjMyaOQoaAbg/hUYWEpoOLn+Yr/lJfl8NDmGtj3scDIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678791244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzM9igxvYmwODt3zZz001JX7eWe2AIOP25CqOZv61dk=; b=h7ZCoLAjpGPYf5f/dM85g9azpptkMW+vH72O3TBDWa0/47vrjZOhrT9OiN/wcN+EPEJxkA 9KOSkTEVAZ4a1SQ6ePmvlUZrcAgRDyGPj1DZrRNvwdl4y4hotwjUtva5g/OCtuW/Oew8Or 1WO3UeDVxAFCSYz1BRh+oCnc9OZwBUJoCi2joayo7TWFr9CniE+xSeWatIv6NiRSdGwmZc vNW/fzwBpobjJtT33XNPu6jtbQKKqVEyIj17LqHaBl/ZrjU9jr/MJiqfjdWglbiu1SW6aJ Za/KhDbQzlbCjlQnmxa4ewBshq7ewj10OAP982UcOczjKbtptHld2+/NXyKV3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678791244; a=rsa-sha256; cv=none; b=gLX+Dsd2Fe4AriXAKDK8Foyh841r6euNXKafIJBSwSjx6xwT+B0wbJlBOPyELlDGomG8aC Fd4/ZlqFRP9ATV7BE+wpFXoBYfbJXpPDPw01+7ECmkd9ceevjuxysEcUsq1c8eoz7HMKIC ZXhqEk9E/dQextl1V51FD5mxjrWwUdaNP/Y2GjFoIvxxq4nQsjCkxnWKIqTXkCL0EAUwVF E4h2fV3ygEmxM4Sy6oO1VDUDLaPdorutTI2rff3aBSj0sKY/8CLKIqIOv1V7mvE2tjR16u M8GeAPL3Q5Q4M+CxhjaPa4fx2jrAHVWJK1zVfHs0nQhZp3zQO3yLBnImnOARfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbVl03kcDzY1v; Tue, 14 Mar 2023 10:54: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 32EAs4LQ015186; Tue, 14 Mar 2023 10:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EAs46f015185; Tue, 14 Mar 2023 10:54:04 GMT (envelope-from git) Date: Tue, 14 Mar 2023 10:54:04 GMT Message-Id: <202303141054.32EAs46f015185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 2ebf1ef8825f - releng/13.2 - route.8: Fix mandoc warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 2ebf1ef8825f44ef575545b51c6667fb12ea6b74 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=2ebf1ef8825f44ef575545b51c6667fb12ea6b74 commit 2ebf1ef8825f44ef575545b51c6667fb12ea6b74 Author: Gordon Bergling AuthorDate: 2023-02-26 13:33:58 +0000 Commit: Gordon Bergling CommitDate: 2023-03-14 10:53:25 +0000 route.8: Fix mandoc warnings - skipping end of block that is not open: Oc - no blank before trailing delimiter - remove useless TN macros - remove commented out reference for esis(4) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D38783 (cherry picked from commit 6dbfbe6e11a04f6e2ae893dbf46b059ab49eb517) --- sbin/route/route.8 | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index c893ae5ab4b3..5b6e13281447 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -134,7 +134,7 @@ The flush command has the syntax: .Bd -ragged -offset indent -compact .Nm .Op Fl n -.Cm flush Oc Oo Ar family Oc Op Fl fib Ar number +.Cm flush Oo Ar family Oc Op Fl fib Ar number .Ed .Pp If the @@ -228,10 +228,10 @@ is interpreted as .Fl host Li 128.32.0.130 ; .Fl net Li 128.32 is interpreted as -.Li 128.32.0.0; +.Li 128.32.0.0 ; .Fl net Li 128.32.130 is interpreted as -.Li 128.32.130.0; +.Li 128.32.130.0 ; and .Li 192.168.64/20 is interpreted as @@ -265,9 +265,7 @@ if the local or remote addresses change. The optional .Fl netmask modifier is intended -to achieve the effect of an -.Tn OSI -.Tn ESIS +to achieve the effect of an OSI ESIS redirect with the netmask option, or to manually add subnet routes with netmasks different from that of the implied network interface @@ -378,9 +376,7 @@ In a or .Cm add command where the destination and gateway are not sufficient to specify -the route (as in the -.Tn ISO -case where several interfaces may have the +the route (as in the ISO case where several interfaces may have the same address), the .Fl ifp or @@ -534,7 +530,6 @@ same route as the one being changed. The next-hop gateway should be reachable through a different route. .El .Sh SEE ALSO -.\".Xr esis 4 , .Xr netstat 1 , .Xr netintro 4 , .Xr route 4 , From nobody Tue Mar 14 13:58:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbZrH2gM5z3yJpM; Tue, 14 Mar 2023 13:58: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 4PbZrH2872z44Pj; Tue, 14 Mar 2023 13:58:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678802335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mm7vUlYAvfHWzIncQyk+AlJJV4+1ctfRRjhLO4AbjCs=; b=jxlRXXAoq/xK6hRwOWQZvVCIHgeWw+xDazDABNsSfYvHEtBxnyWIWxD6/sGR3Z5iDuu3y3 OpbYjgwPJX/CAsI02dlRyFLW4vWWzSts/ud5kIWFDbgwNrUqcXrYwgzGB9YNthR6RBGnkg G+HSZ/uiWfZRqybyA9m4hl6UR5WTT0NBiyT33/2nLFK6vhVmekRJ1PLcVhkMV4w8Ob1xe/ bC6HqAXaEt4/42GDl6N+xhIyO8S0rhQmAsktBMF/EwikUaepHw16PW9FMiOFA6tA8lQN+d AZDyxXi6/KqV5X0jLA0s9jZJOLghapZ1ZfdsO1upCUnkL5SLCIyeGvd/VNvcKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678802335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mm7vUlYAvfHWzIncQyk+AlJJV4+1ctfRRjhLO4AbjCs=; b=ty+pgC0rvvfvmBhwvhu/k4gTNDN1fMatFtOBS89+OneP5pZlo9VC8YRyNWgy5dbQs+0eCt 6p58EdwPR95N7CApyZc9upyid1kLjk6MUzKTMOgY713VyYYdePLie9sj2w1UQfpnNsktSX 7gS9NvOydm0/syBaXDNJ+R/XAwXaWl3SO8RB69YyOUQrh6M1a/LKPmDw8aACjQBZBRjvaU x1X49moK1gyI2i+jrT7T6SDGHKnMe/QWlL2ekBUfJr8Y2JJfILIqOnU4SDRKGOyg6mrPPB UbWukgfH+gPxy89FQrRARBT8sAMjb881U5dm7TSHQ9x5rabwRXG0mOebkNsnmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678802335; a=rsa-sha256; cv=none; b=uSp7pgHNeYRJ6s75kK0DSzRsmCvqFCHDMLn06ipchSAfB4v75g09Elx1Z6MARr9gQ+ECN0 QhRq5jXzWTWOtuxGhG0xJmNkSN1RJWvrbanRh0HYTM9rtaZxvWy/Ut6Ip2bfs7ENR/SXHH zQKXfyKIha8wLX1lM0922v9yRTNe1Ka/Ujo6cRPmEj00FzHAz8eQuxEkINEiksUMEAGLK+ vEeR2QpKdlnEl8+VbADXmimItFhlKUkqHif5jF7lwicNt4OnTY0pq3boVut9fIUYyHFcEl emvmV0d4J9Za5/cEiOG24fycWsDSu3ojK6O+tfsL/GVoOiZ7mobeLWtRGyw0RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbZrH1BtdzdVc; Tue, 14 Mar 2023 13:58: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 32EDwtof011073; Tue, 14 Mar 2023 13:58:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EDwtEK011072; Tue, 14 Mar 2023 13:58:55 GMT (envelope-from git) Date: Tue, 14 Mar 2023 13:58:55 GMT Message-Id: <202303141358.32EDwtEK011072@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 069fb41af5bc - releng/13.2 - nvmecontrol: Fix default ns create parameters. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 069fb41af5bca224caf6f96b50fed55fa7755c5b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=069fb41af5bca224caf6f96b50fed55fa7755c5b commit 069fb41af5bca224caf6f96b50fed55fa7755c5b Author: Alexander Motin AuthorDate: 2023-03-09 15:19:00 +0000 Commit: Alexander Motin CommitDate: 2023-03-14 13:58:02 +0000 nvmecontrol: Fix default ns create parameters. Instead of passing 0xff's for all unset parameters, prefer reasonable defaults. It is much easier to use it this was without specs in hand. PR: 269912 Approved by: re (cperciva) (cherry picked from commit 20dc2c4d11ddaa980c491116b65c51ab522028e9) (cherry picked from commit de0b02cb7b112947191af96dd34e7a95b760019c) --- sbin/nvmecontrol/ns.c | 56 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/sbin/nvmecontrol/ns.c b/sbin/nvmecontrol/ns.c index 763c12aa11af..040918caf9c5 100644 --- a/sbin/nvmecontrol/ns.c +++ b/sbin/nvmecontrol/ns.c @@ -577,30 +577,48 @@ nscreate(const struct cmd *f, int argc, char *argv[]) NVME_CTRLR_DATA_OACS_NSMGMT_MASK) == 0) errx(EX_UNAVAILABLE, "controller does not support namespace management"); - /* Allow namespaces sharing if Multi-Path I/O is supported. */ - if (create_opt.nmic == NONE) { - create_opt.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << - NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; - } - memset(&nsdata, 0, sizeof(nsdata)); nsdata.nsze = create_opt.nsze; nsdata.ncap = create_opt.cap; - if (create_opt.flbas == NONE) - nsdata.flbas = ((create_opt.lbaf & NVME_NS_DATA_FLBAS_FORMAT_MASK) - << NVME_NS_DATA_FLBAS_FORMAT_SHIFT) | - ((create_opt.mset & NVME_NS_DATA_FLBAS_EXTENDED_MASK) - << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT); - else + if (create_opt.flbas != NONE) { nsdata.flbas = create_opt.flbas; - if (create_opt.dps == NONE) - nsdata.dps = ((create_opt.pi & NVME_NS_DATA_DPS_MD_START_MASK) - << NVME_NS_DATA_DPS_MD_START_SHIFT) | - ((create_opt.pil & NVME_NS_DATA_DPS_PIT_MASK) - << NVME_NS_DATA_DPS_PIT_SHIFT); - else + } else { + /* Default to the first format, whatever it is. */ + nsdata.flbas = 0; + if (create_opt.lbaf != NONE) { + nsdata.flbas |= (create_opt.lbaf & + NVME_NS_DATA_FLBAS_FORMAT_MASK) + << NVME_NS_DATA_FLBAS_FORMAT_SHIFT; + } + if (create_opt.mset != NONE) { + nsdata.flbas |= (create_opt.mset & + NVME_NS_DATA_FLBAS_EXTENDED_MASK) + << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT; + } + } + if (create_opt.dps != NONE) { nsdata.dps = create_opt.dps; - nsdata.nmic = create_opt.nmic; + } else { + /* Default to protection disabled. */ + nsdata.dps = 0; + if (create_opt.pi != NONE) { + nsdata.dps |= (create_opt.pi & + NVME_NS_DATA_DPS_MD_START_MASK) + << NVME_NS_DATA_DPS_MD_START_SHIFT; + } + if (create_opt.pil != NONE) { + nsdata.dps |= (create_opt.pil & + NVME_NS_DATA_DPS_PIT_MASK) + << NVME_NS_DATA_DPS_PIT_SHIFT; + } + } + if (create_opt.nmic != NONE) { + nsdata.nmic = create_opt.nmic; + } else { + /* Allow namespaces sharing if Multi-Path I/O is supported. */ + nsdata.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << + NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; + } nvme_namespace_data_swapbytes(&nsdata); memset(&pt, 0, sizeof(pt)); From nobody Tue Mar 14 15:16:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbcZC2dwXz3yNnd; Tue, 14 Mar 2023 15:16: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 4PbcZC1j91z4Bnm; Tue, 14 Mar 2023 15:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678807011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61r9vQ2RrD4MbTX7JT+rr9vwYTQkzi9+HeeAM3kN/1w=; b=eFw67Yn2jnsvo4mZuTQBF9Ovba9q4ClD8Yr/WKZks1Hf3d8YzCaMNfUI0a7+bw11/soHq1 33e2WX4tMkgjEdq1gfNI8NOR4kuqmTuJlQED+JeP5/5+NEHNRAfmzMxOPNfz4pBMGd5bLw nI3YNxtSzuZIlTsgpTiLwZsxgb4MiEEyGZ/Ng6CJRbzKaO5a5Uqj55CvMZ+n85COxB2uwl UBxCjxNqLOHHe3I5iHpeyD59a3RXsohRHJvU4AJIS7AeZBtqLAcqNuDaj4PTcwQrpgaNVU 2RKAZfUduAgWJWfrCmwlgRU7lpr3v44YHJXiSgS9GkiTEBSt2aV+9qmMq3LZZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678807011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61r9vQ2RrD4MbTX7JT+rr9vwYTQkzi9+HeeAM3kN/1w=; b=ZMp4hdPlGgQzdgiGHOoUOt61B8zSCpmY47GqtHPU80Z3MnNjZln2M0ir+C5Bf8ApRecFW6 UEyQZUMCDwI6YuIoy+MHUpUWpM16TVydwgd9WvvcYVvgXQjkBlS5jb01tlu6pYNgt9Bzkk cy6pfR459PpS24o4r2yFYVCT1OFHIsagTyGts2DqK5nhE6r3DSz8bydRr+SjnuNnIpFOEE Reor/EPpuA6F/U2NBA/yDCVfLhWPtWdRlTMOpyygyYR6YOO3bRfDmR7OcRwJuzFkIoqVdV heoQbkaFwKt+QX69eFt/qpwdw9zD6A8sZHaJ6oxCWkVqSg5fNPDnNPXxAJMq5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678807011; a=rsa-sha256; cv=none; b=FQlihYHNG2ZoXoZGZHkyI3iP71syIbH1thc4OoylfIXwR7hy+pJudxTQbSokdFYan5V00D K+PNOH35YpcAzAoh4ndQ1UShr+n+zC8NmANAaCSG8qyAndGY6ZgUdx9gZ0RAHF5QptwBvW BubqcWvqqMLuEVdOmWcOPHkt5R91P8Dh3NBeHbLTP4hSW99X0ahnVJ64DuY21dXu2qxVih CsAvzQ5mn4BhZmkXC9QdeVkpJMn7hsds3hoQakJigZgiVF+dzOXIwoVLx/M+Gw+er0QTWL 0BXdQB3YAXYfuaMau5MFQ+uWoNAyXpUzI0111Jm8GWkA5CeAY6LLOJZsywfhlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbcZC0dlqzgKC; Tue, 14 Mar 2023 15:16: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 32EFGocq042338; Tue, 14 Mar 2023 15:16:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EFGoYK042337; Tue, 14 Mar 2023 15:16:50 GMT (envelope-from git) Date: Tue, 14 Mar 2023 15:16:50 GMT Message-Id: <202303141516.32EFGoYK042337@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: a14756f5c351 - stable/13 - epair: Fix the RSS build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a14756f5c35114911ad3de1b750c6705bb14b0ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a14756f5c35114911ad3de1b750c6705bb14b0ac commit a14756f5c35114911ad3de1b750c6705bb14b0ac Author: Mark Johnston AuthorDate: 2023-03-14 14:57:33 +0000 Commit: Mark Johnston CommitDate: 2023-03-14 14:57:33 +0000 epair: Fix the RSS build This is a direct commit to stable/13. Reported by: Marek Zarychta Fixes: c3bd32f225ec ("epair: Avoid loading m_flags into a short") --- sys/net/if_epair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 68b68c11af06..aebcaca0cd2f 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -223,7 +223,7 @@ epair_select_queue(struct epair_softc *sc, struct mbuf *m) break; } } - bucket %= osc->num_queues; + bucket %= sc->num_queues; #else bucket = 0; #endif From nobody Tue Mar 14 16:16:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbdtZ3lC2z3yRVN; Tue, 14 Mar 2023 16:16: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 4PbdtZ394Hz4HTZ; Tue, 14 Mar 2023 16:16:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678810566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MmmzsjHw0u+sqSBttloTH+dHjcMoObKbi55LTsK3CsQ=; b=m6r27sAq0lMfOdap7zJYq7gfbTeZT6FzrezE+pwZGie5LVEVm1njOYng/+Iv4fqQVcDBDb tYXOjxFShVp2hsRuQRDA8Cyqgy243j8ZJiWWmMy382nW9VD0d+dOlu0qadAM/rzlljAbAm yitMYstd+S3beQon9ZCS8JNJ+4FsGopVqWhIaTOjCo9UaZUkrLz0F7dIToGics/5JHRVIl twkl8Okz+AFY2O55t31Cd2NO5ipWonj++MmknUPUe6p5JwoiKJmmW756ZqA7q8yRytRRh3 n10upafh1wecPqDAX0VtEkrrOEA/50K6OCTKHJVFWfP9qIAkXO2Zow8k8m34GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678810566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MmmzsjHw0u+sqSBttloTH+dHjcMoObKbi55LTsK3CsQ=; b=iCiT9I1FCUys31bU1ZehhtYwlkuMxLvDQxfJFMsmdl9x4iml6luMKx/fiTrNcSZLSoI0SP 2ATuKMIIa3vf/MuA/9Z0qfWj+iGS5D88jnTkGYJR8Pv4/+jse8Vn8UQJYNR6t/eZvf1Jwk 30AZIMgBqKsHZ4yvEw4PtPgDHw1CwzOap/xEEPJ9WJjJDaPWSIhkuKwyiEOv62eurLe5s5 WEwUvheyTpamA1eia54pR7NJ+4BCv6sLmtnH9ZKuXIkDfqQbqDQg9+sxdh3oxvKFYPVj2W pts4N9F85qvSu6U7KGcQxJNLGCGMcRobU4zihr8/m19LpYPFv/K6Hv+8sjCbvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678810566; a=rsa-sha256; cv=none; b=pMDp3bEV2rZlLXoOosv2/iI8t8WjmcDwsGMkZ/wPWrbwc+GJ78iKnrYrwY+5Yx6AZ+R+Cw QYpS7uij44i5mcbvSsCn0DFlTh9O1bDQssrE3IXDpAzyZUnNKkdwzxqaPu52iquhirY8Cv BsLR7fi0s2dVCof3kwhkUeyqSFU8bGTnWkvvJH0LL8uOKHZSDVdctY9casZ7pupwMjD42W T1Wt49yYYum38t+XMsmTV8GN73AjK7D5bng5gzmoQA7pGatx9UZVlG+hrX+1+BEA1kiA2E /mGlr88Wx3UaXpRWOJiMCbKHMFEkFQbHMrzD+XFH7rbFGShS7wjqeP8KFj6tkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbdtZ26bqzj0j; Tue, 14 Mar 2023 16:16: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 32EGG6pR040275; Tue, 14 Mar 2023 16:16:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EGG6MQ040274; Tue, 14 Mar 2023 16:16:06 GMT (envelope-from git) Date: Tue, 14 Mar 2023 16:16:06 GMT Message-Id: <202303141616.32EGG6MQ040274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: aa1e6a4f4c28 - stable/13 - makefs: make msdos creation go fast List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aa1e6a4f4c28c7051ee9431ecb7802309cc1bf96 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=aa1e6a4f4c28c7051ee9431ecb7802309cc1bf96 commit aa1e6a4f4c28c7051ee9431ecb7802309cc1bf96 Author: Warner Losh AuthorDate: 2023-03-13 20:28:51 +0000 Commit: Warner Losh CommitDate: 2023-03-14 15:47:46 +0000 makefs: make msdos creation go fast Add missing brelse(bp). Without it the cache grows and we have a n^2 lookup. I'm not entirely sure why we read the block before we write it back out, since the only side effect of that is to allocate memory, clear the memory, read it in from disk, throw it away with the contents of the file being written out. We likely should just do a getblk() here instead, but even with all that, this takes the time it takes to create a 150MB msdos fs image down from 5 minutes to 30 seconds. Old: 317.663u 0.685s 5:18.34 100.0% 198+360k 0+19io 1009pf+0w New: 7.330u 23.841s 0:31.17 100.0% 198+360k 0+250522io 4pf+0w See code review for how we got this. tl;dr: netbsd move brelse into bwrite and we picked up msdos code after that, but not the move. That change should be picked up later. Sponsored by: Netflix Reviewed by: emaste MFC After: 1 day (13.2 is coming fast) Differential Revision: https://reviews.freebsd.org/D39025 (cherry picked from commit 370e009188ba90c3290b1479aa06ec98b66e140a) --- usr.sbin/makefs/msdos/msdosfs_vnops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c index ff470576ee79..198efae31a0e 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vnops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c @@ -501,6 +501,7 @@ msdosfs_wfile(const char *path, struct denode *dep, fsnode *node) cpsize = MIN((nsize - offs), blsize - on); memcpy(bp->b_data + on, dat + offs, cpsize); bwrite(bp); + brelse(bp); offs += cpsize; } From nobody Tue Mar 14 20:52:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pbm1k3WsVz3yjfH; Tue, 14 Mar 2023 20:52: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 4Pbm1k35VQz3nl3; Tue, 14 Mar 2023 20:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678827162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHWQ0tXH8t0CyQkEAAwl4bWWRbgKg2PAvFS65EgwiMY=; b=IfDlkLd7dtMzjFYMEriWZT8Dg+xWOtgVBgzPLl7HQzqCQc2uLmS8gGH6AEmprj1uOhtJ6e jhQ+B0Q0+EJW/DRroqHJs5L+WldydqknEUvoTxfsRduvp2sg0/0W2fwG/fn93E9fFrQP5l 0l6QDVmgqAImaTN2L61nnuEwTCsxYiDbqyae49cn+h0DF/VK/J2YVyLZKo+TpUE8h5maU4 HzkbbVY3zkI+VTq54WsfcJfFqV7dezW8KTMX1BcIJHCzVrym4Iy6gBiWBjXZGwLyFbBTds NefkI+4Z1YHJ7WHgZey1YmF6AQUEuTLFek42ZcH2TkQ0sKySKB5yNCkAEXVpww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678827162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHWQ0tXH8t0CyQkEAAwl4bWWRbgKg2PAvFS65EgwiMY=; b=rMF4N8lbmSjWSUHrbUoXE54oxQC0sO8ncdrVP7kxkRLO3mtoCicCeSQpW2UD7krrtS0MAq bqzkfoRf1mrHmJWEPXTitASYapK2+r36P2DvEmv+m4ufR4QMkXKu5eOj4wza/obWgYfdSg +CNNu7x/Q2M51xtVICQP8JvXrUAVrQYuktUwzb8ecIAbXXJYWgARvqRyqweTsSpktTgsMR 0L6fAJ6RO7R0ODSgzmYzGEhqUbUJxl5uzv1q0jtwV0NW7I+2PWrqwHishJOtsOzUdeYeOe 5cBFytWA1ZRDAlM4SZ/iwHEw9PFePwZXW0dSYEQqdsLMIrh78RxpQpCCkIzOIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678827162; a=rsa-sha256; cv=none; b=hMe6DQzGFiqhQorO/tCYzFRQ8Vezn9sbBk45EXxEuBreKSljlFB+ga2nrTT4PXs9UhV6DC kGhaFRT5ZcM6vJewKVM3Mt2AzgcZ3Fb34s5bGsO5JJ5hn02vygO1SCu4Ew9tnPtNYybBD1 NvTE9rZ5RqRhf4FzuhoZwbvkV1ITWqd3Eh7fWxejKWzaYFrfQP5ink0uSELH6i+i7f8JFf 5msbEaVa1ZWbQaGBLtmTAIdm0qYFr5TDTkV52Tyg+nB0AwpB1cFoyoO0uI+CJlxTwsm8T0 VMgtF4Wl8Wo6a6MegAkVcMW00wnh4TnI/NxFk0DrjHbHZWBBbFYX3799kKtoZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pbm1k28TRzqM3; Tue, 14 Mar 2023 20:52: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 32EKqgn6001978; Tue, 14 Mar 2023 20:52:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32EKqgiM001977; Tue, 14 Mar 2023 20:52:42 GMT (envelope-from git) Date: Tue, 14 Mar 2023 20:52:42 GMT Message-Id: <202303142052.32EKqgiM001977@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vincenzo Maffione Subject: git: 4e31d33bfe67 - stable/13 - netmap: pkt-gen: init all slots of every tx ring List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4e31d33bfe67343d7647242db672ad2d16c7a5f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=4e31d33bfe67343d7647242db672ad2d16c7a5f5 commit 4e31d33bfe67343d7647242db672ad2d16c7a5f5 Author: Vincenzo Maffione AuthorDate: 2023-03-06 17:22:09 +0000 Commit: Vincenzo Maffione CommitDate: 2023-03-14 20:48:42 +0000 netmap: pkt-gen: init all slots of every tx ring sender_body() uses OPT_COPY to copy the frame into the destination slot for the first 100,000 packets. Then it removes OPT_COPY to improve performance. The function always starts with the first tx ring. If multiple tx rings are in use, it is possible that the initial 100k packets will only use the first ring. After OPT_COPY is removed, there may come a time when the first ring is full and sender_body() will move to the next ring which was never initialized. As a result it will send all zero packets. (This was discovered when the receiving NIC reported rx errors.) Before any transmissions, step through every tx ring and set NS_BUF_CHANGED on every slot. That will force send_packets() to initialize the slot when first used. Since it only copies when necessary, it performs better than always setting OPT_COPY. With this change, there is no reason for the "drop copy" code. Submitted by: Brian Poole MFC after: 7 days (cherry picked from commit 506336f2cd1fa0a3ba94bc247d7fad1a71d43ac2) --- tools/tools/netmap/pkt-gen.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/tools/netmap/pkt-gen.c b/tools/tools/netmap/pkt-gen.c index b06fef05579d..296208018fd4 100644 --- a/tools/tools/netmap/pkt-gen.c +++ b/tools/tools/netmap/pkt-gen.c @@ -1604,7 +1604,7 @@ sender_body(void *data) uint64_t n = targ->g->npackets / targ->g->nthreads; uint64_t sent = 0; uint64_t event = 0; - int options = targ->g->options | OPT_COPY; + int options = targ->g->options; struct timespec nexttime = { 0, 0}; // XXX silence compiler int rate_limit = targ->g->tx_rate; struct pkt *pkt = &targ->pkt; @@ -1678,6 +1678,19 @@ sender_body(void *data) targ->frags++; } D("frags %u frag_size %u", targ->frags, targ->frag_size); + + /* mark all slots of all rings as changed so initial copy will be done */ + for (i = targ->nmd->first_tx_ring; i <= targ->nmd->last_tx_ring; i++) { + uint32_t j; + struct netmap_slot *slot; + + txring = NETMAP_TXRING(nifp, i); + for (j = 0; j < txring->num_slots; j++) { + slot = &txring->slot[j]; + slot->flags = NS_BUF_CHANGED; + } + } + while (!targ->cancel && (n == 0 || sent < n)) { int rv; @@ -1714,10 +1727,6 @@ sender_body(void *data) /* * scan our queues and send on those with room */ - if (options & OPT_COPY && sent > 100000 && !(targ->g->options & OPT_COPY) ) { - D("drop copy"); - options &= ~OPT_COPY; - } for (i = targ->nmd->first_tx_ring; i <= targ->nmd->last_tx_ring; i++) { int m; uint64_t limit = rate_limit ? tosend : targ->g->burst; From nobody Wed Mar 15 00:15:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbrW95Cn0z3xhq6; Wed, 15 Mar 2023 00:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PbrW94yngz4DRC; Wed, 15 Mar 2023 00:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678839301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zPQL6butjDrUebKVdjReoZ/2PJ6Wq+MEF2nvuVXqu3s=; b=AtWEl5IxNRptqig6qJGN8gmdAg5iKsJ8ykfTBHJ52WeT+jU4vuYbUpjBH7mg19u9aCVQWH rbI7+rl6ZiUGImvvxfQsPNelaUOcziPk9Vh+uAf7I//BzKAKgk71DbIKUIAelSgSv5iL/i S7Ll7nHAR4lBhgk6jeXmRZpQnLHO6KnJ3E96drdcq1SJceMkQeAyZmhn7T4NWUraN3RLVE 4zmjbffCABh8Ttu8uZXhnP/HbE/OP/uoiNLW4FsuIfg5ROIB+H4EIYTQhG9BXZtPMeSR7S BMVPXlHIZc+YInvSmpZ4l0vg78sh1fL1KOcenaeAzKttP85i02U4k89Zfd73SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678839301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zPQL6butjDrUebKVdjReoZ/2PJ6Wq+MEF2nvuVXqu3s=; b=Opl7eQunmatdGMGuOCOW3R9nYk4usjyrUtppPb2otFfIySW5ZY1KaXYxXirYXOVSH3AwWa mWjSR/3RAYczPmb7FlPCt6SZTyh8cHslC0RqI7w2UF8oRu9noNQcOfu1T150rtczbDZ+ji D0YdHxJfgp2sWNdXHtu/WIHUZLls+H0Kwy5CUUNRl0f64YjeAFT8lfTjFVNR3GLytHiLWB qPw88b88ucvrrkaiOHoWZUFjJgkQmSa7+TzAmWxv9LARLnlxZqxdeGS2ydFLmEQWfhaTRG azTfwWa6uSsgqIaf7kmnVMaapHZcShy89Z4qjbr0v0VEBbFF+msBGj80jEVw3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678839301; a=rsa-sha256; cv=none; b=p/g2jZJn7h8x8JvIuNbozELyprJRrhD3NnHJ454BzOJ+uzXnyUWXn3JTbufoJcfse1xNHu HZCj+/lEw9vsbfPGthgKLr1tq4ENgOaA35COVmG45piGtISwGzCpZCjxtYXtb3B630gytG yx9y0Q35duCwJgWlPysXAkmdtBBF59KgtYMQs23LREfAdXO5Jfe2b+ybzbzKhMPEcnqPfp M9pxkcDglq9u1gNDTiX6/nonH9O3dkEiwXm9X3u9/u5FhCU7/Vf2zpEqDDldvc0wiO3H+4 4PcoljEuZ/8cuP0IFmcaaAVF0+6Tc0D0cmi2yl50SmxVmZV20hpAUM4aquP4kg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbrW9439czwGg; Wed, 15 Mar 2023 00:15: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 32F0F1C0030236; Wed, 15 Mar 2023 00:15:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32F0F1Is030232; Wed, 15 Mar 2023 00:15:01 GMT (envelope-from git) Date: Wed, 15 Mar 2023 00:15:01 GMT Message-Id: <202303150015.32F0F1Is030232@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: aa728e209458 - stable/13 - sqlite3: Vendor import of sqlite3 3.41.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aa728e209458a41955e64b6b4d4181c6db26bc74 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=aa728e209458a41955e64b6b4d4181c6db26bc74 commit aa728e209458a41955e64b6b4d4181c6db26bc74 Author: Cy Schubert AuthorDate: 2023-02-28 13:28:07 +0000 Commit: Cy Schubert CommitDate: 2023-03-15 00:14:48 +0000 sqlite3: Vendor import of sqlite3 3.41.0 Release notes at https://www.sqlite.org/releaselog/3_41_0.html. Obtained from: https://www.sqlite.org/2023/sqlite-autoconf-3410000.tar.gz MFC after: 2 weeks Merge commit '615bd3eb2a2225e83e14d5b2a82649430889483c' into temp_merge (cherry picked from commit 7bba9d9473c00cec825495543198768fe387ebf4) --- contrib/sqlite3/Makefile.msc | 1 + contrib/sqlite3/configure | 20 +- contrib/sqlite3/configure.ac | 2 +- contrib/sqlite3/shell.c | 2188 ++++++++++++---- contrib/sqlite3/sqlite3.c | 4091 ++++++++++++++++++++---------- contrib/sqlite3/sqlite3.h | 238 +- contrib/sqlite3/sqlite3ext.h | 4 + contrib/sqlite3/sqlite3rc.h | 2 +- contrib/sqlite3/tea/configure | 18 +- contrib/sqlite3/tea/configure.ac | 2 +- contrib/sqlite3/tea/generic/tclsqlite3.c | 3 + 11 files changed, 4643 insertions(+), 1926 deletions(-) diff --git a/contrib/sqlite3/Makefile.msc b/contrib/sqlite3/Makefile.msc index e36eb21ea004..09daa867eced 100644 --- a/contrib/sqlite3/Makefile.msc +++ b/contrib/sqlite3/Makefile.msc @@ -955,6 +955,7 @@ LIBRESOBJS = # when the shell is not being dynamically linked. # !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0 +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_DQS=0 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_FTS4=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1 diff --git a/contrib/sqlite3/configure b/contrib/sqlite3/configure index 13ff272ad2e6..e5cbf778e689 100755 --- a/contrib/sqlite3/configure +++ b/contrib/sqlite3/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for sqlite 3.40.1. +# Generated by GNU Autoconf 2.71 for sqlite 3.41.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.40.1' -PACKAGE_STRING='sqlite 3.40.1' +PACKAGE_VERSION='3.41.0' +PACKAGE_STRING='sqlite 3.41.0' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.40.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.41.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1438,7 +1438,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.40.1:";; + short | recursive ) echo "Configuration of sqlite 3.41.0:";; esac cat <<\_ACEOF @@ -1563,7 +1563,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.40.1 +sqlite configure 3.41.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.40.1, which was +It was created by sqlite $as_me 3.41.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3106,7 +3106,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.40.1' + VERSION='3.41.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15314,7 +15314,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.40.1, which was +This file was extended by sqlite $as_me 3.41.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15373,7 +15373,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sqlite config.status 3.40.1 +sqlite config.status 3.41.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/contrib/sqlite3/configure.ac b/contrib/sqlite3/configure.ac index bb8a90ebafc3..f7f6558c2db5 100644 --- a/contrib/sqlite3/configure.ac +++ b/contrib/sqlite3/configure.ac @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.40.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.41.0, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) diff --git a/contrib/sqlite3/shell.c b/contrib/sqlite3/shell.c index 63f708c0bf74..d6a673fe2cfe 100644 --- a/contrib/sqlite3/shell.c +++ b/contrib/sqlite3/shell.c @@ -39,7 +39,7 @@ typedef unsigned short int u16; /* ** Optionally #include a user-defined header, whereby compilation options -** may be set prior to where they take effect, but after platform setup. +** may be set prior to where they take effect, but after platform setup. ** If SQLITE_CUSTOM_INCLUDE=? is defined, its value names the #include ** file. Note that this macro has a like effect on sqlite3.c compilation. */ @@ -129,7 +129,7 @@ typedef unsigned char u8; #if !defined(_WIN32) && !defined(WIN32) # include -# if !defined(__RTP__) && !defined(_WRS_KERNEL) +# if !defined(__RTP__) && !defined(_WRS_KERNEL) && !defined(SQLITE_WASI) # include # endif #endif @@ -184,6 +184,14 @@ typedef unsigned char u8; # define SHELL_USE_LOCAL_GETLINE 1 #endif +#ifndef deliberate_fall_through +/* Quiet some compilers about some of our intentional code. */ +# if defined(GCC_VERSION) && GCC_VERSION>=7000000 +# define deliberate_fall_through __attribute__((fallthrough)); +# else +# define deliberate_fall_through +# endif +#endif #if defined(_WIN32) || defined(WIN32) # if SQLITE_OS_WINRT @@ -210,7 +218,7 @@ typedef unsigned char u8; /* Make sure isatty() has a prototype. */ extern int isatty(int); -# if !defined(__RTP__) && !defined(_WRS_KERNEL) +# if !defined(__RTP__) && !defined(_WRS_KERNEL) && !defined(SQLITE_WASI) /* popen and pclose are not C89 functions and so are ** sometimes omitted from the header */ extern FILE *popen(const char*,const char*); @@ -485,8 +493,108 @@ static char *Argv0; ** Prompt strings. Initialized in main. Settable with ** .prompt main continue */ -static char mainPrompt[20]; /* First line prompt. default: "sqlite> "*/ -static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */ +#define PROMPT_LEN_MAX 20 +/* First line prompt. default: "sqlite> " */ +static char mainPrompt[PROMPT_LEN_MAX]; +/* Continuation prompt. default: " ...> " */ +static char continuePrompt[PROMPT_LEN_MAX]; + +/* This is variant of the standard-library strncpy() routine with the +** one change that the destination string is always zero-terminated, even +** if there is no zero-terminator in the first n-1 characters of the source +** string. +*/ +static char *shell_strncpy(char *dest, const char *src, size_t n){ + size_t i; + for(i=0; iinParenLevel += ni; + if( ni==0 ) p->inParenLevel = 0; + p->zScannerAwaits = 0; +} + +/* Record that a lexeme is opened, or closed with args==0. */ +static void setLexemeOpen(struct DynaPrompt *p, char *s, char c){ + if( s!=0 || c==0 ){ + p->zScannerAwaits = s; + p->acAwait[0] = 0; + }else{ + p->acAwait[0] = c; + p->zScannerAwaits = p->acAwait; + } +} + +/* Upon demand, derive the continuation prompt to display. */ +static char *dynamicContinuePrompt(void){ + if( continuePrompt[0]==0 + || (dynPrompt.zScannerAwaits==0 && dynPrompt.inParenLevel == 0) ){ + return continuePrompt; + }else{ + if( dynPrompt.zScannerAwaits ){ + size_t ncp = strlen(continuePrompt); + size_t ndp = strlen(dynPrompt.zScannerAwaits); + if( ndp > ncp-3 ) return continuePrompt; + strcpy(dynPrompt.dynamicPrompt, dynPrompt.zScannerAwaits); + while( ndp<3 ) dynPrompt.dynamicPrompt[ndp++] = ' '; + shell_strncpy(dynPrompt.dynamicPrompt+3, continuePrompt+3, + PROMPT_LEN_MAX-4); + }else{ + if( dynPrompt.inParenLevel>9 ){ + shell_strncpy(dynPrompt.dynamicPrompt, "(..", 4); + }else if( dynPrompt.inParenLevel<0 ){ + shell_strncpy(dynPrompt.dynamicPrompt, ")x!", 4); + }else{ + shell_strncpy(dynPrompt.dynamicPrompt, "(x.", 4); + dynPrompt.dynamicPrompt[2] = (char)('0'+dynPrompt.inParenLevel); + } + shell_strncpy(dynPrompt.dynamicPrompt+3, continuePrompt+3, PROMPT_LEN_MAX-4); + } + } + return dynPrompt.dynamicPrompt; +} +#endif /* !defined(SQLITE_OMIT_DYNAPROMPT) */ /* ** Render output like fprintf(). Except, if the output is going to the @@ -747,7 +855,7 @@ static char *one_input_line(FILE *in, char *zPrior, int isContinuation){ if( in!=0 ){ zResult = local_getline(zPrior, in); }else{ - zPrompt = isContinuation ? continuePrompt : mainPrompt; + zPrompt = isContinuation ? CONTINUATION_PROMPT : mainPrompt; #if SHELL_USE_LOCAL_GETLINE printf("%s", zPrompt); fflush(stdout); @@ -964,7 +1072,7 @@ static void shellModuleSchema( char *zFake; UNUSED_PARAMETER(nVal); zName = (const char*)sqlite3_value_text(apVal[0]); - zFake = zName ? shellFakeSchema(sqlite3_context_db_handle(pCtx), 0, zName) : 0; + zFake = zName? shellFakeSchema(sqlite3_context_db_handle(pCtx), 0, zName) : 0; if( zFake ){ sqlite3_result_text(pCtx, sqlite3_mprintf("/* %s */", zFake), -1, sqlite3_free); @@ -2058,7 +2166,7 @@ static void sha3Func( /* Compute a string using sqlite3_vsnprintf() with a maximum length ** of 50 bytes and add it to the hash. */ -static void hash_step_vformat( +static void sha3_step_vformat( SHA3Context *p, /* Add content to this context */ const char *zFormat, ... @@ -2154,7 +2262,7 @@ static void sha3QueryFunc( z = sqlite3_sql(pStmt); if( z ){ n = (int)strlen(z); - hash_step_vformat(&cx,"S%d:",n); + sha3_step_vformat(&cx,"S%d:",n); SHA3Update(&cx,(unsigned char*)z,n); } @@ -2198,14 +2306,14 @@ static void sha3QueryFunc( case SQLITE_TEXT: { int n2 = sqlite3_column_bytes(pStmt, i); const unsigned char *z2 = sqlite3_column_text(pStmt, i); - hash_step_vformat(&cx,"T%d:",n2); + sha3_step_vformat(&cx,"T%d:",n2); SHA3Update(&cx, z2, n2); break; } case SQLITE_BLOB: { int n2 = sqlite3_column_bytes(pStmt, i); const unsigned char *z2 = sqlite3_column_blob(pStmt, i); - hash_step_vformat(&cx,"B%d:",n2); + sha3_step_vformat(&cx,"B%d:",n2); SHA3Update(&cx, z2, n2); break; } @@ -2965,7 +3073,7 @@ int sqlite3_decimal_init( SQLITE_EXTENSION_INIT2(pApi); - for(i=0; i +** *Nix: gcc -O2 -shared -I$SQDIR -fPIC -o base64.so base64.c +** OSX: gcc -O2 -dynamiclib -fPIC -I$SQDIR -o base64.dylib base64.c +** Win32: gcc -O2 -shared -I%SQDIR% -o base64.dll base64.c +** Win32: cl /Os -I%SQDIR% base64.c -link -dll -out:base64.dll +*/ + +#include + +/* #include "sqlite3ext.h" */ + +#ifndef deliberate_fall_through +/* Quiet some compilers about some of our intentional code. */ +# if GCC_VERSION>=7000000 +# define deliberate_fall_through __attribute__((fallthrough)); +# else +# define deliberate_fall_through +# endif +#endif + +SQLITE_EXTENSION_INIT1; + +#define PC 0x80 /* pad character */ +#define WS 0x81 /* whitespace */ +#define ND 0x82 /* Not above or digit-value */ +#define PAD_CHAR '=' + +#ifndef U8_TYPEDEF +/* typedef unsigned char u8; */ +#define U8_TYPEDEF +#endif + +static const u8 b64DigitValues[128] = { + /* HT LF VT FF CR */ + ND,ND,ND,ND, ND,ND,ND,ND, ND,WS,WS,WS, WS,WS,ND,ND, + /* US */ + ND,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,ND, + /*sp + / */ + WS,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,62, ND,ND,ND,63, + /* 0 1 5 9 = */ + 52,53,54,55, 56,57,58,59, 60,61,ND,ND, ND,PC,ND,ND, + /* A O */ + ND, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14, + /* P Z */ + 15,16,17,18, 19,20,21,22, 23,24,25,ND, ND,ND,ND,ND, + /* a o */ + ND,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40, + /* p z */ + 41,42,43,44, 45,46,47,48, 49,50,51,ND, ND,ND,ND,ND +}; + +static const char b64Numerals[64+1] += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +#define BX_DV_PROTO(c) \ + ((((u8)(c))<0x80)? (u8)(b64DigitValues[(u8)(c)]) : 0x80) +#define IS_BX_DIGIT(bdp) (((u8)(bdp))<0x80) +#define IS_BX_WS(bdp) ((bdp)==WS) +#define IS_BX_PAD(bdp) ((bdp)==PC) +#define BX_NUMERAL(dv) (b64Numerals[(u8)(dv)]) +/* Width of base64 lines. Should be an integer multiple of 4. */ +#define B64_DARK_MAX 72 + +/* Encode a byte buffer into base64 text with linefeeds appended to limit +** encoded group lengths to B64_DARK_MAX or to terminate the last group. +*/ +static char* toBase64( u8 *pIn, int nbIn, char *pOut ){ + int nCol = 0; + while( nbIn >= 3 ){ + /* Do the bit-shuffle, exploiting unsigned input to avoid masking. */ + pOut[0] = BX_NUMERAL(pIn[0]>>2); + pOut[1] = BX_NUMERAL(((pIn[0]<<4)|(pIn[1]>>4))&0x3f); + pOut[2] = BX_NUMERAL(((pIn[1]&0xf)<<2)|(pIn[2]>>6)); + pOut[3] = BX_NUMERAL(pIn[2]&0x3f); + pOut += 4; + nbIn -= 3; + pIn += 3; + if( (nCol += 4)>=B64_DARK_MAX || nbIn<=0 ){ + *pOut++ = '\n'; + nCol = 0; + } + } + if( nbIn > 0 ){ + signed char nco = nbIn+1; + int nbe; + unsigned long qv = *pIn++; + for( nbe=1; nbe<3; ++nbe ){ + qv <<= 8; + if( nbe=0; --nbe ){ + char ce = (nbe>= 6; + pOut[nbe] = ce; + } + pOut += 4; + *pOut++ = '\n'; + } + *pOut = 0; + return pOut; +} + +/* Skip over text which is not base64 numeral(s). */ +static char * skipNonB64( char *s ){ + char c; + while( (c = *s) && !IS_BX_DIGIT(BX_DV_PROTO(c)) ) ++s; + return s; +} + +/* Decode base64 text into a byte buffer. */ +static u8* fromBase64( char *pIn, int ncIn, u8 *pOut ){ + if( ncIn>0 && pIn[ncIn-1]=='\n' ) --ncIn; + while( ncIn>0 && *pIn!=PAD_CHAR ){ + static signed char nboi[] = { 0, 0, 1, 2, 3 }; + char *pUse = skipNonB64(pIn); + unsigned long qv = 0L; + int nti, nbo, nac; + ncIn -= (pUse - pIn); + pIn = pUse; + nti = (ncIn>4)? 4 : ncIn; + ncIn -= nti; + nbo = nboi[nti]; + if( nbo==0 ) break; + for( nac=0; nac<4; ++nac ){ + char c = (nac>8) & 0xff; + case 1: + pOut[0] = (qv>>16) & 0xff; + } + pOut += nbo; + } + return pOut; +} + +/* This function does the work for the SQLite base64(x) UDF. */ +static void base64(sqlite3_context *context, int na, sqlite3_value *av[]){ + int nb, nc, nv = sqlite3_value_bytes(av[0]); + int nvMax = sqlite3_limit(sqlite3_context_db_handle(context), + SQLITE_LIMIT_LENGTH, -1); + char *cBuf; + u8 *bBuf; + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_BLOB: + nb = nv; + nc = 4*(nv+2/3); /* quads needed */ + nc += (nc+(B64_DARK_MAX-1))/B64_DARK_MAX + 1; /* LFs and a 0-terminator */ + if( nvMax < nc ){ + sqlite3_result_error(context, "blob expanded to base64 too big", -1); + return; + } + cBuf = sqlite3_malloc(nc); + if( !cBuf ) goto memFail; + bBuf = (u8*)sqlite3_value_blob(av[0]); + nc = (int)(toBase64(bBuf, nb, cBuf) - cBuf); + sqlite3_result_text(context, cBuf, nc, sqlite3_free); + break; + case SQLITE_TEXT: + nc = nv; + nb = 3*((nv+3)/4); /* may overestimate due to LF and padding */ + if( nvMax < nb ){ + sqlite3_result_error(context, "blob from base64 may be too big", -1); + return; + }else if( nb<1 ){ + nb = 1; + } + bBuf = sqlite3_malloc(nb); + if( !bBuf ) goto memFail; + cBuf = (char *)sqlite3_value_text(av[0]); + nb = (int)(fromBase64(cBuf, nc, bBuf) - bBuf); + sqlite3_result_blob(context, bBuf, nb, sqlite3_free); + break; + default: + sqlite3_result_error(context, "base64 accepts only blob or text", -1); + return; + } + return; + memFail: + sqlite3_result_error(context, "base64 OOM", -1); +} + +/* +** Establish linkage to running SQLite library. +*/ +#ifndef SQLITE_SHELL_EXTFUNCS +#ifdef _WIN32 + +#endif +int sqlite3_base_init +#else +static int sqlite3_base64_init +#endif +(sqlite3 *db, char **pzErr, const sqlite3_api_routines *pApi){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErr; + return sqlite3_create_function + (db, "base64", 1, + SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS|SQLITE_DIRECTONLY|SQLITE_UTF8, + 0, base64, 0, 0); +} + +/* +** Define some macros to allow this extension to be built into the shell +** conveniently, in conjunction with use of SQLITE_SHELL_EXTFUNCS. This +** allows shell.c, as distributed, to have this extension built in. +*/ +#define BASE64_INIT(db) sqlite3_base64_init(db, 0, 0) +#define BASE64_EXPOSE(db, pzErr) /* Not needed, ..._init() does this. */ + +/************************* End ../ext/misc/base64.c ********************/ +#undef sqlite3_base_init +#define sqlite3_base_init sqlite3_base85_init +#define OMIT_BASE85_CHECKER +/************************* Begin ../ext/misc/base85.c ******************/ +/* +** 2022-11-16 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** +** This is a utility for converting binary to base85 or vice-versa. +** It can be built as a standalone program or an SQLite3 extension. +** +** Much like base64 representations, base85 can be sent through a +** sane USASCII channel unmolested. It also plays nicely in CSV or +** written as TCL brace-enclosed literals or SQL string literals. +** It is not suited for unmodified use in XML-like documents. +** +** The encoding used resembles Ascii85, but was devised by the author +** (Larry Brasfield) before Mozilla, Adobe, ZMODEM or other Ascii85 +** variant sources existed, in the 1984 timeframe on a VAX mainframe. +** Further, this is an independent implementation of a base85 system. +** Hence, the author has rightfully put this into the public domain. +** +** Base85 numerals are taken from the set of 7-bit USASCII codes, +** excluding control characters and Space ! " ' ( ) { | } ~ Del +** in code order representing digit values 0 to 84 (base 10.) +** +** Groups of 4 bytes, interpreted as big-endian 32-bit values, +** are represented as 5-digit base85 numbers with MS to LS digit +** order. Groups of 1-3 bytes are represented with 2-4 digits, +** still big-endian but 8-24 bit values. (Using big-endian yields +** the simplest transition to byte groups smaller than 4 bytes. +** These byte groups can also be considered base-256 numbers.) +** Groups of 0 bytes are represented with 0 digits and vice-versa. +** No pad characters are used; Encoded base85 numeral sequence +** (aka "group") length maps 1-to-1 to the decoded binary length. +** +** Any character not in the base85 numeral set delimits groups. +** When base85 is streamed or stored in containers of indefinite +** size, newline is used to separate it into sub-sequences of no +** more than 80 digits so that fgets() can be used to read it. +** +** Length limitations are not imposed except that the runtime +** SQLite string or blob length limits are respected. Otherwise, +** any length binary sequence can be represented and recovered. +** Base85 sequences can be concatenated by separating them with +** a non-base85 character; the conversion to binary will then +** be the concatenation of the represented binary sequences. + +** The standalone program either converts base85 on stdin to create +** a binary file or converts a binary file to base85 on stdout. +** Read or make it blurt its help for invocation details. +** +** The SQLite3 extension creates a function, base85(x), which will +** either convert text base85 to a blob or a blob to text base85 +** and return the result (or throw an error for other types.) +** Unless built with OMIT_BASE85_CHECKER defined, it also creates a +** function, is_base85(t), which returns 1 iff the text t contains +** nothing other than base85 numerals and whitespace, or 0 otherwise. +** +** To build the extension: +** Set shell variable SQDIR= +** and variable OPTS to -DOMIT_BASE85_CHECKER if is_base85() unwanted. +** *Nix: gcc -O2 -shared -I$SQDIR $OPTS -fPIC -o base85.so base85.c +** OSX: gcc -O2 -dynamiclib -fPIC -I$SQDIR $OPTS -o base85.dylib base85.c +** Win32: gcc -O2 -shared -I%SQDIR% %OPTS% -o base85.dll base85.c +** Win32: cl /Os -I%SQDIR% %OPTS% base85.c -link -dll -out:base85.dll +** +** To build the standalone program, define PP symbol BASE85_STANDALONE. Eg. +** *Nix or OSX: gcc -O2 -DBASE85_STANDALONE base85.c -o base85 +** Win32: gcc -O2 -DBASE85_STANDALONE -o base85.exe base85.c +** Win32: cl /Os /MD -DBASE85_STANDALONE base85.c +*/ + +#include +#include +#include +#include +#ifndef OMIT_BASE85_CHECKER +# include +#endif + +#ifndef BASE85_STANDALONE + +/* # include "sqlite3ext.h" */ + +SQLITE_EXTENSION_INIT1; + +#else + +# ifdef _WIN32 +# include +# include +# else +# define setmode(fd,m) +# endif + +static char *zHelp = + "Usage: base85 \n" + " is either -r to read or -w to write ,\n" + " content to be converted to/from base85 on stdout/stdin.\n" + " names a binary file to be rendered or created.\n" + " Or, the name '-' refers to the stdin or stdout stream.\n" + ; + +static void sayHelp(){ + printf("%s", zHelp); +} +#endif + +#ifndef U8_TYPEDEF +/* typedef unsigned char u8; */ +#define U8_TYPEDEF +#endif + +/* Classify c according to interval within USASCII set w.r.t. base85 + * Values of 1 and 3 are base85 numerals. Values of 0, 2, or 4 are not. + */ +#define B85_CLASS( c ) (((c)>='#')+((c)>'&')+((c)>='*')+((c)>'z')) + +/* Provide digitValue to b85Numeral offset as a function of above class. */ +static u8 b85_cOffset[] = { 0, '#', 0, '*'-4, 0 }; +#define B85_DNOS( c ) b85_cOffset[B85_CLASS(c)] + +/* Say whether c is a base85 numeral. */ +#define IS_B85( c ) (B85_CLASS(c) & 1) + +#if 0 /* Not used, */ +static u8 base85DigitValue( char c ){ + u8 dv = (u8)(c - '#'); + if( dv>87 ) return 0xff; + return (dv > 3)? dv-3 : dv; +} +#endif + +/* Width of base64 lines. Should be an integer multiple of 5. */ +#define B85_DARK_MAX 80 + + +static char * skipNonB85( char *s ){ + char c; + while( (c = *s) && !IS_B85(c) ) ++s; + return s; +} + +/* Convert small integer, known to be in 0..84 inclusive, to base85 numeral. + * Do not use the macro form with argument expression having a side-effect.*/ +#if 0 +static char base85Numeral( u8 b ){ + return (b < 4)? (char)(b + '#') : (char)(b - 4 + '*'); +} +#else +# define base85Numeral( dn )\ + ((char)(((dn) < 4)? (char)((dn) + '#') : (char)((dn) - 4 + '*'))) +#endif + +static char *putcs(char *pc, char *s){ + char c; + while( (c = *s++)!=0 ) *pc++ = c; + return pc; +} + +/* Encode a byte buffer into base85 text. If pSep!=0, it's a C string +** to be appended to encoded groups to limit their length to B85_DARK_MAX +** or to terminate the last group (to aid concatenation.) +*/ +static char* toBase85( u8 *pIn, int nbIn, char *pOut, char *pSep ){ + int nCol = 0; + while( nbIn >= 4 ){ + int nco = 5; + unsigned long qbv = (((unsigned long)pIn[0])<<24) | + (pIn[1]<<16) | (pIn[2]<<8) | pIn[3]; + while( nco > 0 ){ + unsigned nqv = (unsigned)(qbv/85UL); + unsigned char dv = qbv - 85UL*nqv; + qbv = nqv; + pOut[--nco] = base85Numeral(dv); + } + nbIn -= 4; + pIn += 4; + pOut += 5; + if( pSep && (nCol += 5)>=B85_DARK_MAX ){ + pOut = putcs(pOut, pSep); + nCol = 0; + } + } + if( nbIn > 0 ){ + int nco = nbIn + 1; + unsigned long qv = *pIn++; + int nbe = 1; + while( nbe++ < nbIn ){ + qv = (qv<<8) | *pIn++; + } + nCol += nco; + while( nco > 0 ){ + u8 dv = (u8)(qv % 85); + qv /= 85; + pOut[--nco] = base85Numeral(dv); + } + pOut += (nbIn+1); + } + if( pSep && nCol>0 ) pOut = putcs(pOut, pSep); + *pOut = 0; + return pOut; +} + +/* Decode base85 text into a byte buffer. */ +static u8* fromBase85( char *pIn, int ncIn, u8 *pOut ){ + if( ncIn>0 && pIn[ncIn-1]=='\n' ) --ncIn; + while( ncIn>0 ){ + static signed char nboi[] = { 0, 0, 1, 2, 3, 4 }; + char *pUse = skipNonB85(pIn); + unsigned long qv = 0L; + int nti, nbo; + ncIn -= (pUse - pIn); + pIn = pUse; + nti = (ncIn>5)? 5 : ncIn; + nbo = nboi[nti]; + if( nbo==0 ) break; + while( nti>0 ){ + char c = *pIn++; + u8 cdo = B85_DNOS(c); + --ncIn; + if( cdo==0 ) break; + qv = 85 * qv + (c - cdo); + --nti; + } + nbo -= nti; /* Adjust for early (non-digit) end of group. */ + switch( nbo ){ + case 4: + *pOut++ = (qv >> 24)&0xff; + case 3: + *pOut++ = (qv >> 16)&0xff; + case 2: + *pOut++ = (qv >> 8)&0xff; + case 1: + *pOut++ = qv&0xff; + case 0: + break; + } + } + return pOut; +} + +#ifndef OMIT_BASE85_CHECKER +/* Say whether input char sequence is all (base85 and/or whitespace).*/ +static int allBase85( char *p, int len ){ + char c; + while( len-- > 0 && (c = *p++) != 0 ){ + if( !IS_B85(c) && !isspace(c) ) return 0; + } + return 1; +} +#endif + +#ifndef BASE85_STANDALONE + +# ifndef OMIT_BASE85_CHECKER +/* This function does the work for the SQLite is_base85(t) UDF. */ +static void is_base85(sqlite3_context *context, int na, sqlite3_value *av[]){ + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_TEXT: + { + int rv = allBase85( (char *)sqlite3_value_text(av[0]), + sqlite3_value_bytes(av[0]) ); + sqlite3_result_int(context, rv); + } + break; + case SQLITE_NULL: + sqlite3_result_null(context); + break; + default: + sqlite3_result_error(context, "is_base85 accepts only text or NULL", -1); + return; + } +} +# endif + +/* This function does the work for the SQLite base85(x) UDF. */ +static void base85(sqlite3_context *context, int na, sqlite3_value *av[]){ + int nb, nc, nv = sqlite3_value_bytes(av[0]); + int nvMax = sqlite3_limit(sqlite3_context_db_handle(context), + SQLITE_LIMIT_LENGTH, -1); + char *cBuf; + u8 *bBuf; + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_BLOB: + nb = nv; + /* ulongs tail newlines tailenc+nul*/ + nc = 5*(nv/4) + nv%4 + nv/64+1 + 2; + if( nvMax < nc ){ + sqlite3_result_error(context, "blob expanded to base85 too big", -1); + return; + } + cBuf = sqlite3_malloc(nc); + if( !cBuf ) goto memFail; + bBuf = (u8*)sqlite3_value_blob(av[0]); + nc = (int)(toBase85(bBuf, nb, cBuf, "\n") - cBuf); + sqlite3_result_text(context, cBuf, nc, sqlite3_free); + break; + case SQLITE_TEXT: + nc = nv; + nb = 4*(nv/5) + nv%5; /* may overestimate */ + if( nvMax < nb ){ + sqlite3_result_error(context, "blob from base85 may be too big", -1); + return; + }else if( nb<1 ){ + nb = 1; + } + bBuf = sqlite3_malloc(nb); + if( !bBuf ) goto memFail; + cBuf = (char *)sqlite3_value_text(av[0]); + nb = (int)(fromBase85(cBuf, nc, bBuf) - bBuf); + sqlite3_result_blob(context, bBuf, nb, sqlite3_free); + break; + default: + sqlite3_result_error(context, "base85 accepts only blob or text.", -1); + return; + } + return; + memFail: + sqlite3_result_error(context, "base85 OOM", -1); +} + +/* +** Establish linkage to running SQLite library. +*/ +#ifndef SQLITE_SHELL_EXTFUNCS *** 11431 LINES SKIPPED *** From nobody Wed Mar 15 00:15:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PbrWV6XLPz3xhqL; Wed, 15 Mar 2023 00:15: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 4PbrWV6Gflz4DbM; Wed, 15 Mar 2023 00:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678839318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGlYCmNVxWlgVe8lHy7BZcfUzlteEiru0xtgUkIJAu8=; b=DX9+ank44RZnxdhvFQ/jcDN8MztvlIR5LGuZxDSDLgEoVzjXgzSnJe98f+WxhH0OxBHjtz +SPGI3fo/DNj1/UF0fZU598We9PrkBkGnR95dzKY+JDDUan/twczTLDrkWZKvfEgXSQDLx iNqqlAKEVLme9Z+8yp2Pqoyb9CDNngda9zpnbUnWhO1cA1sD1e9soiuxMUFFtHOU8uBsu/ D3zGo9Fmq7Y3kki4NoFaJchVcvafCx2OSRUeyp48b2i2Ei/BRw+y93Xwbnaw0WJsMxLbFL 3B+zawHaDh6WBM6IPGVuhrnjPJeZqgP4fAv+g6kuc1HlTfb2ZjBxoaFuemTM1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678839318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGlYCmNVxWlgVe8lHy7BZcfUzlteEiru0xtgUkIJAu8=; b=xSHKeoBJanHPDALr4piJsVnwMYjiz3xWxFH84YiPGI62iiW6xTVnfB/z6B/VxCJXQ0rGrL 8Q/M2brTYXmWDwEVbhH6yFPq+MJVhl0oRDCDOEA604vQbnIf2Y6EJqfOIWhfBjPgD61WBQ eiV0s1imhGOvQ0BUW2msgkUGnB5c3vNZ18erzdKVZAEMKl8Mjnrxbdh87NStfpYXrh373P ROdAJFFRyDKVtl1SLFHHkfz3iFuo0zL9a4Zw6u3TGtHR7dVxLFLRLkj3sMIeQJRRNpfokp UFibtR66OahRq09ujdYrfruopbaFePgEqmlc9MutOK7UI5afRfnXmMqDFYQ+uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678839318; a=rsa-sha256; cv=none; b=ofAQcXqCG2UcypXLZKJv7jr3/sPAP8j2dcVWLroi0QEaclt2ZvbxZuiMxdp5Kn5WBCuRW9 fqtXv/pMcFUbecipA117ZX5CAYi6oGLZlGfhhkZGAOGDSm2gkHQEOAqllrPu93CSoHu6Ig EGeysu0RuJKLS8OoEvDsW31CB73v/QfScAcx+OoefYNTLScw+T93e96QRSV/NeTyVwmH2b 2CXo9j4IwrdZMzTaiXw3oImf0NTG0TJNlAypjmUDHEDj5FB/lyR+a16Khw7hon+xGiKUJg czElmZGGseYYgGI6ualTMiCfzcD5OM9w5/ylWj5i7yungPTCyGfX8t8c++0LMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PbrWV5Lmczw2L; Wed, 15 Mar 2023 00:15: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 32F0FIGO030376; Wed, 15 Mar 2023 00:15:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32F0FIWm030370; Wed, 15 Mar 2023 00:15:18 GMT (envelope-from git) Date: Wed, 15 Mar 2023 00:15:18 GMT Message-Id: <202303150015.32F0FIWm030370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 7cca504c7a69 - stable/12 - sqlite3: Vendor import of sqlite3 3.41.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 7cca504c7a692afe7259b6f3fa7d698f67f0f1ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=7cca504c7a692afe7259b6f3fa7d698f67f0f1ce commit 7cca504c7a692afe7259b6f3fa7d698f67f0f1ce Author: Cy Schubert AuthorDate: 2023-02-28 13:28:07 +0000 Commit: Cy Schubert CommitDate: 2023-03-14 02:59:34 +0000 sqlite3: Vendor import of sqlite3 3.41.0 Release notes at https://www.sqlite.org/releaselog/3_41_0.html. Obtained from: https://www.sqlite.org/2023/sqlite-autoconf-3410000.tar.gz MFC after: 2 weeks Merge commit '615bd3eb2a2225e83e14d5b2a82649430889483c' into temp_merge (cherry picked from commit 7bba9d9473c00cec825495543198768fe387ebf4) --- contrib/sqlite3/Makefile.msc | 1 + contrib/sqlite3/configure | 20 +- contrib/sqlite3/configure.ac | 2 +- contrib/sqlite3/shell.c | 2188 ++++++++++++---- contrib/sqlite3/sqlite3.c | 4091 ++++++++++++++++++++---------- contrib/sqlite3/sqlite3.h | 238 +- contrib/sqlite3/sqlite3ext.h | 4 + contrib/sqlite3/sqlite3rc.h | 2 +- contrib/sqlite3/tea/configure | 18 +- contrib/sqlite3/tea/configure.ac | 2 +- contrib/sqlite3/tea/generic/tclsqlite3.c | 3 + 11 files changed, 4643 insertions(+), 1926 deletions(-) diff --git a/contrib/sqlite3/Makefile.msc b/contrib/sqlite3/Makefile.msc index e36eb21ea004..09daa867eced 100644 --- a/contrib/sqlite3/Makefile.msc +++ b/contrib/sqlite3/Makefile.msc @@ -955,6 +955,7 @@ LIBRESOBJS = # when the shell is not being dynamically linked. # !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0 +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_DQS=0 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_FTS4=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1 diff --git a/contrib/sqlite3/configure b/contrib/sqlite3/configure index 13ff272ad2e6..e5cbf778e689 100755 --- a/contrib/sqlite3/configure +++ b/contrib/sqlite3/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for sqlite 3.40.1. +# Generated by GNU Autoconf 2.71 for sqlite 3.41.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.40.1' -PACKAGE_STRING='sqlite 3.40.1' +PACKAGE_VERSION='3.41.0' +PACKAGE_STRING='sqlite 3.41.0' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.40.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.41.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1438,7 +1438,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.40.1:";; + short | recursive ) echo "Configuration of sqlite 3.41.0:";; esac cat <<\_ACEOF @@ -1563,7 +1563,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.40.1 +sqlite configure 3.41.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.40.1, which was +It was created by sqlite $as_me 3.41.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3106,7 +3106,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.40.1' + VERSION='3.41.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15314,7 +15314,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.40.1, which was +This file was extended by sqlite $as_me 3.41.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15373,7 +15373,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sqlite config.status 3.40.1 +sqlite config.status 3.41.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/contrib/sqlite3/configure.ac b/contrib/sqlite3/configure.ac index bb8a90ebafc3..f7f6558c2db5 100644 --- a/contrib/sqlite3/configure.ac +++ b/contrib/sqlite3/configure.ac @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.40.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.41.0, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) diff --git a/contrib/sqlite3/shell.c b/contrib/sqlite3/shell.c index 63f708c0bf74..d6a673fe2cfe 100644 --- a/contrib/sqlite3/shell.c +++ b/contrib/sqlite3/shell.c @@ -39,7 +39,7 @@ typedef unsigned short int u16; /* ** Optionally #include a user-defined header, whereby compilation options -** may be set prior to where they take effect, but after platform setup. +** may be set prior to where they take effect, but after platform setup. ** If SQLITE_CUSTOM_INCLUDE=? is defined, its value names the #include ** file. Note that this macro has a like effect on sqlite3.c compilation. */ @@ -129,7 +129,7 @@ typedef unsigned char u8; #if !defined(_WIN32) && !defined(WIN32) # include -# if !defined(__RTP__) && !defined(_WRS_KERNEL) +# if !defined(__RTP__) && !defined(_WRS_KERNEL) && !defined(SQLITE_WASI) # include # endif #endif @@ -184,6 +184,14 @@ typedef unsigned char u8; # define SHELL_USE_LOCAL_GETLINE 1 #endif +#ifndef deliberate_fall_through +/* Quiet some compilers about some of our intentional code. */ +# if defined(GCC_VERSION) && GCC_VERSION>=7000000 +# define deliberate_fall_through __attribute__((fallthrough)); +# else +# define deliberate_fall_through +# endif +#endif #if defined(_WIN32) || defined(WIN32) # if SQLITE_OS_WINRT @@ -210,7 +218,7 @@ typedef unsigned char u8; /* Make sure isatty() has a prototype. */ extern int isatty(int); -# if !defined(__RTP__) && !defined(_WRS_KERNEL) +# if !defined(__RTP__) && !defined(_WRS_KERNEL) && !defined(SQLITE_WASI) /* popen and pclose are not C89 functions and so are ** sometimes omitted from the header */ extern FILE *popen(const char*,const char*); @@ -485,8 +493,108 @@ static char *Argv0; ** Prompt strings. Initialized in main. Settable with ** .prompt main continue */ -static char mainPrompt[20]; /* First line prompt. default: "sqlite> "*/ -static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */ +#define PROMPT_LEN_MAX 20 +/* First line prompt. default: "sqlite> " */ +static char mainPrompt[PROMPT_LEN_MAX]; +/* Continuation prompt. default: " ...> " */ +static char continuePrompt[PROMPT_LEN_MAX]; + +/* This is variant of the standard-library strncpy() routine with the +** one change that the destination string is always zero-terminated, even +** if there is no zero-terminator in the first n-1 characters of the source +** string. +*/ +static char *shell_strncpy(char *dest, const char *src, size_t n){ + size_t i; + for(i=0; iinParenLevel += ni; + if( ni==0 ) p->inParenLevel = 0; + p->zScannerAwaits = 0; +} + +/* Record that a lexeme is opened, or closed with args==0. */ +static void setLexemeOpen(struct DynaPrompt *p, char *s, char c){ + if( s!=0 || c==0 ){ + p->zScannerAwaits = s; + p->acAwait[0] = 0; + }else{ + p->acAwait[0] = c; + p->zScannerAwaits = p->acAwait; + } +} + +/* Upon demand, derive the continuation prompt to display. */ +static char *dynamicContinuePrompt(void){ + if( continuePrompt[0]==0 + || (dynPrompt.zScannerAwaits==0 && dynPrompt.inParenLevel == 0) ){ + return continuePrompt; + }else{ + if( dynPrompt.zScannerAwaits ){ + size_t ncp = strlen(continuePrompt); + size_t ndp = strlen(dynPrompt.zScannerAwaits); + if( ndp > ncp-3 ) return continuePrompt; + strcpy(dynPrompt.dynamicPrompt, dynPrompt.zScannerAwaits); + while( ndp<3 ) dynPrompt.dynamicPrompt[ndp++] = ' '; + shell_strncpy(dynPrompt.dynamicPrompt+3, continuePrompt+3, + PROMPT_LEN_MAX-4); + }else{ + if( dynPrompt.inParenLevel>9 ){ + shell_strncpy(dynPrompt.dynamicPrompt, "(..", 4); + }else if( dynPrompt.inParenLevel<0 ){ + shell_strncpy(dynPrompt.dynamicPrompt, ")x!", 4); + }else{ + shell_strncpy(dynPrompt.dynamicPrompt, "(x.", 4); + dynPrompt.dynamicPrompt[2] = (char)('0'+dynPrompt.inParenLevel); + } + shell_strncpy(dynPrompt.dynamicPrompt+3, continuePrompt+3, PROMPT_LEN_MAX-4); + } + } + return dynPrompt.dynamicPrompt; +} +#endif /* !defined(SQLITE_OMIT_DYNAPROMPT) */ /* ** Render output like fprintf(). Except, if the output is going to the @@ -747,7 +855,7 @@ static char *one_input_line(FILE *in, char *zPrior, int isContinuation){ if( in!=0 ){ zResult = local_getline(zPrior, in); }else{ - zPrompt = isContinuation ? continuePrompt : mainPrompt; + zPrompt = isContinuation ? CONTINUATION_PROMPT : mainPrompt; #if SHELL_USE_LOCAL_GETLINE printf("%s", zPrompt); fflush(stdout); @@ -964,7 +1072,7 @@ static void shellModuleSchema( char *zFake; UNUSED_PARAMETER(nVal); zName = (const char*)sqlite3_value_text(apVal[0]); - zFake = zName ? shellFakeSchema(sqlite3_context_db_handle(pCtx), 0, zName) : 0; + zFake = zName? shellFakeSchema(sqlite3_context_db_handle(pCtx), 0, zName) : 0; if( zFake ){ sqlite3_result_text(pCtx, sqlite3_mprintf("/* %s */", zFake), -1, sqlite3_free); @@ -2058,7 +2166,7 @@ static void sha3Func( /* Compute a string using sqlite3_vsnprintf() with a maximum length ** of 50 bytes and add it to the hash. */ -static void hash_step_vformat( +static void sha3_step_vformat( SHA3Context *p, /* Add content to this context */ const char *zFormat, ... @@ -2154,7 +2262,7 @@ static void sha3QueryFunc( z = sqlite3_sql(pStmt); if( z ){ n = (int)strlen(z); - hash_step_vformat(&cx,"S%d:",n); + sha3_step_vformat(&cx,"S%d:",n); SHA3Update(&cx,(unsigned char*)z,n); } @@ -2198,14 +2306,14 @@ static void sha3QueryFunc( case SQLITE_TEXT: { int n2 = sqlite3_column_bytes(pStmt, i); const unsigned char *z2 = sqlite3_column_text(pStmt, i); - hash_step_vformat(&cx,"T%d:",n2); + sha3_step_vformat(&cx,"T%d:",n2); SHA3Update(&cx, z2, n2); break; } case SQLITE_BLOB: { int n2 = sqlite3_column_bytes(pStmt, i); const unsigned char *z2 = sqlite3_column_blob(pStmt, i); - hash_step_vformat(&cx,"B%d:",n2); + sha3_step_vformat(&cx,"B%d:",n2); SHA3Update(&cx, z2, n2); break; } @@ -2965,7 +3073,7 @@ int sqlite3_decimal_init( SQLITE_EXTENSION_INIT2(pApi); - for(i=0; i +** *Nix: gcc -O2 -shared -I$SQDIR -fPIC -o base64.so base64.c +** OSX: gcc -O2 -dynamiclib -fPIC -I$SQDIR -o base64.dylib base64.c +** Win32: gcc -O2 -shared -I%SQDIR% -o base64.dll base64.c +** Win32: cl /Os -I%SQDIR% base64.c -link -dll -out:base64.dll +*/ + +#include + +/* #include "sqlite3ext.h" */ + +#ifndef deliberate_fall_through +/* Quiet some compilers about some of our intentional code. */ +# if GCC_VERSION>=7000000 +# define deliberate_fall_through __attribute__((fallthrough)); +# else +# define deliberate_fall_through +# endif +#endif + +SQLITE_EXTENSION_INIT1; + +#define PC 0x80 /* pad character */ +#define WS 0x81 /* whitespace */ +#define ND 0x82 /* Not above or digit-value */ +#define PAD_CHAR '=' + +#ifndef U8_TYPEDEF +/* typedef unsigned char u8; */ +#define U8_TYPEDEF +#endif + +static const u8 b64DigitValues[128] = { + /* HT LF VT FF CR */ + ND,ND,ND,ND, ND,ND,ND,ND, ND,WS,WS,WS, WS,WS,ND,ND, + /* US */ + ND,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,ND, + /*sp + / */ + WS,ND,ND,ND, ND,ND,ND,ND, ND,ND,ND,62, ND,ND,ND,63, + /* 0 1 5 9 = */ + 52,53,54,55, 56,57,58,59, 60,61,ND,ND, ND,PC,ND,ND, + /* A O */ + ND, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14, + /* P Z */ + 15,16,17,18, 19,20,21,22, 23,24,25,ND, ND,ND,ND,ND, + /* a o */ + ND,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40, + /* p z */ + 41,42,43,44, 45,46,47,48, 49,50,51,ND, ND,ND,ND,ND +}; + +static const char b64Numerals[64+1] += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +#define BX_DV_PROTO(c) \ + ((((u8)(c))<0x80)? (u8)(b64DigitValues[(u8)(c)]) : 0x80) +#define IS_BX_DIGIT(bdp) (((u8)(bdp))<0x80) +#define IS_BX_WS(bdp) ((bdp)==WS) +#define IS_BX_PAD(bdp) ((bdp)==PC) +#define BX_NUMERAL(dv) (b64Numerals[(u8)(dv)]) +/* Width of base64 lines. Should be an integer multiple of 4. */ +#define B64_DARK_MAX 72 + +/* Encode a byte buffer into base64 text with linefeeds appended to limit +** encoded group lengths to B64_DARK_MAX or to terminate the last group. +*/ +static char* toBase64( u8 *pIn, int nbIn, char *pOut ){ + int nCol = 0; + while( nbIn >= 3 ){ + /* Do the bit-shuffle, exploiting unsigned input to avoid masking. */ + pOut[0] = BX_NUMERAL(pIn[0]>>2); + pOut[1] = BX_NUMERAL(((pIn[0]<<4)|(pIn[1]>>4))&0x3f); + pOut[2] = BX_NUMERAL(((pIn[1]&0xf)<<2)|(pIn[2]>>6)); + pOut[3] = BX_NUMERAL(pIn[2]&0x3f); + pOut += 4; + nbIn -= 3; + pIn += 3; + if( (nCol += 4)>=B64_DARK_MAX || nbIn<=0 ){ + *pOut++ = '\n'; + nCol = 0; + } + } + if( nbIn > 0 ){ + signed char nco = nbIn+1; + int nbe; + unsigned long qv = *pIn++; + for( nbe=1; nbe<3; ++nbe ){ + qv <<= 8; + if( nbe=0; --nbe ){ + char ce = (nbe>= 6; + pOut[nbe] = ce; + } + pOut += 4; + *pOut++ = '\n'; + } + *pOut = 0; + return pOut; +} + +/* Skip over text which is not base64 numeral(s). */ +static char * skipNonB64( char *s ){ + char c; + while( (c = *s) && !IS_BX_DIGIT(BX_DV_PROTO(c)) ) ++s; + return s; +} + +/* Decode base64 text into a byte buffer. */ +static u8* fromBase64( char *pIn, int ncIn, u8 *pOut ){ + if( ncIn>0 && pIn[ncIn-1]=='\n' ) --ncIn; + while( ncIn>0 && *pIn!=PAD_CHAR ){ + static signed char nboi[] = { 0, 0, 1, 2, 3 }; + char *pUse = skipNonB64(pIn); + unsigned long qv = 0L; + int nti, nbo, nac; + ncIn -= (pUse - pIn); + pIn = pUse; + nti = (ncIn>4)? 4 : ncIn; + ncIn -= nti; + nbo = nboi[nti]; + if( nbo==0 ) break; + for( nac=0; nac<4; ++nac ){ + char c = (nac>8) & 0xff; + case 1: + pOut[0] = (qv>>16) & 0xff; + } + pOut += nbo; + } + return pOut; +} + +/* This function does the work for the SQLite base64(x) UDF. */ +static void base64(sqlite3_context *context, int na, sqlite3_value *av[]){ + int nb, nc, nv = sqlite3_value_bytes(av[0]); + int nvMax = sqlite3_limit(sqlite3_context_db_handle(context), + SQLITE_LIMIT_LENGTH, -1); + char *cBuf; + u8 *bBuf; + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_BLOB: + nb = nv; + nc = 4*(nv+2/3); /* quads needed */ + nc += (nc+(B64_DARK_MAX-1))/B64_DARK_MAX + 1; /* LFs and a 0-terminator */ + if( nvMax < nc ){ + sqlite3_result_error(context, "blob expanded to base64 too big", -1); + return; + } + cBuf = sqlite3_malloc(nc); + if( !cBuf ) goto memFail; + bBuf = (u8*)sqlite3_value_blob(av[0]); + nc = (int)(toBase64(bBuf, nb, cBuf) - cBuf); + sqlite3_result_text(context, cBuf, nc, sqlite3_free); + break; + case SQLITE_TEXT: + nc = nv; + nb = 3*((nv+3)/4); /* may overestimate due to LF and padding */ + if( nvMax < nb ){ + sqlite3_result_error(context, "blob from base64 may be too big", -1); + return; + }else if( nb<1 ){ + nb = 1; + } + bBuf = sqlite3_malloc(nb); + if( !bBuf ) goto memFail; + cBuf = (char *)sqlite3_value_text(av[0]); + nb = (int)(fromBase64(cBuf, nc, bBuf) - bBuf); + sqlite3_result_blob(context, bBuf, nb, sqlite3_free); + break; + default: + sqlite3_result_error(context, "base64 accepts only blob or text", -1); + return; + } + return; + memFail: + sqlite3_result_error(context, "base64 OOM", -1); +} + +/* +** Establish linkage to running SQLite library. +*/ +#ifndef SQLITE_SHELL_EXTFUNCS +#ifdef _WIN32 + +#endif +int sqlite3_base_init +#else +static int sqlite3_base64_init +#endif +(sqlite3 *db, char **pzErr, const sqlite3_api_routines *pApi){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErr; + return sqlite3_create_function + (db, "base64", 1, + SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS|SQLITE_DIRECTONLY|SQLITE_UTF8, + 0, base64, 0, 0); +} + +/* +** Define some macros to allow this extension to be built into the shell +** conveniently, in conjunction with use of SQLITE_SHELL_EXTFUNCS. This +** allows shell.c, as distributed, to have this extension built in. +*/ +#define BASE64_INIT(db) sqlite3_base64_init(db, 0, 0) +#define BASE64_EXPOSE(db, pzErr) /* Not needed, ..._init() does this. */ + +/************************* End ../ext/misc/base64.c ********************/ +#undef sqlite3_base_init +#define sqlite3_base_init sqlite3_base85_init +#define OMIT_BASE85_CHECKER +/************************* Begin ../ext/misc/base85.c ******************/ +/* +** 2022-11-16 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** +** This is a utility for converting binary to base85 or vice-versa. +** It can be built as a standalone program or an SQLite3 extension. +** +** Much like base64 representations, base85 can be sent through a +** sane USASCII channel unmolested. It also plays nicely in CSV or +** written as TCL brace-enclosed literals or SQL string literals. +** It is not suited for unmodified use in XML-like documents. +** +** The encoding used resembles Ascii85, but was devised by the author +** (Larry Brasfield) before Mozilla, Adobe, ZMODEM or other Ascii85 +** variant sources existed, in the 1984 timeframe on a VAX mainframe. +** Further, this is an independent implementation of a base85 system. +** Hence, the author has rightfully put this into the public domain. +** +** Base85 numerals are taken from the set of 7-bit USASCII codes, +** excluding control characters and Space ! " ' ( ) { | } ~ Del +** in code order representing digit values 0 to 84 (base 10.) +** +** Groups of 4 bytes, interpreted as big-endian 32-bit values, +** are represented as 5-digit base85 numbers with MS to LS digit +** order. Groups of 1-3 bytes are represented with 2-4 digits, +** still big-endian but 8-24 bit values. (Using big-endian yields +** the simplest transition to byte groups smaller than 4 bytes. +** These byte groups can also be considered base-256 numbers.) +** Groups of 0 bytes are represented with 0 digits and vice-versa. +** No pad characters are used; Encoded base85 numeral sequence +** (aka "group") length maps 1-to-1 to the decoded binary length. +** +** Any character not in the base85 numeral set delimits groups. +** When base85 is streamed or stored in containers of indefinite +** size, newline is used to separate it into sub-sequences of no +** more than 80 digits so that fgets() can be used to read it. +** +** Length limitations are not imposed except that the runtime +** SQLite string or blob length limits are respected. Otherwise, +** any length binary sequence can be represented and recovered. +** Base85 sequences can be concatenated by separating them with +** a non-base85 character; the conversion to binary will then +** be the concatenation of the represented binary sequences. + +** The standalone program either converts base85 on stdin to create +** a binary file or converts a binary file to base85 on stdout. +** Read or make it blurt its help for invocation details. +** +** The SQLite3 extension creates a function, base85(x), which will +** either convert text base85 to a blob or a blob to text base85 +** and return the result (or throw an error for other types.) +** Unless built with OMIT_BASE85_CHECKER defined, it also creates a +** function, is_base85(t), which returns 1 iff the text t contains +** nothing other than base85 numerals and whitespace, or 0 otherwise. +** +** To build the extension: +** Set shell variable SQDIR= +** and variable OPTS to -DOMIT_BASE85_CHECKER if is_base85() unwanted. +** *Nix: gcc -O2 -shared -I$SQDIR $OPTS -fPIC -o base85.so base85.c +** OSX: gcc -O2 -dynamiclib -fPIC -I$SQDIR $OPTS -o base85.dylib base85.c +** Win32: gcc -O2 -shared -I%SQDIR% %OPTS% -o base85.dll base85.c +** Win32: cl /Os -I%SQDIR% %OPTS% base85.c -link -dll -out:base85.dll +** +** To build the standalone program, define PP symbol BASE85_STANDALONE. Eg. +** *Nix or OSX: gcc -O2 -DBASE85_STANDALONE base85.c -o base85 +** Win32: gcc -O2 -DBASE85_STANDALONE -o base85.exe base85.c +** Win32: cl /Os /MD -DBASE85_STANDALONE base85.c +*/ + +#include +#include +#include +#include +#ifndef OMIT_BASE85_CHECKER +# include +#endif + +#ifndef BASE85_STANDALONE + +/* # include "sqlite3ext.h" */ + +SQLITE_EXTENSION_INIT1; + +#else + +# ifdef _WIN32 +# include +# include +# else +# define setmode(fd,m) +# endif + +static char *zHelp = + "Usage: base85 \n" + " is either -r to read or -w to write ,\n" + " content to be converted to/from base85 on stdout/stdin.\n" + " names a binary file to be rendered or created.\n" + " Or, the name '-' refers to the stdin or stdout stream.\n" + ; + +static void sayHelp(){ + printf("%s", zHelp); +} +#endif + +#ifndef U8_TYPEDEF +/* typedef unsigned char u8; */ +#define U8_TYPEDEF +#endif + +/* Classify c according to interval within USASCII set w.r.t. base85 + * Values of 1 and 3 are base85 numerals. Values of 0, 2, or 4 are not. + */ +#define B85_CLASS( c ) (((c)>='#')+((c)>'&')+((c)>='*')+((c)>'z')) + +/* Provide digitValue to b85Numeral offset as a function of above class. */ +static u8 b85_cOffset[] = { 0, '#', 0, '*'-4, 0 }; +#define B85_DNOS( c ) b85_cOffset[B85_CLASS(c)] + +/* Say whether c is a base85 numeral. */ +#define IS_B85( c ) (B85_CLASS(c) & 1) + +#if 0 /* Not used, */ +static u8 base85DigitValue( char c ){ + u8 dv = (u8)(c - '#'); + if( dv>87 ) return 0xff; + return (dv > 3)? dv-3 : dv; +} +#endif + +/* Width of base64 lines. Should be an integer multiple of 5. */ +#define B85_DARK_MAX 80 + + +static char * skipNonB85( char *s ){ + char c; + while( (c = *s) && !IS_B85(c) ) ++s; + return s; +} + +/* Convert small integer, known to be in 0..84 inclusive, to base85 numeral. + * Do not use the macro form with argument expression having a side-effect.*/ +#if 0 +static char base85Numeral( u8 b ){ + return (b < 4)? (char)(b + '#') : (char)(b - 4 + '*'); +} +#else +# define base85Numeral( dn )\ + ((char)(((dn) < 4)? (char)((dn) + '#') : (char)((dn) - 4 + '*'))) +#endif + +static char *putcs(char *pc, char *s){ + char c; + while( (c = *s++)!=0 ) *pc++ = c; + return pc; +} + +/* Encode a byte buffer into base85 text. If pSep!=0, it's a C string +** to be appended to encoded groups to limit their length to B85_DARK_MAX +** or to terminate the last group (to aid concatenation.) +*/ +static char* toBase85( u8 *pIn, int nbIn, char *pOut, char *pSep ){ + int nCol = 0; + while( nbIn >= 4 ){ + int nco = 5; + unsigned long qbv = (((unsigned long)pIn[0])<<24) | + (pIn[1]<<16) | (pIn[2]<<8) | pIn[3]; + while( nco > 0 ){ + unsigned nqv = (unsigned)(qbv/85UL); + unsigned char dv = qbv - 85UL*nqv; + qbv = nqv; + pOut[--nco] = base85Numeral(dv); + } + nbIn -= 4; + pIn += 4; + pOut += 5; + if( pSep && (nCol += 5)>=B85_DARK_MAX ){ + pOut = putcs(pOut, pSep); + nCol = 0; + } + } + if( nbIn > 0 ){ + int nco = nbIn + 1; + unsigned long qv = *pIn++; + int nbe = 1; + while( nbe++ < nbIn ){ + qv = (qv<<8) | *pIn++; + } + nCol += nco; + while( nco > 0 ){ + u8 dv = (u8)(qv % 85); + qv /= 85; + pOut[--nco] = base85Numeral(dv); + } + pOut += (nbIn+1); + } + if( pSep && nCol>0 ) pOut = putcs(pOut, pSep); + *pOut = 0; + return pOut; +} + +/* Decode base85 text into a byte buffer. */ +static u8* fromBase85( char *pIn, int ncIn, u8 *pOut ){ + if( ncIn>0 && pIn[ncIn-1]=='\n' ) --ncIn; + while( ncIn>0 ){ + static signed char nboi[] = { 0, 0, 1, 2, 3, 4 }; + char *pUse = skipNonB85(pIn); + unsigned long qv = 0L; + int nti, nbo; + ncIn -= (pUse - pIn); + pIn = pUse; + nti = (ncIn>5)? 5 : ncIn; + nbo = nboi[nti]; + if( nbo==0 ) break; + while( nti>0 ){ + char c = *pIn++; + u8 cdo = B85_DNOS(c); + --ncIn; + if( cdo==0 ) break; + qv = 85 * qv + (c - cdo); + --nti; + } + nbo -= nti; /* Adjust for early (non-digit) end of group. */ + switch( nbo ){ + case 4: + *pOut++ = (qv >> 24)&0xff; + case 3: + *pOut++ = (qv >> 16)&0xff; + case 2: + *pOut++ = (qv >> 8)&0xff; + case 1: + *pOut++ = qv&0xff; + case 0: + break; + } + } + return pOut; +} + +#ifndef OMIT_BASE85_CHECKER +/* Say whether input char sequence is all (base85 and/or whitespace).*/ +static int allBase85( char *p, int len ){ + char c; + while( len-- > 0 && (c = *p++) != 0 ){ + if( !IS_B85(c) && !isspace(c) ) return 0; + } + return 1; +} +#endif + +#ifndef BASE85_STANDALONE + +# ifndef OMIT_BASE85_CHECKER +/* This function does the work for the SQLite is_base85(t) UDF. */ +static void is_base85(sqlite3_context *context, int na, sqlite3_value *av[]){ + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_TEXT: + { + int rv = allBase85( (char *)sqlite3_value_text(av[0]), + sqlite3_value_bytes(av[0]) ); + sqlite3_result_int(context, rv); + } + break; + case SQLITE_NULL: + sqlite3_result_null(context); + break; + default: + sqlite3_result_error(context, "is_base85 accepts only text or NULL", -1); + return; + } +} +# endif + +/* This function does the work for the SQLite base85(x) UDF. */ +static void base85(sqlite3_context *context, int na, sqlite3_value *av[]){ + int nb, nc, nv = sqlite3_value_bytes(av[0]); + int nvMax = sqlite3_limit(sqlite3_context_db_handle(context), + SQLITE_LIMIT_LENGTH, -1); + char *cBuf; + u8 *bBuf; + assert(na==1); + switch( sqlite3_value_type(av[0]) ){ + case SQLITE_BLOB: + nb = nv; + /* ulongs tail newlines tailenc+nul*/ + nc = 5*(nv/4) + nv%4 + nv/64+1 + 2; + if( nvMax < nc ){ + sqlite3_result_error(context, "blob expanded to base85 too big", -1); + return; + } + cBuf = sqlite3_malloc(nc); + if( !cBuf ) goto memFail; + bBuf = (u8*)sqlite3_value_blob(av[0]); + nc = (int)(toBase85(bBuf, nb, cBuf, "\n") - cBuf); + sqlite3_result_text(context, cBuf, nc, sqlite3_free); + break; + case SQLITE_TEXT: + nc = nv; + nb = 4*(nv/5) + nv%5; /* may overestimate */ + if( nvMax < nb ){ + sqlite3_result_error(context, "blob from base85 may be too big", -1); + return; + }else if( nb<1 ){ + nb = 1; + } + bBuf = sqlite3_malloc(nb); + if( !bBuf ) goto memFail; + cBuf = (char *)sqlite3_value_text(av[0]); + nb = (int)(fromBase85(cBuf, nc, bBuf) - bBuf); + sqlite3_result_blob(context, bBuf, nb, sqlite3_free); + break; + default: + sqlite3_result_error(context, "base85 accepts only blob or text.", -1); + return; + } + return; + memFail: + sqlite3_result_error(context, "base85 OOM", -1); +} + +/* +** Establish linkage to running SQLite library. +*/ +#ifndef SQLITE_SHELL_EXTFUNCS *** 11431 LINES SKIPPED *** From nobody Wed Mar 15 14:49:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcCvr5YMkz3yc5c; Wed, 15 Mar 2023 14:49: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 4PcCvr4rWMz4V6b; Wed, 15 Mar 2023 14:49:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678891752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a4m8QMDsRYVbqSF+etTTb/tFD+xtlO9/0eB7i5yUOzY=; b=U2KjpOBWGHdDFP67ksUvgVsrUPhv09elZUBKpIqlnlFo1HXllVAGB58MLD4jqiO8gL6nzQ OevweK5itf5aBgVkr8J4zryVE8hz0xyuJz3mxY8XohzPC8sy4x38p6kGYijEucRsE1i1kK MBjgH+wT8EBWR4HX3w9SwQ65R/uI8sAsEEvKfoWD5cl0RpM6QOPkT3g0anpNS7jVBTw4ei 3uW1PcWFlCuGtyM/PaDV2GN/X7pFsZZ7SMETkfLkhogTxU4zyA0JmZ6DRugW/5t8zOeOjU i+wwJjZgiAGDX9Ughr8RWKumLF/UoHnccM8DN8EfMBfqazQ+ukgu78bP2m19RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678891752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a4m8QMDsRYVbqSF+etTTb/tFD+xtlO9/0eB7i5yUOzY=; b=SB4mW98GfbxaLe2pACnhNJUd02atEGGiBc0hkP0krdFeTLjuX7xd8oX4IhwXlqMGMdk/fm ZpUqVwhkQCSH1HRYsGcH6O7MBcgWKnzV1kLcTCKvhchwFUl2fTJXpe7J9F97bcJCH73x16 MOsXCHnz1FofF94xI4CPbZKpgYvusmMxXvy8VdRIvKYtaGQLZK9vq0vN0AnlnkugsoP4wY TC6glZziBeQL8lfe7Gr1GyMCeQKmkTxfpAl/vqDWV5edFDlGLHPH3bZzhzOxIdoeIemOla UJDy+nkHwHZvvK71V3L2yuHx6jZ/nupEoXeucR8pQ5H0A+NPfm0f+xgSyRuUAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678891752; a=rsa-sha256; cv=none; b=I4kur4/bGMKu2YhQ2VXNUS736IUGWB2GCTvZDsvHazNvYbRd04GPAXmu+7rKXmc4X03KY5 N/WSLUJ/4CNbu2OztFbTHzqvXhf4oUz9nUAan1rertEWGQl+3VCfCwptQGjhOid3qngKT4 KzdPCKRKpZ9QmSBzL/m2Q8q+Hii/yXWyNHrbe+EgauB3ctWftL15WNC2ZmMTt8nbSnTw93 YS6tgxbXcpXlXhIxfm9GfC9hlS5wOrX7LXd9V3wYecgiWkb7zf+eusscUk1VmvDxfd95L1 jl7nJQdwNeOcclbAFiEtimdFReT0wzUBdPOSi/uGXMU87le+UoqyyFqB0u5JrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcCvr3ZzSz1KTJ; Wed, 15 Mar 2023 14:49: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 32FEnCnN060791; Wed, 15 Mar 2023 14:49:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FEnC6K060790; Wed, 15 Mar 2023 14:49:12 GMT (envelope-from git) Date: Wed, 15 Mar 2023 14:49:12 GMT Message-Id: <202303151449.32FEnC6K060790@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 6b488550ee57 - releng/13.2 - epair: Avoid loading m_flags into a short List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 6b488550ee57dc09b7d564aa22f9feb61778a89f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6b488550ee57dc09b7d564aa22f9feb61778a89f commit 6b488550ee57dc09b7d564aa22f9feb61778a89f Author: Mark Johnston AuthorDate: 2023-03-06 14:39:17 +0000 Commit: Mark Johnston CommitDate: 2023-03-15 13:39:34 +0000 epair: Avoid loading m_flags into a short The m_flags field of struct mbuf is 24 bits wide and so gets truncated in a couple of places in the epair code. Instead of preserving the entire flag set, just remember whether M_BCAST or M_MCAST is set. Approved by: re (cperciva) MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit 48227d1c6db8fceaceebbf8578612302d64ca170) (cherry picked from commit c3bd32f225ec093ba0f7cd7fc1a000b02aad5211) --- sys/net/if_epair.c | 97 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 42 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index e7257f5fa551..e2c61f83d940 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -188,39 +188,14 @@ epair_tx_start_deferred(void *arg, int pending) if_rele(sc->ifp); } -static int -epair_menq(struct mbuf *m, struct epair_softc *osc) +static struct epair_queue * +epair_select_queue(struct epair_softc *sc, struct mbuf *m) { - struct ifnet *ifp, *oifp; - int len, ret; - int ridx; - short mflags; - struct epair_queue *q = NULL; uint32_t bucket; #ifdef RSS struct ether_header *eh; -#endif - - /* - * I know this looks weird. We pass the "other sc" as we need that one - * and can get both ifps from it as well. - */ - oifp = osc->ifp; - ifp = osc->oifp; - - M_ASSERTPKTHDR(m); - epair_clear_mbuf(m); - if_setrcvif(m, oifp); - M_SETFIB(m, oifp->if_fib); - - /* Save values as once the mbuf is queued, it's not ours anymore. */ - len = m->m_pkthdr.len; - mflags = m->m_flags; - - MPASS(m->m_nextpkt == NULL); - MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); + int ret; -#ifdef RSS ret = rss_m2bucket(m, &bucket); if (ret) { /* Actually hash the packet. */ @@ -242,11 +217,47 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) break; } } - bucket %= osc->num_queues; + bucket %= sc->num_queues; #else bucket = 0; #endif - q = &osc->queues[bucket]; + return (&sc->queues[bucket]); +} + +static void +epair_prepare_mbuf(struct mbuf *m, struct ifnet *src_ifp) +{ + M_ASSERTPKTHDR(m); + epair_clear_mbuf(m); + if_setrcvif(m, src_ifp); + M_SETFIB(m, src_ifp->if_fib); + + MPASS(m->m_nextpkt == NULL); + MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); +} + +static void +epair_menq(struct mbuf *m, struct epair_softc *osc) +{ + struct ifnet *ifp, *oifp; + int len, ret; + int ridx; + bool mcast; + + /* + * I know this looks weird. We pass the "other sc" as we need that one + * and can get both ifps from it as well. + */ + oifp = osc->ifp; + ifp = osc->oifp; + + epair_prepare_mbuf(m, oifp); + + /* Save values as once the mbuf is queued, it's not ours anymore. */ + len = m->m_pkthdr.len; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; + + struct epair_queue *q = epair_select_queue(osc, m); atomic_set_long(&q->state, (1 << BIT_MBUF_QUEUED)); ridx = atomic_load_int(&q->ridx); @@ -255,7 +266,7 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) /* Ring is full. */ if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); m_freem(m); - return (0); + return; } if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); @@ -265,15 +276,13 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) * the logic another time. */ if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); /* Someone else received the packet. */ if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); if (!atomic_testandset_long(&q->state, BIT_QUEUE_TASK)) - taskqueue_enqueue(epair_tasks.tq[bucket], &q->tx_task); - - return (0); + taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); } static void @@ -317,8 +326,10 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) { struct epair_softc *sc; struct ifnet *oifp; - int error, len; - short mflags; +#ifdef ALTQ + int len; + bool mcast; +#endif if (m == NULL) return (0); @@ -355,10 +366,12 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) m_freem(m); return (0); } - len = m->m_pkthdr.len; - mflags = m->m_flags; #ifdef ALTQ + len = m->m_pkthdr.len; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; + int error = 0; + /* Support ALTQ via the classic if_start() path. */ IF_LOCK(&ifp->if_snd); if (ALTQ_IS_ENABLED(&ifp->if_snd)) { @@ -368,7 +381,7 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) IF_UNLOCK(&ifp->if_snd); if (!error) { if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); epair_start(ifp); } @@ -377,8 +390,8 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) IF_UNLOCK(&ifp->if_snd); #endif - error = epair_menq(m, oifp->if_softc); - return (error); + epair_menq(m, oifp->if_softc); + return (0); } static int From nobody Wed Mar 15 14:49:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcCvs6V1zz3yc08; Wed, 15 Mar 2023 14:49: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 4PcCvs5jT3z4V2C; Wed, 15 Mar 2023 14:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678891753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxjPJV+PhDxmyrGCG/rtThg2e7hIy6t4FfEU3B9iys=; b=UhnZJzRq1eYJ+0Mnae7WyWLPALaG0qAfzkS50ihZuXITp7syy2tS35YAr6RlPBjn0Es7Un tor4PZtht4+iL/6UoZTpyQzHGydoOO7kOlt356GB0IncFoha3xtNHr4FiTYWTN1/Q+JmLx JRhHeUBaVjqhPos4uVyH0mdW4f2L4+V3e8yFO2Ed5yiqSBNMMPErDBEDiICr0K5NMPEfQS g7ylco4LAeRX3wEOgTyedBq9LeRI1UdIeBKLuk+xllmdDsFecck7tFdYHH3OLYoBZVYOFH TAGTIV/il5u1iWlP8E8AU2WJc3GjZH1olRrFA6ChbmhHuISXNTCOLS1cD1Pw5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678891753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxjPJV+PhDxmyrGCG/rtThg2e7hIy6t4FfEU3B9iys=; b=DyZKDpeh8L2Vczut3+t+UpFLoSHzCpxT3kTQdqAbk9iEtm/55TZKlVWsGQS8wDLh60tu0h z9024ENA4+3EbmgwFxH0pivZxu8jDDnz9IiahqYrzrZ6ESkkA0LmrmAUbjBPw8B8RQWYW+ iZSZeDcLHv2c9a7g1/cXZnv8uCS0/WtihCm6SSv04gRIHrH6PL+pyVv44QcEUF+W/DhI2s 4Rtg25U7ip3k4ELa7WmD5SO7YyvVqAGKEIWP/q1dSu/NwrHGeAgU6aAmhYJRuANNCu6pFk yBBWLd7qTJEIjqUSencmgeqOyfoxJYj95ttiVmBeWZIC0mqT6njTQ+dek/3FjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678891753; a=rsa-sha256; cv=none; b=QCFkmwUk6pyu8UzZSgYCLG71U2c8HIV/gZDDETK9zOUZeg2VsnctleBLt4WTCCe3DJdirg CaC0o+6U4GJGZrn2zIwoOt6WTbHBcsg+9+mBSwVc9jnDQX2dhf7iZITx+gSVvJb6HksJNY mP018AD+Y+md1h8OlK7n2Wukd10p1KS3Hi6uOnJ1sxiTnek6mlVyUPdFzEJpf0ygoLEfUO +3DktJBOcEMI3PrtKGofL61pBY4WLXzYqQPOmYNd6rzFhNTYrEw08bQkXU89Bd5/qT0jUS HBv3Kpbqg8sPv/pdOEH4btWDZyleRNJiPJX1cBagJwC6jVALnR5cJjOg2jffcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcCvs4TW3z1Kr4; Wed, 15 Mar 2023 14:49: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 32FEnDvv060811; Wed, 15 Mar 2023 14:49:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FEnDmV060810; Wed, 15 Mar 2023 14:49:13 GMT (envelope-from git) Date: Wed, 15 Mar 2023 14:49:13 GMT Message-Id: <202303151449.32FEnDmV060810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 5e49311e0177 - releng/13.2 - epair: Simplify the transmit path and address lost wakeups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 5e49311e0177932e0f0323fd547eedb4e50bbb4d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5e49311e0177932e0f0323fd547eedb4e50bbb4d commit 5e49311e0177932e0f0323fd547eedb4e50bbb4d Author: Mark Johnston AuthorDate: 2023-03-01 20:21:30 +0000 Commit: Mark Johnston CommitDate: 2023-03-15 13:39:55 +0000 epair: Simplify the transmit path and address lost wakeups epairs currently shuttle all transmitted packets through a single global taskqueue thread. To hand packets over to the taskqueue thread, each epair maintains a pair of ring buffers and a lockless scheme for notifying the thread of pending work. The implementation can lead to lost wakeups, causing to-be-transmitted packets to end up stuck in the queue. Rather than extending the existing scheme, simply replace it with a linked list protected by a mutex, and use the mutex to synchronize wakeups of the taskqueue thread. This appears to give equivalent or better throughput with >= 16 producer threads and eliminates the lost wakeups. Approved by: re (cperciva) Reviewed by: kp MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38843 (cherry picked from commit df7bbd8c354a907d2c2f85a6e18f356f76458f57) (cherry picked from commit 762ad964ee346cffdbf3eaa6ff87fa5b32d30738) --- sys/net/if_epair.c | 162 ++++++++++++++++++++++++++--------------------------- 1 file changed, 79 insertions(+), 83 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index e2c61f83d940..aebcaca0cd2f 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -104,15 +104,16 @@ static unsigned int next_index = 0; #define EPAIR_LOCK() mtx_lock(&epair_n_index_mtx) #define EPAIR_UNLOCK() mtx_unlock(&epair_n_index_mtx) -#define BIT_QUEUE_TASK 0 -#define BIT_MBUF_QUEUED 1 - struct epair_softc; struct epair_queue { + struct mtx mtx; + struct mbufq q; int id; - struct buf_ring *rxring[2]; - volatile int ridx; /* 0 || 1 */ - volatile long state; /* taskqueue coordination */ + enum { + EPAIR_QUEUE_IDLE, + EPAIR_QUEUE_WAKING, + EPAIR_QUEUE_RUNNING, + } state; struct task tx_task; struct epair_softc *sc; }; @@ -148,44 +149,49 @@ epair_clear_mbuf(struct mbuf *m) } static void -epair_if_input(struct epair_softc *sc, struct epair_queue *q, int ridx) +epair_tx_start_deferred(void *arg, int pending) { - struct ifnet *ifp; - struct mbuf *m; + struct epair_queue *q = (struct epair_queue *)arg; + if_t ifp; + struct mbuf *m, *n; + bool resched; + + ifp = q->sc->ifp; - ifp = sc->ifp; + if_ref(ifp); CURVNET_SET(ifp->if_vnet); - while (! buf_ring_empty(q->rxring[ridx])) { - m = buf_ring_dequeue_mc(q->rxring[ridx]); - if (m == NULL) - continue; - MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); - (*ifp->if_input)(ifp, m); + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + q->state = EPAIR_QUEUE_RUNNING; + mtx_unlock(&q->mtx); + while (m != NULL) { + n = STAILQ_NEXT(m, m_stailqpkt); + m->m_nextpkt = NULL; + if_input(ifp, m); + m = n; } - CURVNET_RESTORE(); -} -static void -epair_tx_start_deferred(void *arg, int pending) -{ - struct epair_queue *q = (struct epair_queue *)arg; - struct epair_softc *sc = q->sc; - int ridx, nidx; - - if_ref(sc->ifp); - ridx = atomic_load_int(&q->ridx); - do { - nidx = (ridx == 0) ? 1 : 0; - } while (!atomic_fcmpset_int(&q->ridx, &ridx, nidx)); - epair_if_input(sc, q, ridx); - - atomic_clear_long(&q->state, (1 << BIT_QUEUE_TASK)); - if (atomic_testandclear_long(&q->state, BIT_MBUF_QUEUED)) + /* + * Avoid flushing the queue more than once per task. We can otherwise + * end up starving ourselves in a multi-epair routing configuration. + */ + mtx_lock(&q->mtx); + if (mbufq_len(&q->q) > 0) { + resched = true; + q->state = EPAIR_QUEUE_WAKING; + } else { + resched = false; + q->state = EPAIR_QUEUE_IDLE; + } + mtx_unlock(&q->mtx); + + if (resched) taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); - if_rele(sc->ifp); + CURVNET_RESTORE(); + if_rele(ifp); } static struct epair_queue * @@ -239,9 +245,9 @@ epair_prepare_mbuf(struct mbuf *m, struct ifnet *src_ifp) static void epair_menq(struct mbuf *m, struct epair_softc *osc) { + struct epair_queue *q; struct ifnet *ifp, *oifp; - int len, ret; - int ridx; + int error, len; bool mcast; /* @@ -257,32 +263,26 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) len = m->m_pkthdr.len; mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; - struct epair_queue *q = epair_select_queue(osc, m); + q = epair_select_queue(osc, m); - atomic_set_long(&q->state, (1 << BIT_MBUF_QUEUED)); - ridx = atomic_load_int(&q->ridx); - ret = buf_ring_enqueue(q->rxring[ridx], m); - if (ret != 0) { - /* Ring is full. */ - if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); - m_freem(m); - return; + mtx_lock(&q->mtx); + if (q->state == EPAIR_QUEUE_IDLE) { + q->state = EPAIR_QUEUE_WAKING; + taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); } + error = mbufq_enqueue(&q->q, m); + mtx_unlock(&q->mtx); - if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - /* - * IFQ_HANDOFF_ADJ/ip_handoff() update statistics, - * but as we bypass all this we have to duplicate - * the logic another time. - */ - if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mcast) - if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); - /* Someone else received the packet. */ - if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); - - if (!atomic_testandset_long(&q->state, BIT_QUEUE_TASK)) - taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); + if (error != 0) { + m_freem(m); + if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); + } else { + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(ifp, IFCOUNTER_OBYTES, len); + if (mcast) + if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); + if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); + } } static void @@ -561,10 +561,9 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) for (int i = 0; i < sca->num_queues; i++) { struct epair_queue *q = &sca->queues[i]; q->id = i; - q->rxring[0] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->rxring[1] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->ridx = 0; - q->state = 0; + q->state = EPAIR_QUEUE_IDLE; + mtx_init(&q->mtx, "epaiq", NULL, MTX_DEF | MTX_NEW); + mbufq_init(&q->q, RXRSIZE); q->sc = sca; NET_TASK_INIT(&q->tx_task, 0, epair_tx_start_deferred, q); } @@ -584,10 +583,9 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) for (int i = 0; i < scb->num_queues; i++) { struct epair_queue *q = &scb->queues[i]; q->id = i; - q->rxring[0] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->rxring[1] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->ridx = 0; - q->state = 0; + q->state = EPAIR_QUEUE_IDLE; + mtx_init(&q->mtx, "epaiq", NULL, MTX_DEF | MTX_NEW); + mbufq_init(&q->q, RXRSIZE); q->sc = scb; NET_TASK_INIT(&q->tx_task, 0, epair_tx_start_deferred, q); } @@ -707,18 +705,18 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) static void epair_drain_rings(struct epair_softc *sc) { - int ridx; - struct mbuf *m; + for (int i = 0; i < sc->num_queues; i++) { + struct epair_queue *q; + struct mbuf *m, *n; - for (ridx = 0; ridx < 2; ridx++) { - for (int i = 0; i < sc->num_queues; i++) { - struct epair_queue *q = &sc->queues[i]; - do { - m = buf_ring_dequeue_sc(q->rxring[ridx]); - if (m == NULL) - break; - m_freem(m); - } while (1); + q = &sc->queues[i]; + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + mtx_unlock(&q->mtx); + + for (; m != NULL; m = n) { + n = m->m_nextpkt; + m_freem(m); } } } @@ -764,8 +762,7 @@ epair_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) ifmedia_removeall(&scb->media); for (int i = 0; i < scb->num_queues; i++) { struct epair_queue *q = &scb->queues[i]; - buf_ring_free(q->rxring[0], M_EPAIR); - buf_ring_free(q->rxring[1], M_EPAIR); + mtx_destroy(&q->mtx); } free(scb->queues, M_EPAIR); free(scb, M_EPAIR); @@ -776,8 +773,7 @@ epair_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) ifmedia_removeall(&sca->media); for (int i = 0; i < sca->num_queues; i++) { struct epair_queue *q = &sca->queues[i]; - buf_ring_free(q->rxring[0], M_EPAIR); - buf_ring_free(q->rxring[1], M_EPAIR); + mtx_destroy(&q->mtx); } free(sca->queues, M_EPAIR); free(sca, M_EPAIR); From nobody Wed Mar 15 20:02:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcLs91sJbz3xj9m; Wed, 15 Mar 2023 20:02: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 4PcLs91R60z3q6b; Wed, 15 Mar 2023 20:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAPK0ptYOKP2baoSadOb9gaU4HgndPz4Leu9TkHwdEg=; b=vIB04B41nW/rcWZGT6a0kgzjB/ehi0/A1hlLQXuGpluZhgSHIMmEibzXNUtbiVLNlDyaNo k/atmFpxbq8udVZM2BQmPjpTIY41Xbdxs1exrv7IADm+TakHaofthyYphOkfF52NfK4JbM KJQ2ucsafgurbYEM4luTeMHXI7J3+JqbLeMUQyoMyqVv4WfHVQuZVuV5wsXMBR3rGBetC/ MA+AJZdr0aKlrKYRDUNUlyNxSLC0jjZ32GV/lm2/JkiGGVuSIUJKyWz2y/ZOuWnX3HonjZ gwt5fZKD8Jt/9pyFDYcfHh7AXkPDOWeYmgABNMBeYjYSjZ9ryAELEx70pg1M9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAPK0ptYOKP2baoSadOb9gaU4HgndPz4Leu9TkHwdEg=; b=bHtwjE/tOwQ/Fy4gxzmncl79BfJ8fZ4+OJyp2Zm5paLTVYm8GTYH9Qoh7zVk2rkJy5yYYv HJmnOHyJ1u175vfpjfzR8d/CjK7NS9uLR8k1iw/gUgHt5BKnMpx37SgfX4ncF5jlF/MAnI ULb72joG6Mc3zHzRj/7tdHexKgXy60etHk+gASwaL8vcdGUbamqNCrY1Y91RPUvgQQ7Gf8 6qTqELUBHrXptYiGtv+zvbmWamctho14j1qACnT/qom+tLLZEV8H0dn9ueASXbdb3b5gZ9 wBiUTq/s7JuK1DJDCrKj+vJVkMaA2qD8B/r9nPg/mCXKBsPjvQ3LaQgBCDqzLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678910541; a=rsa-sha256; cv=none; b=PWr9INxHYePvhWmquDFQGg+HlMZ4SPkVQWDDyLPrKoM90SwpVb37eGFdyJVtUJ6eJwMkUp F6eRIPp9Nclql/jCvPPXvtZkN1/IIKS/BYAwEQIikXp2EgzcWIWVU77HOqCyeQrp5AuUoG /XqrWNWpPpsVGWvy5GUlw+Ztb7/H5Q4zFjjhX+VXi5pu+7Er95Z55ncsbm/pq0fuLmW35E VTJzoCIfII7pnF7zVuRVvLz0iSZirQeXUWjJ6ztHZ5avHi89gzCQYSZxE1mla0VlLAmmWb gKsDdPGM34cJCfseJ7HGx3PNo9sqaMFL+eU4a0pMusS4fV9SvnFIw/6zWtL99w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcLs90BrLzFpl; Wed, 15 Mar 2023 20:02: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 32FK2KDn084457; Wed, 15 Mar 2023 20:02:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FK2KkJ084456; Wed, 15 Mar 2023 20:02:20 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:02:20 GMT Message-Id: <202303152002.32FK2KkJ084456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: 0a21a6659e5d - stable/13 - dtrace/powerpc: "Fix" stack traces across trap frames List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0a21a6659e5dfe503da587fb0460ae19bd765859 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0a21a6659e5dfe503da587fb0460ae19bd765859 commit 0a21a6659e5dfe503da587fb0460ae19bd765859 Author: Justin Hibbits AuthorDate: 2023-03-11 16:30:00 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 19:47:49 +0000 dtrace/powerpc: "Fix" stack traces across trap frames In function boundary tracing the link register is not yet saved to the save stack location, so the save point contains whatever the previous 'lr' save was, or even garbage, at the time the trap is taken. Address this by explicitly loading the link register from the trap frame instead of the stack, and propagate that out. (cherry picked from commit 3e1155ade1baab51458374efd0295bdf6db455fc) (cherry picked from commit e620e088cbd1c062655eee825aaf4f80bd255e1f) --- sys/cddl/dev/dtrace/powerpc/dtrace_isa.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c index cce1c907b5d8..1fca72e5b7fd 100644 --- a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c @@ -97,15 +97,18 @@ dtrace_sp_inkernel(uintptr_t sp) } static __inline void -dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) +dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc, uintptr_t *lr) { vm_offset_t callpc; struct trapframe *frame; + if (lr != 0 && *lr != 0) + callpc = *lr; + else #ifdef __powerpc64__ - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); #else - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); #endif /* @@ -121,6 +124,8 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = frame->fixreg[1]; if (pc != NULL) *pc = frame->srr0; + if (lr != NULL) + *lr = frame->lr; return; } @@ -128,6 +133,9 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = *(uintptr_t *)sp; if (pc != NULL) *pc = callpc; + /* lr is only valid for trap frames */ + if (lr != NULL) + *lr = 0; } void @@ -135,7 +143,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { int depth = 0; - uintptr_t osp, sp; + uintptr_t osp, sp, lr = 0; vm_offset_t callpc; pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; @@ -154,7 +162,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, if (!dtrace_sp_inkernel(sp)) break; osp = sp; - dtrace_next_sp_pc(osp, &sp, &callpc); + dtrace_next_sp_pc(osp, &sp, &callpc, &lr); if (aframes > 0) { aframes--; @@ -513,7 +521,7 @@ dtrace_getstackdepth(int aframes) depth++; osp = sp; - dtrace_next_sp_pc(sp, &sp, NULL); + dtrace_next_sp_pc(sp, &sp, NULL, NULL); } if (depth < aframes) return (0); From nobody Wed Mar 15 20:02:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcLsB4G0pz3xjD7; Wed, 15 Mar 2023 20:02: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 4PcLsB22vGz3qG4; Wed, 15 Mar 2023 20:02:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kkIIlH0HkOZWFyXhh0Cp3GxjbumahVV2XUj+Ve70pUk=; b=lvqvS44ahHVUGeG8Fo/rFxhKQUHsWXaJVzO3YO6Yvv8mPoFr33Pm9azntt/M9i6I4XolQL 4LIyQjr3AXttdVwc3xoA0sQ2uAUJf4F4u6zAYTxOBdNzOuUiW0etfJugywx0d3NJm0PdeP AY02Ecaierng/rr54kLRGUlJ+4dD/J03AhgwYcgXLVzJNUENc4rJzyPNq2LyYmO9mBynf0 g6RGZVCef3+rEfzXOVxWWEFbwh2O5byK4jXgUFLNxbYPPEgVAEILJBkJfBOipgu3mYPxXx OjZgSokdhoZy0aNMz4s9tXy4p2pevzNZmUFPcYYbcWt5Mpc/OtA3lbAyuN0gLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kkIIlH0HkOZWFyXhh0Cp3GxjbumahVV2XUj+Ve70pUk=; b=gO9tguQNYUcPOtgQm0prc8VgisDkbMUFk2BGwg4GQgfczWgI1Mqcue8DJu7FtHmCHQwvg0 R2iuvvdeWCiYBqERSaHu3nbF0C6dDkoNhsM/RHqxc+yDOoE64/t+D8KWZOBZuils1erlT+ pM5nC/2SG8/AytcCGOjdBkeJRrYrF9dHoT85bopjt5VdYIotWT8Xns2l8g1Qtvmrw3icU8 C9Ayw5BQc837Cc1oGxtXoxud/L74xbPM9nAAa9ofj1zdpiZdWR/MnuirHq2HrzC+Y2brVY XPCK72HQabhxqsFjiqDwIngdRXN6n4Acj3XDwkMRVjmFT27avu/8ivpMKET6Rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678910542; a=rsa-sha256; cv=none; b=Y6SvwqVjJcn0Soi7V6Du1+ZOgeBRwHVQqIc4MBKGwNXGaaxhOSL5F8w1Gws5gnXUGo4TGQ q01rFCJt85hU1wyarhhMqvkfMA2CnRe4+aRySj1qjZZeAPOc9vZUCoKGUJ9qs5stKx+U7I Csarn4+uUi4ajSV/pUkvtv1V0rRdzQpHwa9yNjMbgOu6QJPS5I/0aoZ3KR8iuefL0YR1Yp 4ChcqKcdnKpWWGSZNhDAoMJANjmlpWyLiplcFrZ3qBcGdsrOlCwpAVhf+5ZhO1ib0XnUEb reBfuJr43mIumNYVtsaxIFZmViX4RIMkaTMgY5KxyRrxRDGUdkVboRYccs3LSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcLsB16g7zFcj; Wed, 15 Mar 2023 20:02: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 32FK2MOb084479; Wed, 15 Mar 2023 20:02:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FK2MZ9084478; Wed, 15 Mar 2023 20:02:22 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:02:22 GMT Message-Id: <202303152002.32FK2MZ9084478@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: 1026d170f4f7 - stable/13 - dtrace/powerpc: Adjust AFRAMES for fbt and profile List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1026d170f4f70cdeb63cd05819c5557041e8ea94 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1026d170f4f70cdeb63cd05819c5557041e8ea94 commit 1026d170f4f70cdeb63cd05819c5557041e8ea94 Author: Justin Hibbits AuthorDate: 2023-03-11 16:23:38 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 19:47:49 +0000 dtrace/powerpc: Adjust AFRAMES for fbt and profile FBT_AFRAMES was skipping over too many frames, while PROFILE_AFRAMES was skipping over too few. Adjust them empirically. (cherry picked from commit 635ecbf47015c259226cb47a3de8fc00c9ed5924) --- sys/cddl/dev/fbt/powerpc/fbt_isa.c | 2 +- sys/cddl/dev/profile/profile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/powerpc/fbt_isa.c b/sys/cddl/dev/fbt/powerpc/fbt_isa.c index 0da74c9cf076..eb7feceb269d 100644 --- a/sys/cddl/dev/fbt/powerpc/fbt_isa.c +++ b/sys/cddl/dev/fbt/powerpc/fbt_isa.c @@ -48,7 +48,7 @@ #define FBT_ENTRY "entry" #define FBT_RETURN "return" -#define FBT_AFRAMES 7 +#define FBT_AFRAMES 5 int fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 48decf3a89cf..99381ea7d745 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -108,7 +108,7 @@ /* * This value is bogus just to make module compilable on powerpc */ -#define PROF_ARTIFICIAL_FRAMES 3 +#define PROF_ARTIFICIAL_FRAMES 8 #endif struct profile_probe_percpu; From nobody Wed Mar 15 20:07:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcLz46SF8z3xjjt; Wed, 15 Mar 2023 20:07: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 4PcLz44fwnz3rGy; Wed, 15 Mar 2023 20:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZrZQl06gIzGIChBqvLcdwDffI1RbNUdW1y9Z+n0YRM=; b=qTzpEq7k+6+Bs33L/gMzlBQunw9CIUQ7ZAujmKT+0iebBD4tw5QVSBLqZBFH1l+8dL+qZ6 HT080XRt6qn3NELzzjfRG9xmfV9eAUH3BHVtSrmTooBrodo0xi1grQ2DYVdcGYlj79ie6E hWnOWH7oN6c/Pv5J6Wvww3ukcgO2iqlwQm1tETslhFKpbylcnDUJ7i57xUGeCJXHzJwnT6 RJ6AYo90oa9adYQS0DTdLf7degW566i/FdGCfl9MURhklerbFHz00idP8EToU0mLbMZbT7 TNKHMy/IF2PLsTYPQLHieUA++jw6wt1/kFWAmUlIU8KDm8IjJyqL8wun+BA6Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678910848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZrZQl06gIzGIChBqvLcdwDffI1RbNUdW1y9Z+n0YRM=; b=aCHK+uSyhVfoBidPIqLbxH0Pb7dwL+aovqWwFnQnATiQuXbGHQG+9LWfs7EK50mlbddsqY Y4gwfhUER0+yXTt4E2L7wMCVn0gCjGx9/AoD8QfoRyrSYZ/ufcD1vicUSLl+oQfFMdHQrI +CnFBUg2cLl3DqmnSiGsOF/yTZqJS4ePZHlBKNqEROHIA/m8gBTsZD+3LKWcHCl2O1zBkw yPHFF1RbPXB0lJIh+5QJiK2niSynGYcvirF3hfbKx6GnmBTsbzHK8C5ECmaooEF156Bxj9 kQwtDpoSI7oo+k6yho/iedC9UqCrvzeinhfzmnVFm5MNG5Kx4xteG5kFakRjyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678910848; a=rsa-sha256; cv=none; b=Yoo8HgtdVYqUFWvupJxcz0meDzTA7Ys54INgUY28RtvG3Qt9MPhF24ZNN/ko1rr7o9jlhL LZlnwnuELJXKhEYqv376ixrDvjYmnC5+H5HAvBoTok8uTQdr3PTNsL0htFxw09aIbVnJ4A IxRgC5OOLcJINR+nFzIv4g56+hUFrNek/nIPpT+q+6HKoF/A6d5boX1KtH/COoV247iwGe KF/cnqZ8T/dbr1D7UB2Q8NUvih0RPL67x722LpFbLq7Hg9x9GReCggFhPR5EZxOnabR2L3 /gNUCQblVyEorp8AKlE9fHAAXHhAEXY5B68q+a2syPuFgOHjmPL/cArxR35X/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 4PcLz43lFMzFZ5; Wed, 15 Mar 2023 20:07: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 32FK7SMr086427; Wed, 15 Mar 2023 20:07:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FK7Ssu086426; Wed, 15 Mar 2023 20:07:28 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:07:28 GMT Message-Id: <202303152007.32FK7Ssu086426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: ed2c3bda43fb - stable/13 - powerpc/pmap: Add pmap_sync_icache() for radix pmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed2c3bda43fbd0bfad9e45c78a59fff8a62422da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ed2c3bda43fbd0bfad9e45c78a59fff8a62422da commit ed2c3bda43fbd0bfad9e45c78a59fff8a62422da Author: Justin Hibbits AuthorDate: 2023-03-12 15:46:57 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 20:06:29 +0000 powerpc/pmap: Add pmap_sync_icache() for radix pmap DTrace pid provider writes to user space to set breakpoints. Failing to sync the icache can lead to SIGTRAP. Radix pmap is the only one missing a pmap_sync_icache() method, so the pid provider would only potentially crash a process on a POWER9 or later system. (cherry picked from commit 6f0b2a235a133a381634ba9a7f5f477c64db9873) --- sys/powerpc/aim/mmu_radix.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index 34736d5031bd..9f59d524196f 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -464,6 +464,7 @@ void mmu_radix_remove(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_remove_all(vm_page_t); void mmu_radix_remove_pages(pmap_t); void mmu_radix_remove_write(vm_page_t); +void mmu_radix_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz); void mmu_radix_unwire(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_zero_page(vm_page_t); void mmu_radix_zero_page_area(vm_page_t, int, int); @@ -541,6 +542,7 @@ static struct pmap_funcs mmu_radix_methods = { .remove = mmu_radix_remove, .remove_all = mmu_radix_remove_all, .remove_write = mmu_radix_remove_write, + .sync_icache = mmu_radix_sync_icache, .unwire = mmu_radix_unwire, .zero_page = mmu_radix_zero_page, .zero_page_area = mmu_radix_zero_page_area, @@ -5912,6 +5914,25 @@ mmu_radix_unmapdev(vm_offset_t va, vm_size_t size) } } +void +mmu_radix_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz) +{ + vm_paddr_t pa = 0; + int sync_sz; + + while (sz > 0) { + pa = pmap_extract(pm, va); + sync_sz = PAGE_SIZE - (va & PAGE_MASK); + sync_sz = min(sync_sz, sz); + if (pa != 0) { + pa += (va & PAGE_MASK); + __syncicache((void *)PHYS_TO_DMAP(pa), sync_sz); + } + va += sync_sz; + sz -= sync_sz; + } +} + static __inline void pmap_pte_attr(pt_entry_t *pte, uint64_t cache_bits, uint64_t mask) { From nobody Wed Mar 15 20:47:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcMrm0lvBz3xlxH; Wed, 15 Mar 2023 20:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PcMrl72VSz3vcK; Wed, 15 Mar 2023 20:47:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0HQZt51Y1CJ0iZmE/gfg+083rB07iD0gF6t2/0gmzQQ=; b=lMDDGiD+nQx28yYnw8jnGhHdNzhh4u581trL1z8rpk9cG4VcCqxNjflV/PpBEY2H6Xy1iA 5KewWTJCd4KIYpwx5F6O9skZTvmEYJWz60TlP2D8uNEB4cb2OWjHpLIaEYeLqo02YQ39mc b0p097Ja1hFsxQzNegkyTmpjTx3vxyBv8AfEuHMBDDdSDnWJOcAonzjL2jT8eiEPXi9yuq s5iFYJ5CP8gv9OeOpAs9OxR1VX1CWv4spg3bdlNEm74tjslUOhKKb8U2KNMF2M+liyd0B4 MJntr+Ra4dgwEbp0a+5Kl4R3kGcTZrBKKo/oF7hltd/uA4iJSm8Uo450XxkzqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0HQZt51Y1CJ0iZmE/gfg+083rB07iD0gF6t2/0gmzQQ=; b=cXN+CGqmFB7LYR8YtF79ZV+gUMlJfAGOwVeoOR4v05ypXJ98jHJQweUhGClPyHXkA0GCR0 eHrL4M4EVl3aQ6AsQMOEp9XZSOXGYv7PiRKLJOdML8HvC7JeiB3unrtsNgu8MDV0Q5Uwd5 9sMZ2RuYh/9SrQwWI4yDY9lcHgOBmFslkoeqhVBizUWF40ccG396PsYfLSwp95Vl/zoPDe 6OsKHXSubg5b4tHxT2HNWlBv5TKKz667nVGFvXRGyUPrI+0wSVESt5BcG5YS+Vcl4Kkl7n QPQrmtcrDrgPlEnsnvfZmJJ1b91sJuOdb4pnVFvTv4IfxzxMFZCrrGGXND/5HA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678913224; a=rsa-sha256; cv=none; b=gSnTInrd/Zg5GfjLLH5bHIElUZq3ctqSYF7bkkVJIKzhMZb3bystCGSf7uCb4Ij0+iS6Qb pPNMMruHONpnjjvutmAKyVRI/HPed+DQbF+39YANFeMeG8WIkp8JihLVLf00ti0StozLBV OpbzMPSW32YZofRgFggIrMsvW2diZ7ap2M3mN5tbhsnEZjbeQrAI0+BTDTSO9lTeCdjw4l V2t/GKZws4Q51DmGAUp0Ocy5rzenxHut0svcraZz4lFf32agk2OVJ5WyHzFPm7GDg7wf1E aDJdOOnpYV74Pxk++yKp4L1gXDvojTeYTvuZcV7Crto2L3/fELX8TiJfY9r1DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcMrl5zL5zGfL; Wed, 15 Mar 2023 20:47: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 32FKl3KK051865; Wed, 15 Mar 2023 20:47:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FKl32C051864; Wed, 15 Mar 2023 20:47:03 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:47:03 GMT Message-Id: <202303152047.32FKl32C051864@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: fcd94047f33b - releng/13.2 - dtrace/powerpc: "Fix" stack traces across trap frames List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: fcd94047f33beb98f1eee4d09e29d6c8de31c4a6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=fcd94047f33beb98f1eee4d09e29d6c8de31c4a6 commit fcd94047f33beb98f1eee4d09e29d6c8de31c4a6 Author: Justin Hibbits AuthorDate: 2023-03-11 16:30:00 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 20:27:37 +0000 dtrace/powerpc: "Fix" stack traces across trap frames In function boundary tracing the link register is not yet saved to the save stack location, so the save point contains whatever the previous 'lr' save was, or even garbage, at the time the trap is taken. Address this by explicitly loading the link register from the trap frame instead of the stack, and propagate that out. Approved by: re (cperciva) (cherry picked from commit 3e1155ade1baab51458374efd0295bdf6db455fc) (cherry picked from commit e620e088cbd1c062655eee825aaf4f80bd255e1f) (cherry picked from commit 0a21a6659e5dfe503da587fb0460ae19bd765859) --- sys/cddl/dev/dtrace/powerpc/dtrace_isa.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c index cce1c907b5d8..1fca72e5b7fd 100644 --- a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c @@ -97,15 +97,18 @@ dtrace_sp_inkernel(uintptr_t sp) } static __inline void -dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) +dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc, uintptr_t *lr) { vm_offset_t callpc; struct trapframe *frame; + if (lr != 0 && *lr != 0) + callpc = *lr; + else #ifdef __powerpc64__ - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); #else - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); #endif /* @@ -121,6 +124,8 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = frame->fixreg[1]; if (pc != NULL) *pc = frame->srr0; + if (lr != NULL) + *lr = frame->lr; return; } @@ -128,6 +133,9 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = *(uintptr_t *)sp; if (pc != NULL) *pc = callpc; + /* lr is only valid for trap frames */ + if (lr != NULL) + *lr = 0; } void @@ -135,7 +143,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { int depth = 0; - uintptr_t osp, sp; + uintptr_t osp, sp, lr = 0; vm_offset_t callpc; pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; @@ -154,7 +162,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, if (!dtrace_sp_inkernel(sp)) break; osp = sp; - dtrace_next_sp_pc(osp, &sp, &callpc); + dtrace_next_sp_pc(osp, &sp, &callpc, &lr); if (aframes > 0) { aframes--; @@ -513,7 +521,7 @@ dtrace_getstackdepth(int aframes) depth++; osp = sp; - dtrace_next_sp_pc(sp, &sp, NULL); + dtrace_next_sp_pc(sp, &sp, NULL, NULL); } if (depth < aframes) return (0); From nobody Wed Mar 15 20:47:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcMrn1H59z3xmG9; Wed, 15 Mar 2023 20:47: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 4PcMrn0XbYz3vRG; Wed, 15 Mar 2023 20:47:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O1wB6Kdohu7AAXGY3XVkRpweiZVyaf+gJ0dqr1swUjE=; b=HlheOwLU/jNn96tznVTyR+x7/v9RAbnNtSnOMuEHpy73avdEnk/BPqTRPH9QXKUE1GG0HV h92RrbX4jKAx67A8zRe2f9b1uqU/TC+EwkwoYAtm8CEwaEEo3FBXU28JWfkUiXW0rA+tO1 xI9GGeE3bhK0F5EHQH88roOY9Cr8UdyA0efqvUrglkHi14Sz3eAI+woPCpVua0nzgJgsZ6 yKMt6VEdxPIJS/rp6GvZweAUPn9KmENCUYJ3jHD4zyAEzTQNBDyySVEuID0sIOrwyTylTZ uhB99lO4vRqyz65NxExP9MdGX0nnwAHuoKW4o9niJn9F69fzFPIFi5yF8vmHsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O1wB6Kdohu7AAXGY3XVkRpweiZVyaf+gJ0dqr1swUjE=; b=KdqhtTcyhcPIIdQrsQEsiA6VahdQVIvgJXAThfX0pNbTXxcsI9QIR3g9Vjw6b8I2nfozpI 4uP+JYuiBDcjV5e3OQMrBT9dkzYB8Ds8sRzvmKfkGs2B0BxlrzM/CMQzlctyMxJRZpytf1 n3dDKMtYTsiIq8p1IjxANxaXkOa9nqiRxHWYyJQmVaA543hzIV3oViPH3VIYnxLMUXIN8v onmtHAlmJfK57s2uVUSSgmTR8Egu/wmfDZp12h5mG8nRjIO3br1LNar+aL09QEPZfpuK/T CCV59pX0wTSOg4IpIJ7KVkaB/2ax1piupL+q700KI4pdTVCoHOsrXPkz8BCe9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678913225; a=rsa-sha256; cv=none; b=gq4EaY0WJXZyqR/uBfr5ptrHVb0yi4iV75njdsMAnXVb34T9MjI8XS/udfnRpKsfz6GWlU IPRXgn0xZmvyEcyS0Ej4NUpUeWJtE8nmPa1pd0QSVNoamVLgfnnA83WFKRaEs9CIXCuwpf XaOlxdQvdkAttSzS9czKKADRIzIf89CU/ecHU1vfPJ8PJm+52KtKpapd0/ePkl7n2Gxg7x jmVtJW6XBFduVDWDNUuHdI3GSZkKed9qAPkQV5WuBysCETuOr/5PjPX3Py9oX/UNEmNczP a9c+8HdMl0NxTS5qey9raiyAf9k7zqxro6EOR4v1rjGDwc1RIc58Myh5i/XEfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcMrm6QXbzGdQ; Wed, 15 Mar 2023 20:47: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 32FKl4n7051884; Wed, 15 Mar 2023 20:47:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FKl4Mb051883; Wed, 15 Mar 2023 20:47:04 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:47:04 GMT Message-Id: <202303152047.32FKl4Mb051883@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: 72d1ee8d6d76 - releng/13.2 - dtrace/powerpc: Adjust AFRAMES for fbt and profile List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 72d1ee8d6d76bd7a1e123d354a5fb356e3cc7908 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=72d1ee8d6d76bd7a1e123d354a5fb356e3cc7908 commit 72d1ee8d6d76bd7a1e123d354a5fb356e3cc7908 Author: Justin Hibbits AuthorDate: 2023-03-11 16:23:38 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 20:31:32 +0000 dtrace/powerpc: Adjust AFRAMES for fbt and profile FBT_AFRAMES was skipping over too many frames, while PROFILE_AFRAMES was skipping over too few. Adjust them empirically. Approved by: re (cperciva) (cherry picked from commit 635ecbf47015c259226cb47a3de8fc00c9ed5924) (cherry picked from commit 1026d170f4f70cdeb63cd05819c5557041e8ea94) --- sys/cddl/dev/fbt/powerpc/fbt_isa.c | 2 +- sys/cddl/dev/profile/profile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/powerpc/fbt_isa.c b/sys/cddl/dev/fbt/powerpc/fbt_isa.c index 0da74c9cf076..eb7feceb269d 100644 --- a/sys/cddl/dev/fbt/powerpc/fbt_isa.c +++ b/sys/cddl/dev/fbt/powerpc/fbt_isa.c @@ -48,7 +48,7 @@ #define FBT_ENTRY "entry" #define FBT_RETURN "return" -#define FBT_AFRAMES 7 +#define FBT_AFRAMES 5 int fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 48decf3a89cf..99381ea7d745 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -108,7 +108,7 @@ /* * This value is bogus just to make module compilable on powerpc */ -#define PROF_ARTIFICIAL_FRAMES 3 +#define PROF_ARTIFICIAL_FRAMES 8 #endif struct profile_probe_percpu; From nobody Wed Mar 15 20:47:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcMrp20Jcz3xmGC; Wed, 15 Mar 2023 20:47: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 4PcMrp1B0Rz3vgn; Wed, 15 Mar 2023 20:47:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7l9xdjH1DyqYcZsbM9gTdOsFouuLf2O4ssd4Y+AXOc=; b=P7vhnb5cv5ZTlikpUxqgj7erFl8nRGpIoWgEooFpy+KgXongePLJk/TwCH4jin9HSBio0C w9CfCyap33kF1vpXuwC9AvelffmNfKFG3S0R516qqZY3Vu+xhhBLea4pBTjqncOsWAChOX kH3BGV3y5l9+aF00SDtO1A7leGbMqOmW2eP2/+hWQETEZYgKQ5AmssMC1WTpAIhLTfLTey SmfXh4BG5eZR4IDOw5JUG7drTzSAhhFgMcCEv9MB/lJ9H4gKBXr+1frnI06ZJi8bTpA3eB kRWhA3B7FmdP9vrQ3X/sMUE9x3IR8HXRv6NtbmIK5lLxXn3520f9reVFmQ5hcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678913226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7l9xdjH1DyqYcZsbM9gTdOsFouuLf2O4ssd4Y+AXOc=; b=vSzrVeL2GNNG6H5WrU7fFRyy+l0itGRvS9w9t1xfyBt+NLfZR1R4zuB01F9xy+HNvmv+AD 0rIS1SeRq7oSxVc6wcb0Tgej1wFDDU5KkT7MIy64FYu8AHuf+GJOIr+hX5T5fipuUCiDwN CoAKlWwenoVM0FP3Q6leCSDgS9nS2bgoh4jYrZEf8qT4wOUSkyqMEs4sUJ1/90fDAbpPA5 DDWZNyUI2oiniK7oSKWaKSKZsE/U6XdMGRYOw/yMq5deKKiwUolj+KGSHRexuXJf8Gu+xG /eBGgEJjl4bDEcR/hLlTS5xCIJC723RsksCRKsRxsYkPM7es20qiuKW10mpe9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678913226; a=rsa-sha256; cv=none; b=BGdNM8D6vbATzFUMEvcCSSC3Z/OSZkae8hCVyAp/oSA90buaXvHdEuELvQH3C8Osng4s3p a49+n6tg38/+7f3FP1gqtea64KNDoapMytWfOrCXTNmQHFgUl1nrFmSDtvRVWggxDl0tKi clfSxDW2CuZltB0VWDxWnYp+FS24H5Qnuci7Ng/cM90qMrsC6Hu/dQBNz/kwgDYyxeSEVi KWDU9vMN8ECEs8ZbMrsxnp3C2tG5AOzP4LYKwGxB8dSr+QGOAvlBxgltM6zkZfgEruNc7/ ROZfTT+B/Rz8WrMA7mjkKBcmGd4qiqNyinzfIRnBWxu8/NnzWUfPlKsPe/ezVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcMrp00VHzGH7; Wed, 15 Mar 2023 20:47: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 32FKl5Xv051910; Wed, 15 Mar 2023 20:47:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FKl5PZ051909; Wed, 15 Mar 2023 20:47:05 GMT (envelope-from git) Date: Wed, 15 Mar 2023 20:47:05 GMT Message-Id: <202303152047.32FKl5PZ051909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Justin Hibbits Subject: git: f2df50925ee9 - releng/13.2 - powerpc/pmap: Add pmap_sync_icache() for radix pmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: f2df50925ee95ba201e2006931f0c0fbedd8e1ca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=f2df50925ee95ba201e2006931f0c0fbedd8e1ca commit f2df50925ee95ba201e2006931f0c0fbedd8e1ca Author: Justin Hibbits AuthorDate: 2023-03-12 15:46:57 +0000 Commit: Justin Hibbits CommitDate: 2023-03-15 20:31:40 +0000 powerpc/pmap: Add pmap_sync_icache() for radix pmap DTrace pid provider writes to user space to set breakpoints. Failing to sync the icache can lead to SIGTRAP. Radix pmap is the only one missing a pmap_sync_icache() method, so the pid provider would only potentially crash a process on a POWER9 or later system. Approved by: re (cperciva) (cherry picked from commit 6f0b2a235a133a381634ba9a7f5f477c64db9873) (cherry picked from commit ed2c3bda43fbd0bfad9e45c78a59fff8a62422da) --- sys/powerpc/aim/mmu_radix.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index 34736d5031bd..9f59d524196f 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -464,6 +464,7 @@ void mmu_radix_remove(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_remove_all(vm_page_t); void mmu_radix_remove_pages(pmap_t); void mmu_radix_remove_write(vm_page_t); +void mmu_radix_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz); void mmu_radix_unwire(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_zero_page(vm_page_t); void mmu_radix_zero_page_area(vm_page_t, int, int); @@ -541,6 +542,7 @@ static struct pmap_funcs mmu_radix_methods = { .remove = mmu_radix_remove, .remove_all = mmu_radix_remove_all, .remove_write = mmu_radix_remove_write, + .sync_icache = mmu_radix_sync_icache, .unwire = mmu_radix_unwire, .zero_page = mmu_radix_zero_page, .zero_page_area = mmu_radix_zero_page_area, @@ -5912,6 +5914,25 @@ mmu_radix_unmapdev(vm_offset_t va, vm_size_t size) } } +void +mmu_radix_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz) +{ + vm_paddr_t pa = 0; + int sync_sz; + + while (sz > 0) { + pa = pmap_extract(pm, va); + sync_sz = PAGE_SIZE - (va & PAGE_MASK); + sync_sz = min(sync_sz, sz); + if (pa != 0) { + pa += (va & PAGE_MASK); + __syncicache((void *)PHYS_TO_DMAP(pa), sync_sz); + } + va += sync_sz; + sz -= sync_sz; + } +} + static __inline void pmap_pte_attr(pt_entry_t *pte, uint64_t cache_bits, uint64_t mask) { From nobody Wed Mar 15 22:36:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcQHb41mFz3xtTw; Wed, 15 Mar 2023 22:36: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 4PcQHb3Ys9z47CQ; Wed, 15 Mar 2023 22:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678919819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6zqLsSPczd3LJ1o9NrOAeidM2Bn6y9RlZZ/ZieOUVz0=; b=H7Dw1aXPTG8xblmuMzDCa0+11B38WLxkrsOAQ2R8+VdeopxgbXuQbe6HZioedrNtzDVU61 tGo5Up1Lw+uLOqlkqqfsMgq6UC6zcVtJFwzkemo4TWKcMVazQhmdqGfA8+V/X5TQpBIbJx ptRef6hV4codu7CsY1DcRSQOzeIhmHvVCwQUxFr0EFSTB0kLL7n0uErkQJ4mnw1HHc8isk GimAvlsKicm/t1+jnGJfSw1AMs7zUnw4Z4NGXxc80X7yed5NaNjXe1cwOfovU11mrp5Pfe jx9mszNo57VqdndAIZAffvIoE67vJPv3u2d2rVojVJl0z8B6zqNN4AgElFZGHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678919819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6zqLsSPczd3LJ1o9NrOAeidM2Bn6y9RlZZ/ZieOUVz0=; b=QpnCPWR8O84l1CNlqtEDv09o7x7lCK4nNPGvryHhyS9iGkojB5Y/tJg0MELWhOL0V96Cxg NCwTouYJge13jzw14OH/t7yErBKMZunrLoPv0Z4bGnIVIPd1bRE+Q4ie7lCVl0jgN6Zp9I Pjg+mea90p3IROIDlsYf5WS2z913lh3lcZ07gkZ5g61JRzXg3JI5py5dcqzj/pSeLVDHtb /CNWgX+Y7tKv0ZPfiDnt+0gXZ+UwbQw8kFJWh4vu/ReGMbhW92ulDPLgmcqDSMVytBU7hZ HQ9MByGM2j9PKuyH/PYNbUqteHp37kli7LkxQzkvlHDrJSETkk/NJP6GPhmrmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678919819; a=rsa-sha256; cv=none; b=MAdfaGPDJ9a2Xp4PVDWXkOlGEdvvgz6IJ/N69RJuolSgR31b0I5m8hyKxBt6O28KdT6eKf 2HBFGynNhU3JxLbxjOGxSBuRdfQSHkgD63HR6cLp/VSFC0IoAhjBzoHwYHA8/SkErEpYQ0 pagsNknNsrXcJl0tcRNoZXExHtiCxECNCdiTuQ0gR057FIfv2yuL/NL5n8ujQghlyJwUAZ lG4zmBNtxupYQ6hr9jn+hhNdgy/b6jQhnhdV01SLGvBKPGOLxH0eWutet/JpdbGLDofoNG kizQsRs4DiB3dfmFcHv/lW3FjC6T3OkvwLBufmBpULIa4fS3sKccEgT8/w8q1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcQHb2c3CzKJy; Wed, 15 Mar 2023 22:36: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 32FMaxo5033434; Wed, 15 Mar 2023 22:36:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FMaxaW033433; Wed, 15 Mar 2023 22:36:59 GMT (envelope-from git) Date: Wed, 15 Mar 2023 22:36:59 GMT Message-Id: <202303152236.32FMaxaW033433@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: bd66219c6dc1 - stable/13 - sesutil: don't malloc in a tight loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bd66219c6dc10178cfcda8beedc39b92e95bdaad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=bd66219c6dc10178cfcda8beedc39b92e95bdaad commit bd66219c6dc10178cfcda8beedc39b92e95bdaad Author: Alan Somers AuthorDate: 2023-02-09 22:23:51 +0000 Commit: Alan Somers CommitDate: 2023-03-15 22:35:49 +0000 sesutil: don't malloc in a tight loop Reported by: mav Sponsored by: Axcient Reviwed by: mav Differential Revision: https://reviews.freebsd.org/D38473 (cherry picked from commit 4bd4e4b45e8bfbe855406098f393bdf4eda7104d) --- usr.sbin/sesutil/sesutil.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/usr.sbin/sesutil/sesutil.c b/usr.sbin/sesutil/sesutil.c index fe74a8d8ce90..47aa85a60a2e 100644 --- a/usr.sbin/sesutil/sesutil.c +++ b/usr.sbin/sesutil/sesutil.c @@ -417,6 +417,17 @@ objmap(int argc, char **argv __unused) usage(stderr, "map"); } + memset(&e_desc, 0, sizeof(e_desc)); + /* SES4r02 allows element descriptors of up to 65536 characters */ + e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); + if (e_desc.elm_desc_str == NULL) + xo_err(EXIT_FAILURE, "calloc()"); + + e_devname.elm_devnames = calloc(128, sizeof(char)); + if (e_devname.elm_devnames == NULL) + xo_err(EXIT_FAILURE, "calloc()"); + e_devname.elm_names_size = 128; + /* Get the list of ses devices */ if (glob(uflag, 0, NULL, &g) == GLOB_NOMATCH) { globfree(&g); @@ -481,28 +492,16 @@ objmap(int argc, char **argv __unused) xo_err(EXIT_FAILURE, "ENCIOC_GETELMSTAT"); } /* Get the description of the element */ - memset(&e_desc, 0, sizeof(e_desc)); e_desc.elm_idx = e_ptr[j].elm_idx; e_desc.elm_desc_len = UINT16_MAX; - e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); - if (e_desc.elm_desc_str == NULL) { - close(fd); - xo_err(EXIT_FAILURE, "calloc()"); - } if (ioctl(fd, ENCIOC_GETELMDESC, (caddr_t) &e_desc) < 0) { close(fd); xo_err(EXIT_FAILURE, "ENCIOC_GETELMDESC"); } + e_desc.elm_desc_str[e_desc.elm_desc_len] = '\0'; /* Get the device name(s) of the element */ - memset(&e_devname, 0, sizeof(e_devname)); e_devname.elm_idx = e_ptr[j].elm_idx; - e_devname.elm_names_size = 128; - e_devname.elm_devnames = calloc(128, sizeof(char)); - if (e_devname.elm_devnames == NULL) { - close(fd); - xo_err(EXIT_FAILURE, "calloc()"); - } if (ioctl(fd, ENCIOC_GETELMDEVNAMES, (caddr_t) &e_devname) <0) { /* Continue even if we can't look up devnames */ @@ -525,14 +524,14 @@ objmap(int argc, char **argv __unused) } print_extra_status(e_ptr[j].elm_type, e_status.cstat, PRINT_STYLE_DASHED); xo_close_instance("elements"); - free(e_desc.elm_desc_str); - free(e_devname.elm_devnames); } xo_close_list("elements"); free(e_ptr); close(fd); } globfree(&g); + free(e_devname.elm_devnames); + free(e_desc.elm_desc_str); xo_close_list("enclosures"); xo_close_container("sesutil"); xo_finish(); @@ -727,6 +726,10 @@ show(int argc, char **argv __unused) first_ses = true; + e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); + if (e_desc.elm_desc_str == NULL) + xo_err(EXIT_FAILURE, "calloc()"); + /* Get the list of ses devices */ if (glob(uflag, 0, NULL, &g) == GLOB_NOMATCH) { globfree(&g); @@ -808,19 +811,14 @@ show(int argc, char **argv __unused) continue; /* Get the description of the element */ - memset(&e_desc, 0, sizeof(e_desc)); e_desc.elm_idx = e_ptr[j].elm_idx; e_desc.elm_desc_len = UINT16_MAX; - e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); - if (e_desc.elm_desc_str == NULL) { - close(fd); - xo_err(EXIT_FAILURE, "calloc()"); - } if (ioctl(fd, ENCIOC_GETELMDESC, (caddr_t) &e_desc) < 0) { close(fd); xo_err(EXIT_FAILURE, "ENCIOC_GETELMDESC"); } + e_desc.elm_desc_str[e_desc.elm_desc_len] = '\0'; switch (e_ptr[j].elm_type) { case ELMTYP_DEVICE: @@ -853,7 +851,6 @@ show(int argc, char **argv __unused) */ break; } - free(e_desc.elm_desc_str); } if (prev_type != (elm_type_t)-1 && prev_type != ELMTYP_DEVICE && prev_type != ELMTYP_ARRAY_DEV) @@ -863,6 +860,7 @@ show(int argc, char **argv __unused) close(fd); } globfree(&g); + free(e_desc.elm_desc_str); xo_close_list("enclosures"); xo_close_container("sesutil"); xo_finish(); From nobody Wed Mar 15 22:40:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcQN54D3Lz3xtvW; Wed, 15 Mar 2023 22:40: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 4PcQN53hnzz47Yj; Wed, 15 Mar 2023 22:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678920053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VBhUw2KEeclBdML5leEWssv7rvrwb6RDlzkQ7Fkb3wo=; b=C3DvDEH0IHb3wd7bDTOAUnnN7LCa2Me885GbezZ8nmPb/13QGZnwUeEGL8VcfUwHlQ/+4H pNi9ZWeWbi/KnSbfkfeNiKe5d74JpB3AHXj9fb3PfImk1BIQ2rzg8hX5OyUHvWzVU2xl+V /D8JekWg0cf+cMhz/sQgL0QDbtDGq5SoX+IH1sDHddL62+9nRJzO5c9wNqxOvXIvld3IX5 SRv0DOI6rJA0wU+z0lTgw8IvpVvkUHfYFtJLY/xKefj00ZYWX551IYqOOeZdbSwAIePFqB cMMNxG6sNuse0PRrh2zCZtzsScW6gQOPEdka8V2S7zjsq9CorS+k61thwrVZhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678920053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VBhUw2KEeclBdML5leEWssv7rvrwb6RDlzkQ7Fkb3wo=; b=ve1AlBoDcNTOxPPH7sW6rhS9K6KzBXhg2ENGXhGPHkG0ZzK0Vpj3D9oAR0y0wsZOmARYBp miUXsBhVF1E6hx807rhOgDvsx7gWea3VRk8ProB3EdeN4U+HgFBR7U8bPgoFR7fdwy1rQN WIqy4Ze8AIFcgFKodAxe7PaRvATiPi0DpFUmrpJTjlbe3O5G4wHKFMflBjSprcf7h/VTTI C0lgYQaiK2ZMKaGiSF/rLWFwtWHXCbR/FHOxrVfvyuHQkt5Vzqub5m1ZqOKqFCIYXYxA7Z +uuXKkFXRjrrppQFjbVaYU4SpKwD1U/J+lV/3CVjJ4gFRnvitlpFfWBjtpH1tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678920053; a=rsa-sha256; cv=none; b=i3JVW56FmFpjnhU4AfKLR5zMNMw7O+1+DfckX4+hBm/cCOc6NvzFyAOOkp7AsDozhheXaa WwFbGWrgTr4EuDksZpmI6/T+JnZxSDEF7PpiG64Id6gnjKs4noswjTUNMW2mOMY+eyquuL XvudzRr0e1JpwIpjTsD+oGysqXsy/WGCddCADt+lPj9YV2jGc2T3QNE5fh1tKK4vfR/Qw1 d5H4eya9PEBNWnfgOCTJbuyUw4xshb53M3KB5ueKuvgaTFQ9ceEz+hRdsG+Iq257zJhzb8 quuJmAmdt7xL1QHaUrb36rrIfHLlq6lot/JVa249PtHgo5awPy9+yZKjDrrtbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcQN52mTGzK2h; Wed, 15 Mar 2023 22:40: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 32FMer74042483; Wed, 15 Mar 2023 22:40:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FMerRI042482; Wed, 15 Mar 2023 22:40:53 GMT (envelope-from git) Date: Wed, 15 Mar 2023 22:40:53 GMT Message-Id: <202303152240.32FMerRI042482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 3205b36fba10 - stable/13 - fusefs: fix a buffer overflow in the tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3205b36fba10f31ac715957aa41fd0d1ccd41ec9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=3205b36fba10f31ac715957aa41fd0d1ccd41ec9 commit 3205b36fba10f31ac715957aa41fd0d1ccd41ec9 Author: Alan Somers AuthorDate: 2023-02-22 00:13:56 +0000 Commit: Alan Somers CommitDate: 2023-03-15 22:39:40 +0000 fusefs: fix a buffer overflow in the tests The actual overflow occured in the ReadAhead.readahead test. Surprisingly it has never segfaulted or resulted in any bad behavior. Sponsored by: Axcient Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38718 (cherry picked from commit 0c9df4afc239ee52961443e95bca8be81f0dea9e) --- tests/sys/fs/fusefs/bmap.cc | 2 ++ tests/sys/fs/fusefs/io.cc | 3 +++ tests/sys/fs/fusefs/mockfs.hh | 2 +- tests/sys/fs/fusefs/setattr.cc | 1 + tests/sys/fs/fusefs/utils.cc | 6 ++++++ tests/sys/fs/fusefs/write.cc | 2 ++ 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/sys/fs/fusefs/bmap.cc b/tests/sys/fs/fusefs/bmap.cc index 56821f367a82..91d8ab563690 100644 --- a/tests/sys/fs/fusefs/bmap.cc +++ b/tests/sys/fs/fusefs/bmap.cc @@ -210,6 +210,8 @@ TEST_P(BmapEof, eof) _) ).WillOnce(Invoke(ReturnImmediate([=](auto in, auto& out) { size_t osize = in.body.read.size; + + assert(osize < sizeof(out.body.bytes)); out.header.len = sizeof(struct fuse_out_header) + osize; bzero(out.body.bytes, osize); }))); diff --git a/tests/sys/fs/fusefs/io.cc b/tests/sys/fs/fusefs/io.cc index 1502bd263f51..a8815434c6d8 100644 --- a/tests/sys/fs/fusefs/io.cc +++ b/tests/sys/fs/fusefs/io.cc @@ -141,6 +141,8 @@ void SetUp() ssize_t isize = in.body.write.size; off_t iofs = in.body.write.offset; + assert((size_t)isize <= sizeof(in.body.bytes) - + sizeof(struct fuse_write_in)); ASSERT_EQ(isize, pwrite(m_backing_fd, buf, isize, iofs)) << strerror(errno); SET_OUT_HEADER_LEN(out, write); @@ -158,6 +160,7 @@ void SetUp() void *buf = out.body.bytes; ssize_t osize; + assert((size_t)isize <= sizeof(out.body.bytes)); osize = pread(m_backing_fd, buf, isize, iofs); ASSERT_LE(0, osize) << strerror(errno); out.header.len = sizeof(struct fuse_out_header) + osize; diff --git a/tests/sys/fs/fusefs/mockfs.hh b/tests/sys/fs/fusefs/mockfs.hh index 121d985e56fe..edbaf7ef770f 100644 --- a/tests/sys/fs/fusefs/mockfs.hh +++ b/tests/sys/fs/fusefs/mockfs.hh @@ -206,7 +206,7 @@ union fuse_payloads_out { * The protocol places no limits on the size of bytes. Choose * a size big enough for anything we'll test. */ - uint8_t bytes[0x20000]; + uint8_t bytes[0x40000]; fuse_entry_out entry; fuse_entry_out_7_8 entry_7_8; fuse_lk_out getlk; diff --git a/tests/sys/fs/fusefs/setattr.cc b/tests/sys/fs/fusefs/setattr.cc index e245c274ba07..e08f2124e06f 100644 --- a/tests/sys/fs/fusefs/setattr.cc +++ b/tests/sys/fs/fusefs/setattr.cc @@ -530,6 +530,7 @@ TEST_F(Setattr, truncate_discards_cached_data) { auto osize = std::min( static_cast(cur_size) - in.body.read.offset, static_cast(in.body.read.size)); + assert(osize <= sizeof(out.body.bytes)); out.header.len = sizeof(struct fuse_out_header) + osize; if (should_have_data) memset(out.body.bytes, 'X', osize); diff --git a/tests/sys/fs/fusefs/utils.cc b/tests/sys/fs/fusefs/utils.cc index d4edca5ca945..b13ecfd9cb88 100644 --- a/tests/sys/fs/fusefs/utils.cc +++ b/tests/sys/fs/fusefs/utils.cc @@ -400,6 +400,7 @@ void FuseTest::expect_read(uint64_t ino, uint64_t offset, uint64_t isize, }, Eq(true)), _) ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { + assert(osize <= sizeof(out.body.bytes)); out.header.len = sizeof(struct fuse_out_header) + osize; memmove(out.body.bytes, contents, osize); }))).RetiresOnSaturation(); @@ -502,6 +503,8 @@ void FuseTest::expect_write(uint64_t ino, uint64_t offset, uint64_t isize, bool pid_ok; uint32_t wf = in.body.write.write_flags; + assert(isize <= sizeof(in.body.bytes) - + sizeof(struct fuse_write_in)); if (wf & FUSE_WRITE_CACHE) pid_ok = true; else @@ -534,6 +537,9 @@ void FuseTest::expect_write_7_8(uint64_t ino, uint64_t offset, uint64_t isize, const char *buf = (const char*)in.body.bytes + FUSE_COMPAT_WRITE_IN_SIZE; bool pid_ok = (pid_t)in.header.pid == getpid(); + + assert(isize <= sizeof(in.body.bytes) - + FUSE_COMPAT_WRITE_IN_SIZE); return (in.header.opcode == FUSE_WRITE && in.header.nodeid == ino && in.body.write.fh == FH && diff --git a/tests/sys/fs/fusefs/write.cc b/tests/sys/fs/fusefs/write.cc index 4e76414a601a..800376395e97 100644 --- a/tests/sys/fs/fusefs/write.cc +++ b/tests/sys/fs/fusefs/write.cc @@ -97,6 +97,8 @@ void maybe_expect_write(uint64_t ino, uint64_t offset, uint64_t size, const char *buf = (const char*)in.body.bytes + sizeof(struct fuse_write_in); + assert(size <= sizeof(in.body.bytes) - + sizeof(struct fuse_write_in)); return (in.header.opcode == FUSE_WRITE && in.header.nodeid == ino && in.body.write.offset == offset && From nobody Wed Mar 15 22:47:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcQWF00Fwz3xvSN; Wed, 15 Mar 2023 22:47: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 4PcQWD6bszz49HB; Wed, 15 Mar 2023 22:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678920424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8x/YPYrFv/I+YU8mJJw83c1sczZsmz47DQdHcRpF15E=; b=wtKLrVMEOmS35Ft2e0NMtY7jg12Gfnz0KI4+QySV2Y7bNiUmTEqTpPEAfGXQxT39lwumxG PctUHb8lPcJRMe2/uTH2ItQRbWxNCbGS2e/lLuUmPFZAWPHZcy2xRKpa8+Ql7fIOGmAVej 0tQV3URkk3WNUJJP//zBMUuaxR33G6cWyB7Rbaixc0zi+bYM90GZMtPVeQzlVUPHsV+2f0 8rs8y9t7sU0PHaILx6AdxtrFi/AMop0u4HsT69PBYJvoSU8oz05ht3+YgbYpWn2PZ7ecD3 rtHxeH9Os7CiEL/2UHShpMoRwtfym1GM4ia7SgnAgPfbkPIE7xEdDeoEVuA5Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678920424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8x/YPYrFv/I+YU8mJJw83c1sczZsmz47DQdHcRpF15E=; b=JkayXWnm0XKeX+DB2GqUwaO83QJyDsHWjl6ahF6iqmZfkjh4rzyGdz05wECYRdLCe7g277 dOcSYNrI9VeNm0VtyRtb5U+iI6YGUMnTknxGdrTfPSZ5aak4bLxaGv0KZXFdV+u5/pp1j+ xbZMkQnyumcf+IhemMosOIyLlEX5BF4z8tUPv5ihl5sUQwK1+/uNCq7pE4o4kJ9aFAtbLO XER6+q67Iut2K/ZPNA5l75PQPtQcd6paqw4LghCfQZoM63cJqltYL84MLrLkgOj3iv+Jsk BNYZagF0ZuVkEvBGfwxA3RiSJ2yhWPbS1yR4iPEuXO8ZBM95+G+C7pP9Nkr9Kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678920424; a=rsa-sha256; cv=none; b=kJjcIhFhbsu6ZynHIjgT1r3/RkAB6ncNEt64z5DFR+AMiPB3aH2qvU9KKz8No3Pb+J0TsB qO6CCtC0ZKO40U84VCTVq3n88SpuFRZtaWAKqGnoKPhrU4H3+b/Mppf8hgrfnuS4vT7Nnr yaT6vLmCu0yrIzVYfxvjifAnJjHA1ZOf5l3leW3wsogBKYwjOK/phzkeWc/iuhF89+oO2E y9Ay57RVM1bL6ZOqBTBgE/XVbByYaYy6nyionmv5rHeMnuayF+zD6/rXFydQi9QziRJh8q 70AJOn36tXNaYOf8CApOg6363wROIiREh+VkM6qMz0OB95o80+oNGpwWlOeobQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcQWD5dfHzKR1; Wed, 15 Mar 2023 22:47: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 32FMl4wn049769; Wed, 15 Mar 2023 22:47:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FMl4Sl049768; Wed, 15 Mar 2023 22:47:04 GMT (envelope-from git) Date: Wed, 15 Mar 2023 22:47:04 GMT Message-Id: <202303152247.32FMl4Sl049768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 4e4e299b0950 - stable/13 - fusefs: add some more test cases for bad fuse servers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4e4e299b0950358d3e189d5dbef0c106bbc39973 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=4e4e299b0950358d3e189d5dbef0c106bbc39973 commit 4e4e299b0950358d3e189d5dbef0c106bbc39973 Author: Alan Somers AuthorDate: 2023-02-21 23:26:37 +0000 Commit: Alan Somers CommitDate: 2023-03-15 22:41:14 +0000 fusefs: add some more test cases for bad fuse servers Sponsored by: Axcient Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38719 (cherry picked from commit 5f51c9c328a63d7290f634b1742f03545eaa2c1c) --- tests/sys/fs/fusefs/Makefile | 1 + tests/sys/fs/fusefs/bad_server.cc | 105 ++++++++++++++++++++++++++++++++++++++ tests/sys/fs/fusefs/lookup.cc | 2 +- tests/sys/fs/fusefs/mockfs.cc | 6 +-- tests/sys/fs/fusefs/mockfs.hh | 7 ++- 5 files changed, 112 insertions(+), 9 deletions(-) diff --git a/tests/sys/fs/fusefs/Makefile b/tests/sys/fs/fusefs/Makefile index 04b68681ec9a..df3753967603 100644 --- a/tests/sys/fs/fusefs/Makefile +++ b/tests/sys/fs/fusefs/Makefile @@ -11,6 +11,7 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fusefs # out, so we get more granular reporting. GTESTS+= access GTESTS+= allow_other +GTESTS+= bad_server GTESTS+= bmap GTESTS+= cache GTESTS+= copy_file_range diff --git a/tests/sys/fs/fusefs/bad_server.cc b/tests/sys/fs/fusefs/bad_server.cc new file mode 100644 index 000000000000..34392da0090a --- /dev/null +++ b/tests/sys/fs/fusefs/bad_server.cc @@ -0,0 +1,105 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Axcient + * + * 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. + * + * $FreeBSD$ + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class BadServer: public FuseTest {}; + +/* + * If the server sends a response for an unknown request, the kernel should + * gracefully return EINVAL. + */ +TEST_F(BadServer, UnknownUnique) +{ + mockfs_buf_out out; + + out.header.len = sizeof(out.header); + out.header.error = 0; + out.header.unique = 99999; // Invalid! + out.expected_errno = EINVAL; + m_mock->write_response(out); +} + +/* + * If the server sends less than a header's worth of data, the kernel should + * gracefully return EINVAL. + */ +TEST_F(BadServer, ShortWrite) +{ + mockfs_buf_out out; + + out.header.len = sizeof(out.header) - 1; + out.header.error = 0; + out.header.unique = 0; // Asynchronous notification + out.expected_errno = EINVAL; + m_mock->write_response(out); +} + +/* + * It is illegal to report an error, and also send back a payload. + */ +TEST_F(BadServer, ErrorWithPayload) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + + EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH) + .WillOnce(Invoke([&](auto in, auto &out) { + // First send an invalid response + std::unique_ptr out0(new mockfs_buf_out); + out0->header.unique = in.header.unique; + out0->header.error = -ENOENT; + SET_OUT_HEADER_LEN(*out0, entry); // Invalid! + out0->expected_errno = EINVAL; + out.push_back(std::move(out0)); + + // Then, respond to the lookup so we can complete the test + std::unique_ptr out1(new mockfs_buf_out); + out1->header.unique = in.header.unique; + out1->header.error = -ENOENT; + out1->header.len = sizeof(out1->header); + out.push_back(std::move(out1)); + + // The kernel may disconnect us for bad behavior, so don't try + // to read any more. + m_mock->m_quit = true; + })); + + EXPECT_NE(0, access(FULLPATH, F_OK)); + + EXPECT_EQ(ENOENT, errno); +} diff --git a/tests/sys/fs/fusefs/lookup.cc b/tests/sys/fs/fusefs/lookup.cc index c654dd46bae5..7a5be84b48be 100644 --- a/tests/sys/fs/fusefs/lookup.cc +++ b/tests/sys/fs/fusefs/lookup.cc @@ -289,7 +289,7 @@ TEST_F(Lookup, ejustreturn) .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { out.header.len = sizeof(out.header); out.header.error = 2; - m_mock->m_expected_write_errno = EINVAL; + out.expected_errno = EINVAL; }))); EXPECT_NE(0, access(FULLPATH, F_OK)); diff --git a/tests/sys/fs/fusefs/mockfs.cc b/tests/sys/fs/fusefs/mockfs.cc index e012df8c3488..43e8dd3b0371 100644 --- a/tests/sys/fs/fusefs/mockfs.cc +++ b/tests/sys/fs/fusefs/mockfs.cc @@ -431,7 +431,6 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, const bool trueval = true; m_daemon_id = NULL; - m_expected_write_errno = 0; m_kernel_minor_version = kernel_minor_version; m_maxreadahead = max_readahead; m_maxwrite = MIN(max_write, max_max_write); @@ -801,7 +800,6 @@ void MockFS::loop() { bzero(in.get(), sizeof(*in)); read_request(*in, buflen); - m_expected_write_errno = 0; if (m_quit) break; if (verbosity > 0) @@ -1034,9 +1032,9 @@ void MockFS::write_response(const mockfs_buf_out &out) { FAIL() << "not yet implemented"; } r = write(m_fuse_fd, &out, out.header.len); - if (m_expected_write_errno) { + if (out.expected_errno) { ASSERT_EQ(-1, r); - ASSERT_EQ(m_expected_write_errno, errno) << strerror(errno); + ASSERT_EQ(out.expected_errno, errno) << strerror(errno); } else { ASSERT_TRUE(r > 0 || errno == EAGAIN) << strerror(errno); } diff --git a/tests/sys/fs/fusefs/mockfs.hh b/tests/sys/fs/fusefs/mockfs.hh index edbaf7ef770f..51ed5ad72ee6 100644 --- a/tests/sys/fs/fusefs/mockfs.hh +++ b/tests/sys/fs/fusefs/mockfs.hh @@ -233,6 +233,8 @@ union fuse_payloads_out { struct mockfs_buf_out { fuse_out_header header; union fuse_payloads_out body; + /* the expected errno of the write to /dev/fuse */ + int expected_errno; /* Default constructor: zero everything */ mockfs_buf_out() { @@ -333,16 +335,13 @@ class MockFS { */ void read_request(mockfs_buf_in& in, ssize_t& res); + public: /* Write a single response back to the kernel */ void write_response(const mockfs_buf_out &out); - public: /* pid of child process, for two-process test cases */ pid_t m_child_pid; - /* the expected errno of the next write to /dev/fuse */ - int m_expected_write_errno; - /* Maximum size of a FUSE_WRITE write */ uint32_t m_maxwrite; From nobody Thu Mar 16 00:12:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcSPX3f1gz3y1Vp; Thu, 16 Mar 2023 00:12: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 4PcSPX2rPTz4HW9; Thu, 16 Mar 2023 00:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678925536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8LPXVLWvQEGzcZbOATrqFPkXJZmfHcU9IpljzgZEyQ8=; b=tLLN+i1GnWKarqyie4hx0UMOvwyFLcZPE0BBZHF3bNRdeNoOrtbsarPbwBPQAJOiLpP5FA nHgGrZ945TJC8YYDualbu0tHaabkHf2hK1lHZybtj1p0WKm9YFkZvMnu0wxUqPLnHYtJQ5 6sFz/GGSvgF5uRnOMDb6NT7aIgIJuV+1/Zw87wmfjrtK4b4dPLuDtbFdFZDffI1Kxdww98 QvIFTDAM+tpUUs5JkH+yTtB1s+CsmQyPSLZhspU4PUl4tgPd+lMloIPft7v5Fwxz3fFhxA mQ34VMhahxt54HXAsa5xT/jkzz0YK+5hySInTT4cpSYY6YJ06Pwh1QtoYq16nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678925536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8LPXVLWvQEGzcZbOATrqFPkXJZmfHcU9IpljzgZEyQ8=; b=k8DUDavQLiSwabzzoUqmkN3iVzqNJRHSFrGKUVr9MR9DIMvMd7IUhT0glci2DG50Jzlb9y qqKEvlfCuwLndVJ4UkXcTL11J1pwTa9+ISHCLdDA5XxiQqbVKMer9AhNi7lujdiPLECBnk 6+CNjqEFz8/FuPEmqUxkt+yB4YBsXCsUhexIcs+lWgO4VUWUfTlElaOp2El8WBx/jjA+XP /T1+YwVzHM7sMX+og6qlDSM7o6PqwLhI0Rdlq6EIGm9LRdiIeahoLVGvdbxJFre5j3Qj7F 5DwI35TeVwQTphrL1C5aLub++Qkl+6cOD1M/TMHIq+uzryxaKv0ivOfhm8npPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678925536; a=rsa-sha256; cv=none; b=K9af3w8ZeSGSOhLbDssX/eAuczk34IgnCWxNz8fg7EsqpVHZzn0KcVgSRqbSPiGa29CZVU vKX8kM0AQruoR+3OwrHLSt5HpbNcrELvbFfibvUGGknecm+HTiMhEw8dLQ9KQ6S+UAbTc+ cT/wtYHtzcJznXvY436C05XHNsDnI5DaV19nQRH94swzbu88t1x5+iUOaM2ZD3irj0VzKH SM5OqJ2BxEDACgxRUKl3cWCT1T7zLcGSSLcT8eJ3D6FmWszKA3aT0RP6OzqkqiNiYvBFQ5 KhwyqgBMhMOLEsm35O0Q6DBAVgQaccEcxMVcLQidR5tL1hlmx8VAQrirgFJqfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcSPX1w5vzM1R; Thu, 16 Mar 2023 00:12: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 32G0CG95096384; Thu, 16 Mar 2023 00:12:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32G0CGFH096383; Thu, 16 Mar 2023 00:12:16 GMT (envelope-from git) Date: Thu, 16 Mar 2023 00:12:16 GMT Message-Id: <202303160012.32G0CGFH096383@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 3a60f9c605a2 - releng/13.2 - makefs: make msdos creation go fast List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 3a60f9c605a26784607e2b44f4fc184dca414445 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3a60f9c605a26784607e2b44f4fc184dca414445 commit 3a60f9c605a26784607e2b44f4fc184dca414445 Author: Warner Losh AuthorDate: 2023-03-13 20:28:51 +0000 Commit: Warner Losh CommitDate: 2023-03-15 23:14:12 +0000 makefs: make msdos creation go fast Add missing brelse(bp). Without it the cache grows and we have a n^2 lookup. I'm not entirely sure why we read the block before we write it back out, since the only side effect of that is to allocate memory, clear the memory, read it in from disk, throw it away with the contents of the file being written out. We likely should just do a getblk() here instead, but even with all that, this takes the time it takes to create a 150MB msdos fs image down from 5 minutes to 30 seconds. Old: 317.663u 0.685s 5:18.34 100.0% 198+360k 0+19io 1009pf+0w New: 7.330u 23.841s 0:31.17 100.0% 198+360k 0+250522io 4pf+0w See code review for how we got this. tl;dr: netbsd move brelse into bwrite and we picked up msdos code after that, but not the move. That change should be picked up later. Sponsored by: Netflix Reviewed by: emaste MFC After: 1 day (13.2 is coming fast) Differential Revision: https://reviews.freebsd.org/D39025 Approved by: re@ (cperciva) (cherry picked from commit 370e009188ba90c3290b1479aa06ec98b66e140a) (cherry picked from commit aa1e6a4f4c28c7051ee9431ecb7802309cc1bf96) --- usr.sbin/makefs/msdos/msdosfs_vnops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c index ff470576ee79..198efae31a0e 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vnops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c @@ -501,6 +501,7 @@ msdosfs_wfile(const char *path, struct denode *dep, fsnode *node) cpsize = MIN((nsize - offs), blsize - on); memcpy(bp->b_data + on, dat + offs, cpsize); bwrite(bp); + brelse(bp); offs += cpsize; } From nobody Thu Mar 16 00:12:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcSPY4PBDz3y1SG; Thu, 16 Mar 2023 00:12: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 4PcSPY3xTjz4HFd; Thu, 16 Mar 2023 00:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678925537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ctzlDYiOil4ek/azypgsJv2eUUcrpPXreQKhEBOdDF0=; b=Sc1V+DRlqUVhExEEGfVcDA1ACqMMhsjIqrSM9yevQFmLTHURhbWegxoTjubF8s/Hemdpqo Rfit1S5MQJqmXlBjf7flTMv0Z2YaRgD03PAZeIjbdD1XZbHOByzI9gWL4rgeoctBJUTu/h YMWLEcaihbR00BfAMbu1+T9+FydWGFBmpW7bCpxE4vVyQkj1ZSD34Y1uZljA5oJ+WSGDQg nq9pWwESRKCIs21CxK8M5Ae+c8+xewBYRd7rvryu/k1xOqpP1R6lHr8WwqkM6peinys1Mh 2uervAVoD3wlAVUBlLeL63jSUZIYM/f5KteLB9Kk3qa95+9l/RIvWwodkaGRgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678925537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ctzlDYiOil4ek/azypgsJv2eUUcrpPXreQKhEBOdDF0=; b=Xa2nfpfAUiHzVDkvLaXMj2I4aPW0y/nlg/hJ0SbzjD2jZv9135vdsMfM7AhxCg2XTQU0Pg BqvLY5gF0FM6kGoRvBB09gVtX/kWE4DssxvryFFmZv5ZnljGIMMAVEfQFPSgQ5bwXCmgB2 JYVtrPwPMJIswmEJtIFFjFTGcVD+aaeQ9qTeV1RDJQyaVoK8OWK26lwGHfymwAi41FQv2G aKc2jsUIWd415CQ2FaAsAuJyieLeZpGV+m5IC6LI3P3JfJ4R5D0dknV8YpycErMOqaXFSy 1g0DUBzqDSqk6pc4Q9p+bXHOsrZVjMM63sPXEPIxKPSxQibi85Q99/LZWU4dWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678925537; a=rsa-sha256; cv=none; b=fT2H2xGeacQRpV13qefAFTjTZuPTLExZvpS4W4DolFf3tmZ8A3DPYCrD7do93oEgwgPNnM DIeR3mtJcoT3TIn+6RgQW9WOO3SP+ozB90DATAlxeauzTEUsWc49HwFo0KxUPbSmJrB0JC FS4XKqrUroyO08nlPvC4fCvjc7KZwhftRoN1boxsvBYdOIZE+IHqgaUks277y9AY2hn314 neSFEQYa7IMMSsGE/z9V3g9Kkx6aqyJ9T9My5MQ7og5+9YVcR4aOgOgmMZNU74wTF+Msgq 2axsTguHSqhxFfyNajX5wmZ2HETm14IF4xafYTREUKb532hB75RqC6YIGlPniA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcSPY33KyzMbB; Thu, 16 Mar 2023 00:12: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 32G0CHUn096410; Thu, 16 Mar 2023 00:12:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32G0CHPe096409; Thu, 16 Mar 2023 00:12:17 GMT (envelope-from git) Date: Thu, 16 Mar 2023 00:12:17 GMT Message-Id: <202303160012.32G0CHPe096409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 2c101fca1991 - releng/13.2 - netlink: Fix "version introduced" documentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 2c101fca1991de4d257070dad01a398c1f13545e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c101fca1991de4d257070dad01a398c1f13545e commit 2c101fca1991de4d257070dad01a398c1f13545e Author: Tom Hukins AuthorDate: 2023-03-04 15:59:02 +0000 Commit: Warner Losh CommitDate: 2023-03-15 23:14:29 +0000 netlink: Fix "version introduced" documentation netlink(4) and associated features will exist in FreeBSD 14.0 but they will also exist in 13.2, an older version, from commits such as 02b958b1 and b309249b. This commit needs merging to stable/13 and releng/13.2. MFC after: 2days (needs to be in RC2) Reviewed by: imp,melifaro Pull Request: https://github.com/freebsd/freebsd-src/pull/651 Approved by: re@ (cperciva) (cherry picked from commit 6d2feb39ad13768f3ea06381fcd95937a09f0d62) --- share/man/man3/snl.3 | 2 +- share/man/man4/genetlink.4 | 2 +- share/man/man4/netlink.4 | 2 +- share/man/man4/rtnetlink.4 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man3/snl.3 b/share/man/man3/snl.3 index 9fdeeaf56178..78a6b67e88a9 100644 --- a/share/man/man3/snl.3 +++ b/share/man/man3/snl.3 @@ -297,7 +297,7 @@ and The .Dv SNL library appeared in -.Fx 14.0 . +.Fx 13.2 . .Sh AUTHORS This library was implemented by .An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . diff --git a/share/man/man4/genetlink.4 b/share/man/man4/genetlink.4 index 2c5b9b99f994..a21963b5e3bd 100644 --- a/share/man/man4/genetlink.4 +++ b/share/man/man4/genetlink.4 @@ -138,7 +138,7 @@ The following groups are defined: The .Dv NETLINK_GENERIC protocol family appeared in -.Fx 14.0 . +.Fx 13.2 . .Sh AUTHORS The netlink was implementated by .An -nosplit diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index c0d9b5a88ade..50adebd0c6c7 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -346,7 +346,7 @@ or .Re .Sh HISTORY The netlink protocol appeared in -.Fx 14.0 . +.Fx 13.2 . .Sh AUTHORS The netlink was implemented by .An -nosplit diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index 5849508b74c2..1e52640eec56 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -525,7 +525,7 @@ RTNLGRP_NEIGH Notifies on ARP/NDP neighbor arrival/removal/change The .Dv NETLINK_ROUTE protocol family appeared in -.Fx 14.0 . +.Fx 13.2 . .Sh AUTHORS The netlink was implementated by .An -nosplit From nobody Thu Mar 16 13:13:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pcnl01Lhyz3y6FQ; Thu, 16 Mar 2023 13:13: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 4Pcnl00nkyz4QDZ; Thu, 16 Mar 2023 13:13:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678972412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OOSjko2RltHfWWUVG3lFY9Pe+Pk8LqAIKdqf+itwiLQ=; b=hX17M9mMwIMqvgjHSXis5dGSV7zIjvzXgKbXjj/TnHX4vVlFVJQ3HUdv/S7IrFJCUfiWIN 41WonnBm+0K29RUI0f8i9j1QRuFhkKO41FuEhE/mn839NfUy9yyKJYeiFsr29aiiVWuFEw YB5iLrbnUv0EeMp58IJpXhL4DDg/IvjY525Ma8bfEHbio31j304ydnlCcZyUSbHSmcTW5e DAio5/WjgkcvbiLaiUyWsdPOuwM+gzr+l2AqgqYru8X3VvVTWTtYlOlHF6omYmLS57ZOEQ 6e84bfOR1ZphXm3FKUrnLHLEusA/9y9Y+BD81eInIjRfbuWKhBkviiScOmtJAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678972412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OOSjko2RltHfWWUVG3lFY9Pe+Pk8LqAIKdqf+itwiLQ=; b=Rg4eo7WeRag2dGqb+b9eeXKym3O5gkkyGBgemN3NP7IQQOjn5RrpsWF1QsdLLTbZ1dqMSN zEANQOFn0/qPWoUk0fM/tClN9YorgUpNmYHJjjbt+kj2XtpKLQriaQLO7OMHOIiTqZYalD BnHx0yM7SYmIXk4/hUOIIzOVlj9ZdJ84op0NtA1SorI/OyWk/hkTIQYPA6ifmsNS58Fk6/ T20yytqZfTP+rjJG9VS2SGHKQZhQq/HuKGsgEGOXNvOpYwxIOtENUtX0Ci7stRbOATfXkU NpoRyhtK7PkJazG07E3NTICkJc2mE2SRSfaLF4kmQDi3bjvsCwJ0duYB7fY0Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678972412; a=rsa-sha256; cv=none; b=oh9LxikkrfxNDep+qjfhJMBNhe/zcyMejjriONZhGsp9TgZcEb3KPmGwlWts2PMIfPZdak v9hTkqvBrEdzv8yJ8CkIqsQMfOh+lHNjrlMP0nuUgz7+NAxzmrqKX3Sv+cEwWVWNWHIjkJ 9tgYsCw+vak6ZMQcfW7vqNcrX8LZInv/zt1m64wPNQ5lXgtRFtKBXMe2KBexnBWD9Llxc/ 1CI2GrJtq6F1sGNq/QqzLeIXJOmHL05CgF+D41LA+PHoFQu/t+ByReyzVfN/ytdUiD4FUt fz1iZ8MBcN3UZW4sKwDJ+UpyjsXz3NdBT4syuayPAkQEp300BaPXh4NLLISAnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pcnkz6wtfzkt7; Thu, 16 Mar 2023 13:13: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 32GDDV19077714; Thu, 16 Mar 2023 13:13:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32GDDVDi077713; Thu, 16 Mar 2023 13:13:31 GMT (envelope-from git) Date: Thu, 16 Mar 2023 13:13:31 GMT Message-Id: <202303161313.32GDDVDi077713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 61dad7633cd3 - releng/13.2 - route.8: Don't reference an external command in EXAMPLES List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 61dad7633cd3eeacd734cdb0338331b751bd6ab0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=61dad7633cd3eeacd734cdb0338331b751bd6ab0 commit 61dad7633cd3eeacd734cdb0338331b751bd6ab0 Author: Gordon Bergling AuthorDate: 2023-03-14 13:55:28 +0000 Commit: Gordon Bergling CommitDate: 2023-03-16 13:13:03 +0000 route.8: Don't reference an external command in EXAMPLES It is better to mention the externel command for showing the routing table as using an explicit command. PR: 231579 Suggested by: karels Reviewed by: karles, gbe Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D39075 (cherry picked from commit 21f268182838f072f96234c727778d5603a580e3) --- sbin/route/route.8 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 5b6e13281447..afcf55ab44c7 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd February 26, 2023 +.Dd March 14, 2023 .Dt ROUTE 8 .Os .Sh NAME @@ -488,9 +488,8 @@ Remove all routes from the routing table: .Pp .Dl route flush .Pp -List all routing tables: -.Pp -.Dl netstat -r +The routing table can be listed with +.Xr netstat 1 . .Sh DIAGNOSTICS .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" From nobody Thu Mar 16 14:25:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PcqLK66Bxz3yB65; Thu, 16 Mar 2023 14:25: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 4PcqLK5ZHJz3K5F; Thu, 16 Mar 2023 14:25:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678976745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWC5W7Oal08srsssRxoI6UpFc05lz+nzwW9bSbMD9ME=; b=wA2XwojhEL96KVhFvhEOp+nXlxtPwSEH3aayNFfyQu3UZfj75+bSNB8zlahuKinIhHk8HG VTc9bYYjWMBXxC0u6rBuxLiO3H7TV+nYt6MRwQLjIdjbdAN1F2jjHYMF+WvYrBz/fVBgQo 6SeE4PT3/ZNiFNaz+GWKHpWqPAWryEK11YPUDCuenyTSWb5nLt0Q1YEtfbd7RC0PoEFnnc h91ev1CPSalKQttJCAqkhyhGFJP51vduDCqVvm7ruDKYYBKw9M18bLgl4jz/RGDmpL1Qaq Uzny0AB5isbK6LTr8hx9xhKxilO5XT2SQTh9wlRhxQS4WxrM7tIXmTyyT+o0zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678976745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWC5W7Oal08srsssRxoI6UpFc05lz+nzwW9bSbMD9ME=; b=ocjdZxdhb5R/zc625fCQXN4ea1qHqYzRMN28uTRSCEVJefM9zPRqmZZdbKaPf4Az7GwxG/ YIsjMdd7tUSpV8AM1jMggO0RBAxVnvGHvoem6wKg5pdd17LrWhe1d5woCYSpXdyqhaoeQw lO1/3AyK5uqJJqIE/yi4sk07AhEU42bzPYdaGyUgA+paTggzq7gPITtLOqg2JXL01yCcgq NFi7fqdQotM0wtqN1qkJyi3v5hadN7eRMN3LvByrm4q6rsSwOZ0N9NdVRRAd4VeAqJE+yi lCjSyRZEirfveAy6GvLiJy7A72V9oYaB8XJEQVQuZ52V/FPbLHIQAtp4MJbAEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678976745; a=rsa-sha256; cv=none; b=Blz6T91yNDsgC1IYDgUkZWgZ6MKeLiDQRONbqzXgIGTmRmQDYcXsW3SPxHtqVYSozB0YIC siU+CUQ7VHP8OKwa0PECmClun217ePecNglNY8FP/Ah5slSIzM4NDRdvBB3h/my4daM4dI q6RbwtagPHc/EFujZ54nTpGwV2dVbIE306Q4o4s3Ghoi8i7rJfiZHwApBeRY2kMwJhtOiE gtAAs56jmno0BPqNeR8qwdJAN/t41wrFeekvB6HcTED/RWsN6gTZ7WOBHJPuPU0jwfwWXR RXOlUgI+OQe5BmT38f2UosysD/gu1q4h07Ctzn4Chjwbo2T3MeLCjTuq122rNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PcqLK4cBKzmrq; Thu, 16 Mar 2023 14:25: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 32GEPjiY092323; Thu, 16 Mar 2023 14:25:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32GEPjLs092322; Thu, 16 Mar 2023 14:25:45 GMT (envelope-from git) Date: Thu, 16 Mar 2023 14:25:45 GMT Message-Id: <202303161425.32GEPjLs092322@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 565e917b4432 - stable/13 - netmap: Remove obsolete compatibility defines List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 565e917b4432ac64ddf52353cbf1a35a5aafa302 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=565e917b4432ac64ddf52353cbf1a35a5aafa302 commit 565e917b4432ac64ddf52353cbf1a35a5aafa302 Author: Mark Johnston AuthorDate: 2023-03-09 23:16:53 +0000 Commit: Mark Johnston CommitDate: 2023-03-16 14:25:33 +0000 netmap: Remove obsolete compatibility defines No functional change intended. Reviewed by: vmaffione MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39001 (cherry picked from commit 626d1e4a82e25d274cdadfebfd81a28e968efb5b) --- sys/dev/netmap/netmap_freebsd.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c index 2bfb80476528..b9055d589df1 100644 --- a/sys/dev/netmap/netmap_freebsd.c +++ b/sys/dev/netmap/netmap_freebsd.c @@ -1024,11 +1024,6 @@ netmap_dev_pager_fault(vm_object_t object, vm_ooffset_t offset, * Replace the passed in reqpage page with our own fake page and * free up the all of the original pages. */ -#ifndef VM_OBJECT_WUNLOCK /* FreeBSD < 10.x */ -#define VM_OBJECT_WUNLOCK VM_OBJECT_UNLOCK -#define VM_OBJECT_WLOCK VM_OBJECT_LOCK -#endif /* VM_OBJECT_WUNLOCK */ - VM_OBJECT_WUNLOCK(object); page = vm_page_getfake(paddr, memattr); VM_OBJECT_WLOCK(object); From nobody Thu Mar 16 17:45:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pcvmv6KtCz3yNZP; Thu, 16 Mar 2023 17:45: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 4Pcvmv5ckwz3wBN; Thu, 16 Mar 2023 17:45:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678988735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=clYQFCPMIJe32NCgI43hupWFY62LIkp2cmgYKqDlWy0=; b=ROPEiii2eMyNLXhRH78OF/BwpSx55NIr4vq3J4D4dRq3GCYwDT7ivNSBYMekv1i+vC5feI 1gpmzTIFDTyRsJydt4BHK5BmUriBT/9mgMNaBCAV8lsRo1MYrnEQiH2NGeXwPdY3VMuruN sK5W9YkHt0OH6OEDVIpIndKZAE9DhQsKxDaR8aBUyJx0b6FdGzG5HJkJNfTx6PsM1ZbwjH JRS5T76LJBl2/UD9iCHcSsQ5REzQZRVtnZvQdqu9fiRUAWujEjG/wfqN3nZJb+VugZDhSO 0rs3jwfJN7PhLAXOJhGKK8sGc5Er06hez37l+BN03mIYe9JVQp9Z5npy2QeuhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678988735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=clYQFCPMIJe32NCgI43hupWFY62LIkp2cmgYKqDlWy0=; b=x9E6VP+bC1xs7ryZcuZj0luvQdmMXKKYJUy8XrWY5pSbF2pq2aTiMEnmDghKD1rbB5qmQz P4+oWLoywEggE0/OnjXsrdsGwLV08HfC0yAWXCwIfwWC4t54ghw3ZKG+4HeLHeU76PcjXU 6llc24/pa9LJhF8iDXNTW2dqeaiTRBCpHlOjlbZIiqWpn9x9ve2u4x4y3PtZjZNwnQNQcp eWU3YS2XXBGH8S4KqUEQuz/Mf1JraPD8UlwwiMg9kDyZSOHSVZVtgJYC7zgXYFERf/aO6W 3pKcgvjkwPxo+MdNT6+JgrvDzoDFjPmRjs6G+tvlNA90Rl11++F9vD0IgoN07Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678988735; a=rsa-sha256; cv=none; b=jwGpp5qLL+TVlfpOi7kgpOVg5mVLCB+QEJoztQwgb7Pxvo/BkBGRao3uSF95nW7VAWqSKV J8/PFoQt32Mle4XiPNcj5AbBGhw59s7kvWiGSq72Fkm7TcKhtZ7uyn44s6+KB6K+fYH4pP N8GVnJSzBCyeePN07sEwxrR6hBTGoWk2S2oE+zOepiESXrK/5kA9YsSWhtmNyR8Zap+I0a kbjjNtdt+q0X+PmE6YApY7zJ7A8KGwRkXuFRs+VjpW2bVSF4Dggx621WLJNpaRPoQ4qscu 8UKZnoDeP/2k1z8PfXbTQM4Wn8pswSfGvVRdMqRtxMYF/A8JoyWTdHoo/ap5eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pcvmv4gtFzsRc; Thu, 16 Mar 2023 17:45: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 32GHjZg4020610; Thu, 16 Mar 2023 17:45:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32GHjZAV020609; Thu, 16 Mar 2023 17:45:35 GMT (envelope-from git) Date: Thu, 16 Mar 2023 17:45:35 GMT Message-Id: <202303161745.32GHjZAV020609@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 08ffa93d9f0e - releng/13.2 - heimdal: Fix CVE-2022-4152, signature validation error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 08ffa93d9f0e5c03b15e6f3326d5a0056bfc4a52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=08ffa93d9f0e5c03b15e6f3326d5a0056bfc4a52 commit 08ffa93d9f0e5c03b15e6f3326d5a0056bfc4a52 Author: Cy Schubert AuthorDate: 2023-03-10 01:03:52 +0000 Commit: Ed Maste CommitDate: 2023-03-16 17:44:41 +0000 heimdal: Fix CVE-2022-4152, signature validation error When CVE-2022-3437 was fixed by changing memcmp to be a constant time and the workaround for th e compiler was to add "!=0". However the logic implmented was inverted resulting in CVE-2022-4152. Reported by: Timothy E Zingelman Security: CVE-2022-4152 Security: https://www.cve.org/CVERecord?id=CVE-2022-45142 Security: https://nvd.nist.gov/vuln/detail/CVE-2022-45142 Security: https://security-tracker.debian.org/tracker/CVE-2022-45142 Security: https://bugs.gentoo.org/show_bug.cgi?id=CVE-2022-45142 Security: https://bugzilla.samba.org/show_bug.cgi?id=15296 Security: https://www.openwall.com/lists/oss-security/2023/02/08/1 Approved by: re (cperciva) (cherry picked from commit 5abaf0866445a61c11665fffc148ecd13a7bb9ac) (cherry picked from commit 59c26d1a95a00418892e08341e3eae074c238680) --- crypto/heimdal/lib/gssapi/krb5/arcfour.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/heimdal/lib/gssapi/krb5/arcfour.c b/crypto/heimdal/lib/gssapi/krb5/arcfour.c index 3b8d452877dd..7d1143c95d83 100644 --- a/crypto/heimdal/lib/gssapi/krb5/arcfour.c +++ b/crypto/heimdal/lib/gssapi/krb5/arcfour.c @@ -307,7 +307,7 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status, return GSS_S_FAILURE; } - cmp = (ct_memcmp(cksum_data, p + 8, 8) == 0); + cmp = (ct_memcmp(cksum_data, p + 8, 8) != 0); if (cmp) { *minor_status = 0; return GSS_S_BAD_MIC; @@ -695,7 +695,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status, return GSS_S_FAILURE; } - cmp = (ct_memcmp(cksum_data, p0 + 16, 8) == 0); /* SGN_CKSUM */ + cmp = (ct_memcmp(cksum_data, p0 + 16, 8) != 0); /* SGN_CKSUM */ if (cmp) { _gsskrb5_release_buffer(minor_status, output_message_buffer); *minor_status = 0; From nobody Thu Mar 16 17:45:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pcvmw6zlVz3yNjD; Thu, 16 Mar 2023 17:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pcvmw6V4lz3wHF; Thu, 16 Mar 2023 17:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678988736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Np3PuO9GLChkUd1uAd/owebFSK+1hk0HfoIvx7a2xQs=; b=ytzkKLuRg6b4rtKh+m/ZAe95o1JLPJ8TcBBRxzO7dZqjX4cwo0D/WB3Q9ecnOoTOmKRq1d 5NqKmoj8/zD3igPklzEg0oJ3kZ/g7VpTP5coafI1VSnNOFYDu4QnC3Yw1Hu+fr8q1zCEQz 9a4+NErzx+E/wgn/heSkt8qTTOOW00k3XB8zWz8cPN5fEZmDQHgS8kcMwedG/vOuMsYiiL h2/Pf/dGFfdtite1V6MSB/3JG626bZAYwUdu0es41apYF/TQGfXZEx6K7iSp++p+j8CR6M 49fFdJARi5WpQEm+whT/bBFOaH63cBoSOCOFXZcqG/xg2DoY9/BrWu6ag7ksPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678988736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Np3PuO9GLChkUd1uAd/owebFSK+1hk0HfoIvx7a2xQs=; b=R0yfir7b9Y7oQRxInG5ZNIUzGoFpP0NGUnCYe4Vuid9Ck6725k9OSb7swaT2sMm6OHKAoV a1PEYNfK37RvoanShJaxjsHeWtNrDiRwb5pjr4YUcdqNOIEEgZhC273F19LRwTuezT1K6X 3lA7H8A3ZX3qC09Q2Sxf9yBCOd589G70r8yK3bDxmSwM61hLA5sKvzB6kePqrL2fVrvey/ TbMfN1Qi1eR7zFiDRfA19S1sb9dYFjZe942LeF+yLQv4R0+Z1ffNSsC5LcNZWe6+IATcX5 u6awbuT10+MY8ZbeT6lMXj6RYBHrNq1e9BPHFHbBDVaWPbwREzMBQMDTlxWaWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678988736; a=rsa-sha256; cv=none; b=yBuUH0JLvm1cXotZig1AMz3XfS/g7Xogcv9C2rV/r64tlq8af1XporqnKO5aXuUPRmSHc0 PvlqlOMP5PUfvyNX4zFGTxvFl3EIrZ80pcLOwnsTOnukqROvgjkjKbYGPaOXVGuxTwzZXM UT22I5XB9a2AGmnBCsW69qizKBpmZ5I/2XdXInVEeK/vlgB7LslQstf1b00Se0RNp1NwPd gImEokWWuXO3TGhusGjn6GCOHbuyks6SNWGTn/rla/L86+iVDIo6PfqBt2h7s9ni9VL3TK RslrwFEkPU9qfKaolQ5uxv+D5c/ss1VIduVfDsVI9wHh+EPiEEbf0IyM9o+T1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pcvmw5bhYzsrp; Thu, 16 Mar 2023 17:45: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 32GHja5w020629; Thu, 16 Mar 2023 17:45:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32GHjaFm020628; Thu, 16 Mar 2023 17:45:36 GMT (envelope-from git) Date: Thu, 16 Mar 2023 17:45:36 GMT Message-Id: <202303161745.32GHjaFm020628@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 0c0c89736597 - releng/13.2 - heimdal: Resolve hdb_free_entry() SIGSEGV/SIGILL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 0c0c89736597709fec9cffd5b3b2703470995674 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0c0c89736597709fec9cffd5b3b2703470995674 commit 0c0c89736597709fec9cffd5b3b2703470995674 Author: Cy Schubert AuthorDate: 2023-02-07 15:46:59 +0000 Commit: Ed Maste CommitDate: 2023-03-16 17:44:57 +0000 heimdal: Resolve hdb_free_entry() SIGSEGV/SIGILL When the client sends kadmind a create principal (kadm_create) request kadm_s_create_principal() returns an error before zeroing out ent (an hdb entry structure wrapper -- hdb_entry_ex), resulting in a NULL reference. Fix obtained from upstream commit 35ea4955a. PR: 268059 Reported by: Robert Morris Obtained from: Heimdal commit 35ea4955a Approved by: re (cperciva) (cherry picked from commit 6a70e0b4cdc606931555cdc59dc6c8d4a3ab4e3e) (cherry picked from commit 75b5693ed73e4abb6dbb90affbf3ba56c4cdfdc4) --- crypto/heimdal/lib/kadm5/create_s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/kadm5/create_s.c b/crypto/heimdal/lib/kadm5/create_s.c index 04312c024ed3..1033ca103239 100644 --- a/crypto/heimdal/lib/kadm5/create_s.c +++ b/crypto/heimdal/lib/kadm5/create_s.c @@ -65,6 +65,7 @@ create_principal(kadm5_server_context *context, kadm5_principal_ent_rec defrec, *defent; uint32_t def_mask; + memset(ent, 0, sizeof(*ent)); if((mask & required_mask) != required_mask) return KADM5_BAD_MASK; if((mask & forbidden_mask)) @@ -72,7 +73,6 @@ create_principal(kadm5_server_context *context, if((mask & KADM5_POLICY) && strcmp(princ->policy, "default")) /* XXX no real policies for now */ return KADM5_UNK_POLICY; - memset(ent, 0, sizeof(*ent)); ret = krb5_copy_principal(context->context, princ->principal, &ent->entry.principal); if(ret) From nobody Thu Mar 16 19:10:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pcxg736sjz3yTRQ; Thu, 16 Mar 2023 19:10: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 4Pcxg72p3Rz46F7; Thu, 16 Mar 2023 19:10:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678993843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S45Eaq9Gm5InFxP4eAXEWJ+Ss3ZGYDL5rV65swuIANs=; b=iDkJ1Evn5edg//DBbkQxmBoXmnfxeR69qFPC4iftEPC03Do47zJWEbFxNMWYPXjRHLurTO JCTMG3Iks9CsUlFJa8ptm/aIiVkQyMIk5jERFeY0gpWUmMWUU7HAYKrlOuFtaP3sL+eKLM ZGVIJV9FYp4cfgLxnTFnFeSy4cjIBxZzO4OXaRzx0wjvJOAA/mk+p5lFpN7wRDnkjztXIe G1kGUg3zPRaKqNFM2AB6zNp3C5gCTjJOA5TquNFzt8MMJ0wsCEYAj9ELEIZN0yhXmZaTEQ d5C5/EsBZS6/t9+R0/YQhTlug6RwA71Y24a7JfVK7ffHdJeFJuTfs+JAzTz4SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678993843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S45Eaq9Gm5InFxP4eAXEWJ+Ss3ZGYDL5rV65swuIANs=; b=GbkR7tE/a3UUeJ3rR+ZlZ6/8pBp8OQiuQoxEVRxRjqmovFZHisSsFZQa5ltZT/yllg/Baw t5zrWVGL/1xpChEEjCBS8yKO1bOjsCzst9NPc3t4H8WUUfJZRdweyWMCCXZ6Dq2Yr/B1vB zob7SuKm+D5DbVw1AB93DGigMtYvAKR6Toh2FrES/mvVYQKSootV2iHQSou8M4QjPfVIx5 hidbW0Uap3Hpz4lcaYmTdrHy+7Laxi/bfe+7dfRZnDUxDoVEnCWtgY6weo2xl7lzx1zL6/ 1pJTDwBKSferBzQ8tOKd4D1b7kgPVK6OrN7e1fxYqx+wlx5WNrMywBWMTBLBtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678993843; a=rsa-sha256; cv=none; b=K03YV3rLgSDGoLFazfA1tzVY6rjh0TAsYgtHeME59AWy3Lh7gFAKAwpF3wuH1IAb/qqb1s V5YNIgtehWcBkEcK9xcR8BMU6dlwSTv7mySekVLooYHi6+Zkq3kObxKomYzNCO/qyY3Suj RyBlj1AOzkXYxu+EoOxCL2yJSs0RV15CTfnDIqGlOIEAgyrGs0o3hLuBoh9wfw0/39+QOP H7cmt6YG7GXo0t8waBtCiQ9EV3teuUnsJE+fchpcSC9mebJaTyoqihEEYLbCwinq0CPIc9 TJrw7Mrh6B3nAZWTCcXl/ZAlckY5fQC32ijzPsViVZbW/YZUcVpJTlNL/8sNhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pcxg71qkszvhD; Thu, 16 Mar 2023 19:10: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 32GJAhrp062513; Thu, 16 Mar 2023 19:10:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32GJAgt0062512; Thu, 16 Mar 2023 19:10:42 GMT (envelope-from git) Date: Thu, 16 Mar 2023 19:10:42 GMT Message-Id: <202303161910.32GJAgt0062512@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 802b48363097 - stable/13 - ssh: Update to OpenSSH 9.3p1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 802b483630974c2ccf2bfbc90b39102b9e47d22b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=802b483630974c2ccf2bfbc90b39102b9e47d22b commit 802b483630974c2ccf2bfbc90b39102b9e47d22b Author: Ed Maste AuthorDate: 2023-03-16 14:29:55 +0000 Commit: Ed Maste CommitDate: 2023-03-16 19:08:54 +0000 ssh: Update to OpenSSH 9.3p1 This release fixes a number of security bugs and has minor new features and bug fixes. Security fixes, from the release notes (https://www.openssh.com/txt/release-9.3): This release contains fixes for a security problem and a memory safety problem. The memory safety problem is not believed to be exploitable, but we report most network-reachable memory faults as security bugs. * ssh-add(1): when adding smartcard keys to ssh-agent(1) with the per-hop destination constraints (ssh-add -h ...) added in OpenSSH 8.9, a logic error prevented the constraints from being communicated to the agent. This resulted in the keys being added without constraints. The common cases of non-smartcard keys and keys without destination constraints are unaffected. This problem was reported by Luci Stanescu. * ssh(1): Portable OpenSSH provides an implementation of the getrrsetbyname(3) function if the standard library does not provide it, for use by the VerifyHostKeyDNS feature. A specifically crafted DNS response could cause this function to perform an out-of-bounds read of adjacent stack data, but this condition does not appear to be exploitable beyond denial-of- service to the ssh(1) client. The getrrsetbyname(3) replacement is only included if the system's standard library lacks this function and portable OpenSSH was not compiled with the ldns library (--with-ldns). getrrsetbyname(3) is only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This problem was found by the Coverity static analyzer. Accelerated MFC to prepare for inclusion in 13.2-RELEASE. Sponsored by: The FreeBSD Foundation (cherry picked from commit 4d3fc8b0570b29fb0d6ee9525f104d52176ff0d4) --- crypto/openssh/.depend | 51 +- crypto/openssh/.github/ci-status.md | 7 +- crypto/openssh/.github/configs | 2 +- crypto/openssh/.github/run_test.sh | 2 +- crypto/openssh/.github/setup_ci.sh | 6 +- crypto/openssh/.github/workflows/c-cpp.yml | 1 + crypto/openssh/.github/workflows/selfhosted.yml | 3 + crypto/openssh/.github/workflows/upstream.yml | 1 + crypto/openssh/ChangeLog | 15098 ++++++++++--------- crypto/openssh/Makefile.in | 5 + crypto/openssh/README | 3 +- crypto/openssh/README.md | 1 + crypto/openssh/auth-pam.c | 15 +- crypto/openssh/auth-shadow.c | 14 +- crypto/openssh/auth.c | 3 +- crypto/openssh/auth2-hostbased.c | 9 +- crypto/openssh/auth2-none.c | 3 +- crypto/openssh/auth2-pubkey.c | 8 +- crypto/openssh/auth2-pubkeyfile.c | 3 +- crypto/openssh/auth2.c | 5 +- crypto/openssh/authfd.c | 9 +- crypto/openssh/authfile.c | 4 +- crypto/openssh/canohost.c | 5 +- crypto/openssh/channels.c | 42 +- crypto/openssh/channels.h | 4 +- crypto/openssh/clientloop.c | 14 +- crypto/openssh/compat.c | 53 +- crypto/openssh/compat.h | 14 +- crypto/openssh/contrib/redhat/openssh.spec | 2 +- crypto/openssh/contrib/suse/openssh.spec | 2 +- crypto/openssh/dispatch.c | 3 +- crypto/openssh/dns.c | 8 +- crypto/openssh/dns.h | 4 +- crypto/openssh/hostfile.c | 15 +- crypto/openssh/kex.c | 72 +- crypto/openssh/kex.h | 5 +- crypto/openssh/kexgexs.c | 3 +- crypto/openssh/krl.c | 3 +- crypto/openssh/misc.c | 5 +- crypto/openssh/misc.h | 5 +- crypto/openssh/moduli.c | 13 +- crypto/openssh/monitor.c | 11 +- crypto/openssh/mux.c | 4 +- crypto/openssh/openbsd-compat/bsd-getentropy.c | 2 +- crypto/openssh/openbsd-compat/bsd-snprintf.c | 90 +- crypto/openssh/openbsd-compat/getopt.h | 3 + crypto/openssh/openbsd-compat/getopt_long.c | 14 + crypto/openssh/openbsd-compat/getrrsetbyname.c | 47 +- .../openssh/openbsd-compat/libressl-api-compat.c | 14 +- crypto/openssh/openbsd-compat/mktemp.c | 23 + crypto/openssh/openbsd-compat/openbsd-compat.h | 3 + crypto/openssh/packet.c | 4 +- crypto/openssh/progressmeter.c | 95 +- crypto/openssh/readconf.c | 11 +- crypto/openssh/regress/Makefile | 6 +- crypto/openssh/regress/agent-getpeereid.sh | 3 +- crypto/openssh/regress/agent-restrict.sh | 6 +- crypto/openssh/regress/agent.sh | 4 +- crypto/openssh/regress/dhgex.sh | 6 +- crypto/openssh/regress/integrity.sh | 4 +- crypto/openssh/regress/keygen-sshfp.sh | 22 +- crypto/openssh/regress/knownhosts.sh | 20 +- crypto/openssh/regress/multiplex.sh | 4 +- crypto/openssh/regress/sshd-log-wrapper.sh | 12 - crypto/openssh/regress/test-exec.sh | 88 +- crypto/openssh/regress/timestamp.c | 46 + .../openssh/regress/unittests/kex/test_proposal.c | 47 +- crypto/openssh/regress/unittests/kex/tests.c | 8 +- .../openssh/regress/unittests/misc/test_ptimeout.c | 6 +- crypto/openssh/sandbox-seccomp-filter.c | 93 +- crypto/openssh/scp.c | 8 +- crypto/openssh/servconf.c | 15 +- crypto/openssh/serverloop.c | 5 +- crypto/openssh/session.c | 4 +- crypto/openssh/sftp-client.c | 3 +- crypto/openssh/sftp-server.c | 4 +- crypto/openssh/sftp.c | 14 +- crypto/openssh/ssh-add.c | 9 +- crypto/openssh/ssh-agent.c | 8 +- crypto/openssh/ssh-dss.c | 3 +- crypto/openssh/ssh-ecdsa-sk.c | 3 +- crypto/openssh/ssh-ecdsa.c | 4 +- crypto/openssh/ssh-keygen.1 | 19 +- crypto/openssh/ssh-keygen.c | 42 +- crypto/openssh/ssh-keyscan.1 | 19 +- crypto/openssh/ssh-keyscan.c | 22 +- crypto/openssh/ssh-pkcs11.c | 8 +- crypto/openssh/ssh-rsa.c | 3 +- crypto/openssh/ssh.c | 3 +- crypto/openssh/ssh_config | 2 +- crypto/openssh/ssh_config.5 | 8 +- crypto/openssh/ssh_namespace.h | 4 +- crypto/openssh/sshconnect.c | 5 +- crypto/openssh/sshconnect2.c | 81 +- crypto/openssh/sshd.8 | 20 +- crypto/openssh/sshd.c | 92 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 20 +- crypto/openssh/umac.c | 5 +- crypto/openssh/version.h | 6 +- secure/lib/libssh/Makefile | 1 + 101 files changed, 8558 insertions(+), 8105 deletions(-) diff --git a/crypto/openssh/.depend b/crypto/openssh/.depend index 5226523aa2ad..259bf3b2f136 100644 --- a/crypto/openssh/.depend +++ b/crypto/openssh/.depend @@ -16,21 +16,20 @@ auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth.o: authfile.h monitor_wrap.h compat.h channels.h +auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth2-hostbased.o: canohost.h monitor_wrap.h pathnames.h match.h -auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h +auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h +auth2-hostbased.o: monitor_wrap.h pathnames.h match.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h -auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h compat.h ssh2.h monitor_wrap.h +auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h -auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h compat.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h -auth2.o: digest.h -auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h -authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h +auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h +auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h +authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h canohost.h misc.h @@ -44,11 +43,11 @@ cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h -compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h +compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h +dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h ssherr.h dns.h log.h digest.h ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -61,7 +60,7 @@ hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h -kex.o: match.h misc.h monitor.h sshbuf.h digest.h +kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h @@ -94,8 +93,8 @@ platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/open platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h -readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h -readconf.o: uidswap.h myproposal.h digest.h +readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h uidswap.h +readconf.o: myproposal.h digest.h readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -107,12 +106,12 @@ sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compa sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sandbox-systrace.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h -servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey .h -servconf.o: kex.h mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h -serverloop.o: cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h -serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h -session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h -session.o: rijndael.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h +servconf.o: mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h +serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr .h +serverloop.o: rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h +session.o: hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h @@ -125,7 +124,7 @@ sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-com sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h -ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h +ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -133,8 +132,8 @@ ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbs ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h -ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h dispatch.h log .h -ssh-keyscan.o: ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: dispatch.h log.h ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h @@ -153,12 +152,12 @@ sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/ sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h -sshconnect.o: authfd.h kex.h mac.h crypto_api.h -sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h +sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h authfd.h +sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h -sshconnect2.o: myproposal.h sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h +sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h -sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h myproposal.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h openbsd-compat/openssl-compat.h diff --git a/crypto/openssh/.github/ci-status.md b/crypto/openssh/.github/ci-status.md index d13bbfa8c038..c57c3d83d11a 100644 --- a/crypto/openssh/.github/ci-status.md +++ b/crypto/openssh/.github/ci-status.md @@ -4,7 +4,8 @@ master : [![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml?query=branch:master) [![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) -9.1 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_1) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_1) +9.2 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_2) diff --git a/crypto/openssh/.github/configs b/crypto/openssh/.github/configs index bdd5ddbdfaf0..8f21fc54a268 100755 --- a/crypto/openssh/.github/configs +++ b/crypto/openssh/.github/configs @@ -221,7 +221,7 @@ case "${TARGET_HOST}" in # test run does not time out. # The agent-restrict test fails due to some quoting issue when run # with sh or ksh so specify bash for now. - TEST_TARGET="t-exec TEST_SHELL=bash" + TEST_TARGET="t-exec unit TEST_SHELL=bash" SKIP_LTESTS="rekey sftp" ;; debian-riscv64) diff --git a/crypto/openssh/.github/run_test.sh b/crypto/openssh/.github/run_test.sh index 8eeaf5e9b09d..d5fd487d9009 100755 --- a/crypto/openssh/.github/run_test.sh +++ b/crypto/openssh/.github/run_test.sh @@ -21,7 +21,7 @@ if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then fi output_failed_logs() { - for i in regress/failed*; do + for i in regress/failed*.log; do if [ -f "$i" ]; then echo ------------------------------------------------------------------------- echo LOGFILE $i diff --git a/crypto/openssh/.github/setup_ci.sh b/crypto/openssh/.github/setup_ci.sh index e4480e614f31..691c70dd7ed6 100755 --- a/crypto/openssh/.github/setup_ci.sh +++ b/crypto/openssh/.github/setup_ci.sh @@ -7,10 +7,10 @@ PACKAGES="" case "`./config.guess`" in *cygwin) PACKAGER=setup - echo Setting CYGWIN sustem environment variable. + echo Setting CYGWIN system environment variable. setx CYGWIN "binmode" - chmod -R go-rw /cygdrive/d/a - umask 077 + echo Removing extended ACLs so umask works as expected. + setfacl -b . regress PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core" PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel" ;; diff --git a/crypto/openssh/.github/workflows/c-cpp.yml b/crypto/openssh/.github/workflows/c-cpp.yml index e6ea49550f71..f3163884a037 100644 --- a/crypto/openssh/.github/workflows/c-cpp.yml +++ b/crypto/openssh/.github/workflows/c-cpp.yml @@ -123,3 +123,4 @@ jobs: regress/valgrind-out/ regress/asan.log.* regress/msan.log.* + regress/log/* diff --git a/crypto/openssh/.github/workflows/selfhosted.yml b/crypto/openssh/.github/workflows/selfhosted.yml index 50bc9fffb723..d38cba520500 100644 --- a/crypto/openssh/.github/workflows/selfhosted.yml +++ b/crypto/openssh/.github/workflows/selfhosted.yml @@ -21,6 +21,7 @@ jobs: matrix: target: - alpine + - centos7 - debian-i386 - dfly30 - dfly48 @@ -51,6 +52,7 @@ jobs: include: # Then we include extra libvirt test configs. - { target: aix51, config: default, host: libvirt } + - { target: centos7, config: pam, host: libvirt } - { target: debian-i386, config: pam, host: libvirt } - { target: dfly30, config: without-openssl, host: libvirt} - { target: dfly48, config: pam ,host: libvirt } @@ -109,6 +111,7 @@ jobs: config.h config.log regress/*.log + regress/log/* regress/valgrind-out/ - name: shutdown VM if: always() diff --git a/crypto/openssh/.github/workflows/upstream.yml b/crypto/openssh/.github/workflows/upstream.yml index 1e2c2acb7ac0..b280793d31f3 100644 --- a/crypto/openssh/.github/workflows/upstream.yml +++ b/crypto/openssh/.github/workflows/upstream.yml @@ -46,6 +46,7 @@ jobs: name: ${{ matrix.target }}-${{ matrix.config }}-logs path: | /usr/obj/regress/usr.bin/ssh/obj/*.log + /usr/obj/regress/usr.bin/ssh/obj/log/* - name: shutdown VM if: always() run: vmshutdown diff --git a/crypto/openssh/ChangeLog b/crypto/openssh/ChangeLog index 4251831a1732..f1d1b37d583c 100644 --- a/crypto/openssh/ChangeLog +++ b/crypto/openssh/ChangeLog @@ -1,11196 +1,11238 @@ -commit 6dfb65de949cdd0a5d198edee9a118f265924f33 +commit cb30fbdbee869f1ce11f06aa97e1cb8717a0b645 Author: Damien Miller -Date: Thu Feb 2 23:21:54 2023 +1100 +Date: Thu Mar 16 08:28:19 2023 +1100 - crank versions in RPM specs + depend -commit d07cfb11a0ca574eb68a3931d8c46fbe862a2021 +commit 1dba63eb10c40b6fda9f5012ed6ae87e2d3d028e Author: Damien Miller -Date: Thu Feb 2 23:21:45 2023 +1100 +Date: Thu Mar 16 08:27:54 2023 +1100 - update version in README + crank version -commit 9fe207565b4ab0fe5d1ac5bb85e39188d96fb214 -Author: Damien Miller -Date: Thu Feb 2 23:17:49 2023 +1100 +commit ba7532d0dac9aaf0ad7270664c43837fc9f64a5f +Author: djm@openbsd.org +Date: Wed Mar 15 21:19:57 2023 +0000 - adapt compat_kex_proposal() test to portable + upstream: openssh-9.3 + + OpenBSD-Commit-ID: 8011495f2449c1029bb316bd015eab2e00509848 -commit 903c556b938fff2d7bff8da2cc460254430963c5 -Author: djm@openbsd.org -Date: Thu Feb 2 12:12:52 2023 +0000 +commit 6fd4daafb949b66bf555f3100f715a9ec64c3390 +Author: dtucker@openbsd.org +Date: Tue Mar 14 07:28:47 2023 +0000 - upstream: test compat_kex_proposal(); by dtucker@ + upstream: Free KRL ptr in addition to its contents. - OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2 + From Coverity CID 291841, ok djm@ + + OpenBSD-Commit-ID: f146ba08b1b43af4e0d7ad8c4dae3748b4fa31b6 -commit 405fba71962dec8409c0c962408e09049e5624b5 +commit 1d270bd303afaf6d94e9098cbbf18e5e539e2088 Author: dtucker@openbsd.org -Date: Thu Jan 19 07:53:45 2023 +0000 +Date: Tue Mar 14 07:26:25 2023 +0000 - upstream: Check if we can copy sshd or need to use sudo to do so + upstream: Check pointer for NULL before deref. - during reexec test. Skip test if neither can work. Patch from anton@, tweaks - from me. + None of the existing callers seem to do that, but it's worth checking. + From Coverity CID 291834, ok djm@ - OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d + OpenBSD-Commit-ID: a0a97113f192a7cb1a2c97b932f677f573cda7a4 -commit b2a2a8f69fd7737ea17dc044353c514f2f962f35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:22 2023 +0000 +commit d95af508e78c0cd3dce56b83853baaa59ae295cf +Author: dtucker@openbsd.org +Date: Sun Mar 12 10:40:39 2023 +0000 - upstream: openssh-9.2 + upstream: Limit number of entries in SSH2_MSG_EXT_INFO - OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923 + request. This is already constrained by the maximum SSH packet size but this + makes it explicit. Prompted by Coverity CID 291868, ok djm@ markus@ + + OpenBSD-Commit-ID: aea023819aa44a2dcb9dd0fbec10561896fc3a09 -commit 12da7823336434a403f25c7cc0c2c6aed0737a35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:05 2023 +0000 +commit 8f287ba60d342b3e2f750e7332d2131e3ec7ecd0 +Author: dtucker@openbsd.org +Date: Sun Mar 12 09:41:18 2023 +0000 - upstream: fix double-free caused by compat_kex_proposal(); bz3522 + upstream: calloc can return NULL but xcalloc can't. - by dtucker@, ok me + From Coverity CID 291881, ok djm@ - OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80 + OpenBSD-Commit-ID: 50204b755f66b2ec7ac3cfe379d07d85ca161d2b -commit 79efd95ab5ff99f4cb3a955e2d713b3f54fb807e -Author: Darren Tucker -Date: Wed Feb 1 17:17:26 2023 +1100 +commit 83a56a49fd50f4acf900f934279482e4ef329715 +Author: dtucker@openbsd.org +Date: Fri Mar 10 07:17:08 2023 +0000 - Skip connection-timeout test on minix3. + upstream: Explicitly ignore return from fcntl - Minix 3's Unix domain sockets don't seem to work the way we expect, so - skip connection-timeout test on that platform. While there, group - together all similarly skipped tests and explicitly comment. + (... FD_CLOEXEC) here too. Coverity CID 291853. + + OpenBSD-Commit-ID: 99d8b3da9d0be1d07ca8dd8e98800a890349e9b5 -commit 6b508c4e039619842bcf5a16f8a6b08dd6bec44a +commit 0fda9d704d3bbf54a5e64ce02a6fecb11fe7f047 Author: Damien Miller -Date: Wed Feb 1 12:12:05 2023 +1100 +Date: Fri Mar 10 15:59:46 2023 +1100 - fix libfido2 detection without pkg-config + bounds checking for getrrsetbyname() replacement; - Place libfido2 before additional libraries (that it may depend upon) - and not after. bz3530 from James Zhang; ok dtucker@ + Spotted by Coverity in CID 405033; ok millert@ -commit 358e300fed5e6def233a2c06326e51e20ebed621 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:56:36 2023 +0000 +commit 89b8df518f21677045599df0ad3e5dd0f39909b5 +Author: dtucker@openbsd.org +Date: Fri Mar 10 04:06:21 2023 +0000 - upstream: delete useless dependency + upstream: Plug mem leak on error path. Coverity CID 405026, ok djm@. - OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad + OpenBSD-Commit-ID: 8212ca05d01966fb5e72205c592b2257708a2aac -commit a4cb9be1b021b511e281ee55c356f964487d9e82 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:43:15 2023 +0000 +commit bf4dae0ad192c3e2f03f7223834b00d88ace3d3e +Author: Darren Tucker +Date: Fri Mar 10 14:46:57 2023 +1100 - upstream: Create and install sshd random relink kit. + Add prototypes for mkstemp replacements. - ../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't - be too fragile, we'll see if we need a different approach. The resulting sshd - binary is tested with the new sshd -V option before installation. As the - binary layout is now semi-unknown (meaning relative, fixed, and gadget - offsets are not precisely known), change the filesystem permissions to 511 to - prevent what I call "logged in BROP". I have ideas for improving this further - but this is a first step ok djm + Should prevent warnings due to our wrapper function. + +commit 4e04d68d6a33cdc73b831fd4b5e6124175555d3d +Author: dtucker@openbsd.org +Date: Fri Mar 10 03:01:51 2023 +0000 + + upstream: Expliticly ignore return code from fcntl(.. FD_CLOEXEC) since - OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8 + there's not much we can do anyway. From Coverity CID 291857, ok djm@ + + OpenBSD-Commit-ID: 051429dd07af8db3fec10d82cdc78d90bb051729 -commit bc7de6f91a9a0ae2f148a9d31a4027d441a51999 -Author: jmc@openbsd.org -Date: Wed Jan 18 06:55:32 2023 +0000 +commit d6d38fd77cbe091c59e1bb720c3a494df4990640 +Author: djm@openbsd.org +Date: Fri Mar 10 02:32:04 2023 +0000 - upstream: tweak previous; ok djm + upstream: Like sshd_config, some ssh_config options are not - OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3 + first-match-wins. sshd_config.5 was fixed in r1.348, this is the same for + this file + + OpenBSD-Commit-ID: 7be55b9351cde449b136afcc52d07aa4113b215e -commit a20b7e999773e6333c8aa9b0a7fa41966e63b037 -Author: Darren Tucker -Date: Tue Jan 31 19:35:44 2023 +1100 +commit 7187d3f86bf8f2066cc9941f217d23b0cacae25e +Author: dtucker@openbsd.org +Date: Fri Mar 10 02:24:56 2023 +0000 - Skip connection-timeout test under Valgrind. + upstream: Remove no-op (int) > INT_MAX checks - Valgrind slows things down so much that the timeout test fails. Skip - this test until we figure out if we can make it work. + since they can never be true. From Coverity CID 405031, ok djm@ + + OpenBSD-Commit-ID: 9df3783b181e056595e2bb9edf7ed41d61cf8e84 -commit c3ffb54b4fc5e608206037921db6ccbc2f5ab25f +commit 77adde4305542ebe3005dd456122624fe2347b01 Author: Darren Tucker -Date: Wed Jan 25 21:58:40 2023 +1100 +Date: Fri Mar 10 13:27:29 2023 +1100 - Skip connection-timeout when missing FD passing. + Wrap mkstemp calls with umask set/restore. - This tests uses multiplexing which uses file descriptor passing, so - skip it if we don't have that. Fixes test failures on Cygwin. + glibc versions 2.06 and earlier did not set a umask on files created by + mkstemp created the world-writable. Wrap mkstemp to set and restore + the umask. From Coverity (CIDs 291826 291886 291891), ok djm@ -commit 35253af01d8c0ab444c8377402121816e71c71f5 -Author: djm@openbsd.org -Date: Wed Jan 18 02:00:10 2023 +0000 +commit 633d3dc2a1e9e2a013d019a0576a0771c8423713 +Author: jcs@openbsd.org +Date: Thu Mar 9 21:06:24 2023 +0000 - upstream: when restoring non-blocking mode to stdio fds, restore + upstream: modify parentheses in conditionals to make it clearer what is - exactly the flags that ssh started with and don't just clobber them with - zero, as this could also remove the append flag from the set; + being assigned and what is being checked - bz3523; ok dtucker@ + ok djm dtucker - OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0 + OpenBSD-Commit-ID: 19c10baa46ae559474409f75a5cb3d0eade7a9b8 -commit 7d17ea151c0b2519f023bd9cc7f141128833ac47 -Author: millert@openbsd.org -Date: Wed Jan 18 01:50:21 2023 +0000 +commit 733030840c4772f858de95d5940ec0c37663e8b0 +Author: dtucker@openbsd.org +Date: Thu Mar 9 07:11:05 2023 +0000 - upstream: Add a -V (version) option to sshd like the ssh client + upstream: Re-split the merge of the reorder-hostkeys test. - has. OK markus@ deraadt@ + In the kex_proposal_populate_entries change I merged the the check for + reordering hostkeys with the actual reordering, but kex_assemble_names + mutates options.hostkeyalgorithms which renders the check ineffective. + Put the check back where it was. Spotted and tested by jsg@, ok djm@ - OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e + OpenBSD-Commit-ID: a7469f25a738db5567395d1881e32479a7ffc9de -commit 62360feb7f08f2a4c6fc36f3b3449309203c42c9 -Author: millert@openbsd.org -Date: Tue Jan 17 18:52:44 2023 +0000 +commit 54ac4ab2b53ce9fcb66b8250dee91c070e4167ed +Author: djm@openbsd.org +Date: Thu Mar 9 06:58:26 2023 +0000 - upstream: For "ssh -V" always exit 0, there is no need to check opt + upstream: include destination constraints for smartcard keys too. - again. This was missed when the fallthrough in the switch case above it was - removed. OK deraadt@ + Spotted by Luci Stanescu; ok deraadt@ markus@ - OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120 + OpenBSD-Commit-ID: add879fac6903a1cb1d1e42c4309e5359c3d870f -commit 12492c0abf1eb415d08a897cc1d8b9e789888230 -Author: djm@openbsd.org -Date: Tue Jan 17 10:15:10 2023 +0000 +commit bfd1ad01d974a316b60622759ad17537fa2d92b4 +Author: Darren Tucker +Date: Thu Mar 9 18:24:54 2023 +1100 - upstream: also check that an active session inhibits + Limit the number of PAM environment variables. - UnusedConnectionTimeout idea markus@ + xcalloc has its own limits, but these are specific to PAM. From + Coverity CID 405198, ok djm@ + +commit a231414970e01a35f45a295d5f93698fa1249b28 +Author: Darren Tucker +Date: Thu Mar 9 18:19:44 2023 +1100 + + Limit the number of PAM environment variables. - OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003 + From Coverity CID 405194, tweaks and ok djm@ -commit cef2593c33ac46a58238ff998818754eabdf64ff -Author: djm@openbsd.org -Date: Tue Jan 17 10:02:34 2023 +0000 +commit 36c6c3eff5e4a669ff414b9daf85f919666e8e03 +Author: dtucker@openbsd.org +Date: Wed Mar 8 06:21:32 2023 +0000 - upstream: regression test for UnusedConnectionTimeout + upstream: Plug mem leak. Coverity CID 405196, ok djm@ - OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084 + OpenBSD-Commit-ID: 175f09349387c292f626da68f65f334faaa085f2 -commit aff9493a89c71d6a080419b49ac64eead9730491 -Author: djm@openbsd.org -Date: Mon Jan 16 04:11:29 2023 +0000 +commit dfb9b736e1ccf9e6b03eea21cd961f4fd0634c98 +Author: tb@openbsd.org +Date: Wed Mar 8 05:33:53 2023 +0000 - upstream: unbreak test: cannot access shell positional parameters + upstream: ssh-pkcs11: synchronize error messages with errors - past $9 without wrapping the position in braces (i.e. need ${10}, etc.) + A handful of error messages contained incorrect function names or + otherwise inaccurate descriptions. Fix them to match reality. - OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac + input/ok djm + + OpenBSD-Commit-ID: 165a15db52f75b31e1804b043480c36af09f3411 -commit 0293c19807f83141cdf33b443154459f9ee471f6 -Author: djm@openbsd.org -Date: Tue Jan 17 09:44:48 2023 +0000 +commit 51875897b81b5c21b80c256a29597916edbde454 +Author: guenther@openbsd.org +Date: Wed Mar 8 04:43:12 2023 +0000 - upstream: Add a sshd_config UnusedConnectionTimeout option to terminate - - client connections that have no open channels for some length of time. This - complements the recently-added ChannelTimeout option that terminates inactive - channels after a timeout. + upstream: Delete obsolete /* ARGSUSED */ lint comments. - ok markus@ + ok miod@ millert@ - OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9 + OpenBSD-Commit-ID: 7be168a570264d59e96a7d2d22e927d45fee0e4c -commit 8ec2e3123802d2beeca06c1644b0b647f6d36dab +commit a76085bda883c2104afb33ab0334eca190927362 +Author: Darren Tucker +Date: Wed Mar 8 17:25:37 2023 +1100 + + Extra brackets to prevent warning. + +commit 147ae57d4dfa0508109f93b78a7d8b92819e1f83 Author: djm@openbsd.org -Date: Sun Jan 15 23:35:10 2023 +0000 +Date: Wed Mar 8 00:05:58 2023 +0000 - upstream: adapt to ed25519 changes in src/usr.bin/ssh + upstream: use RSA/SHA256 when testing usability of private key in - OpenBSD-Regress-ID: 4b3e7ba7ee486ae8a0b4790f8112eded2bb7dcd5 + agent; with/ok dtucker + + OpenBSD-Commit-ID: fe1382e2fdf23fcae631308e72342bad56066a56 -commit 9fbbfeca1ce4c7ec0001c827bbf4189a3ba0964b +commit 27fd251bc906a763e70ce0f27c8abdf8bbd1e416 Author: djm@openbsd.org -Date: Sun Jan 15 23:05:32 2023 +0000 +Date: Wed Mar 8 00:05:37 2023 +0000 - upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP + upstream: use RSA/SHA256 when testing usability of private key; - (20221122) and change the import approach to the same one we use for - Streamlined NTRUPrime: use a shell script to extract the bits we need from - SUPERCOP, make some minor adjustments and squish them all into a single file. + based on fix in bz3546 by Dmitry Belyavskiy; with/ok dtucker - ok tb@ tobhe@ + OpenBSD-Commit-ID: 0ef414cc363a832f9fab92a5da0234448bce2eba + +commit eee9f3fc3d52ae7d2106929bb06b7f291fb0b81a +Author: djm@openbsd.org +Date: Tue Mar 7 21:47:42 2023 +0000 + + upstream: refactor to be more readable top to bottom. Prompted by - OpenBSD-Commit-ID: 1bc0fd624cb6af440905b8ba74ac7c03311b8e3b + Coverity CID 405048 which was a false-positive fd leak; ok dtucker@ + + OpenBSD-Commit-ID: fc55ec2af622a017defb9b768bf26faefc792c00 -commit 6283f4bd83eee714d0f5fc55802eff836b06fea8 +commit 42a06b29a4c99272bf690f9b3be520b08b448dc5 Author: Darren Tucker -Date: Sat Jan 14 22:02:44 2023 +1100 +Date: Tue Mar 7 18:34:41 2023 +1100 - Allow writev is seccomp sandbox. - - This seems to be used by recent glibcs at least in some configurations. - From bz#3512, ok djm@ + Add header changes missed in previous. -commit 923c3f437f439cfca238fba37e97a7041782f615 +commit 4710077096edff2e6926dd5b15bf586491d317db Author: dtucker@openbsd.org -Date: Sat Jan 14 10:05:54 2023 +0000 +Date: Tue Mar 7 06:09:14 2023 +0000 - upstream: Shell syntax fix. From ren mingshuai vi github PR#369. + upstream: Fix mem leak in environment setup. - OpenBSD-Regress-ID: 6696b2eeefe128099fc3d7ea9f23252cc35156f9 + From jjelen at redhat.com via bz#2687, ok djm@ + + OpenBSD-Commit-ID: 9f9e4ba3cac003e6f81da3bcebd1b9ec43e7f353 -commit 4d87a00f704e0365e11c3c38b170c1275ec461fc +commit 03acc50d0ccb78fc91d1570de1cd0fdfea646028 Author: dtucker@openbsd.org -Date: Sat Jan 14 09:57:08 2023 +0000 +Date: Mon Mar 6 12:15:47 2023 +0000 - upstream: Instead of skipping the all-tokens test if we don't have + upstream: Unit test for kex_proposal_populate_entries. - OpenSSL (since we use it to compute the hash), put the hash at the end and - just omit it if we don't have it. Prompted by bz#3521. + OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006 + +commit 3f9231c2e1f374ebb08016ba00ea97b47c0ed20b +Author: djm@openbsd.org +Date: Tue Mar 7 05:37:26 2023 +0000 + + upstream: fix memory leak in process_read() path; Spotted by James - OpenBSD-Regress-ID: c79ecba64250ed3b6417294b6c965e6b12ca5eea + Robinson in GHPR363; ok markus@ + + OpenBSD-Commit-ID: cdc2d98e6478b7e7f3a36976845adae3820429d8 -commit b05406d6f93b8c8ec11ec8b27e7c76cc7a5a55fb -Author: jmc@openbsd.org -Date: Fri Jan 13 07:13:40 2023 +0000 +commit c5e6e890839ec520ab9301a92cba56303749dea2 +Author: djm@openbsd.org +Date: Tue Mar 7 01:30:52 2023 +0000 - upstream: fix double phrase in previous; + upstream: correct size for array argument when changing - OpenBSD-Commit-ID: 671e6c8dc5e9230518b2bbfa143daaa88adc66c2 + UMAC_OUTPUT_LEN Coverity CID 291845; ok dtucker@ + + OpenBSD-Commit-ID: 2eb017d10705bb623d4418691f961c930eafaec0 -commit 40564812b659c530eb1f4b62d09e85612aef3107 +commit 9641753e0fd146204d57b2a4165f552a81afade4 Author: dtucker@openbsd.org -Date: Fri Jan 13 03:16:29 2023 +0000 +Date: Mon Mar 6 12:14:48 2023 +0000 - upstream: Document "UserKnownHostsFile none". ok djm@ + upstream: Refactor creation of KEX proposal. - OpenBSD-Commit-ID: f695742d39e34ecdcc3c861c3739a84648a4bce5 + This adds kex_proposal_populate_entries (and corresponding free) which + populates the KEX proposal array with dynamically allocated strings. + This replaces the previous mix of static and dynamic that has been the + source of previous leaks and bugs. Remove unused compat functions. + With & ok djm@. + + OpenBSD-Commit-ID: f2f99da4aae2233cb18bf9c749320c5e040a9c7b -commit d03e245e034019a37388f6f5f893ce848ab6d2e2 -Author: Darren Tucker -Date: Fri Jan 13 23:02:34 2023 +1100 +commit aa59d6a489fb20973fa461d0fdb1110db412947b +Author: dtucker@openbsd.org +Date: Sun Mar 5 09:24:35 2023 +0000 - Retry package installation 3 times. + upstream: Fix mem and FILE leaks in moduli screening. - When setting up the CI environment, retry package installation 3 times - before going up. Should help prevent spurious failures during - infrastructure issues. + If multiple -Ocheckpoint= options are passed, the earlier ones would + be overwritten and leaked. If we use an input file that wasn't stdin, + close that. From Coverity CIDs 291884 and 291894. + + OpenBSD-Commit-ID: a4d9d15f572926f841788912e2b282485ad09e8b -commit 625f6bc39840167dafb3bf5b6a3e18503ac986e8 +commit 23b8cb41767af99a1aac24589d1882d9c8c2c205 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:47:34 2023 +0000 +Date: Sun Mar 5 08:18:58 2023 +0000 - upstream: Move scp path setting to a helper function. The previous + upstream: Plug mem leak in moduli checkpoint option parsing. - commit to add scp to the test sshd's path causes the t-envpass test to fail - when the test scp is given using a fully qualified path. Put this in a - helper function and only call it from the scp tests. + From Coverity CID 291894. - OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4 + OpenBSD-Commit-ID: 9b1aba2d049741ae21c8dc4560a7e29ab17310f4 -commit 6e6f88647042b3cde54a628545c2f5fb656a9327 +commit fc7f8f2188d4a4fc8ba77eddbe863c7665666db5 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:23:00 2023 +0000 +Date: Sun Mar 5 05:34:09 2023 +0000 - upstream: Add scp's path to test sshd's PATH. + upstream: Remove unused compat.h includes. - If the scp we're testing is fully qualified (eg it's not in the system - PATH) then add its path to the under-test sshd's PATH so we can find - it. Prompted by bz#3518. + We've previously removed a lot of the really old compatibility code, + and with it went the need to include compat.h in most of the files that + have it. - OpenBSD-Regress-ID: 7df4f5a0be3aa135495b7e5a6719d3cbc26cc4c0 + OpenBSD-Commit-ID: 5af8baa194be00a3092d17598e88a5b29f7ea2b4 -commit 8a5e99a70fcf9b022a8aa175ebf6a71f58511da3 -Author: Darren Tucker -Date: Fri Jan 13 15:49:48 2023 +1100 +commit 6c165c36246d8004c20e1df5cec4961a5ac422d6 +Author: dtucker@openbsd.org +Date: Sat Mar 4 03:22:59 2023 +0000 - Remove skipping test when scp not in path. + upstream: Use time_t for x11 timeout. - An upcoming change renders this obsolete by adding scp's path to the - test sshd's PATH, and removing this first will make the subsequent sync - easier. + Use time_t instead of u_int for remaining x11 timeout checks for 64bit + time_t safety. From Coverity CIDs 405197 and 405028, ok djm@ + + OpenBSD-Commit-ID: 356685bfa1fc3d81bd95722d3fc47101cc1a4972 -commit 41f36dd896c8fb8337d403fcf476762986976e9d +commit 4a3918f51bd2d968387e7aa87e33b32c78077fb4 Author: dtucker@openbsd.org -Date: Fri Jan 13 02:58:20 2023 +0000 +Date: Fri Mar 3 10:23:42 2023 +0000 - upstream: Add a "Host" line to the output of ssh -G showing the + upstream: Ensure ms_remain is always initialized - original host arg. Inspired by patch from vincent at bernat.ch via bz#3343, - ok djm@ + similar to what we do in ssh_packet_write_wait. bz#2687, from jjelen + at redhat.com. - OpenBSD-Commit-ID: 59c0f60a222113a44d0650cd394376e3beecc883 + OpenBSD-Commit-ID: a50e0541cf823f8d1c72f71ccde925d3dbe6dfac -commit f673b49f3be3eb51074fbb8a405beb6cd0f7d93e -Author: djm@openbsd.org -Date: Fri Jan 13 02:44:02 2023 +0000 +commit e44846a4487d2885ac7f2610be09b1e2bf52249b +Author: dtucker@openbsd.org +Date: Fri Mar 3 09:48:51 2023 +0000 - upstream: avoid printf("%s", NULL) if using ssh + upstream: Check for non-NULL before string - -oUserKnownHostsFile=none and a hostkey in one of the system known hosts file - changes; ok dtucker@ + comparison. From jjelen at redhat.com via bz#2687. - OpenBSD-Commit-ID: 7ca87614bfc6da491315536a7f2301434a9fe614 + OpenBSD-Commit-ID: 0d9b2e0cac88a311b5766b1aef737082583c285f -commit 93fc7c576563e3d88a1dc019dd213f65607784cc +commit 1842d523fae63b862ce8e60725c9b606cddb86a6 Author: djm@openbsd.org -Date: Wed Jan 11 05:39:38 2023 +0000 +Date: Fri Mar 3 05:00:34 2023 +0000 - upstream: clamp the minimum buffer lengths and number of inflight + upstream: guard against getsockname(-1, ...) from Coverity CID - requests too + 291832 - OpenBSD-Commit-ID: c4965f62fa0ba850940fd66ae3f60cf516bbcd56 + OpenBSD-Commit-ID: e58d5227327917d189229b7f0b37d2780f360d5f *** 22346 LINES SKIPPED *** From nobody Fri Mar 17 01:38:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pd6Gp5Cgcz3yt8S; Fri, 17 Mar 2023 01:38: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 4Pd6Gp4hv2z3jVn; Fri, 17 Mar 2023 01:38:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679017122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TWOBfxRDzAJ2xOmM8FyCjA7uMVWtl07ry2l1AVoyg2s=; b=MYcyvQ/efu5kEmpNvthfOXPA3CA6Ls1qzWFqAwUM7/EtY2HvGc7J36kiKvGztVCYIq7KNk Pt79rG7S1oGiOhehp24L0kGISIzk9XS73iJhgvdTAYYST+E4LjzLomXVUyRRKFlSkt+Cwe 4woccTBizxET7PUX2DQF2583Pxz+yr0fZ2vAmJGcQIkAtTvzVg83PqPwlLGbIdZxvI/RMr GS79l5ACKOQNtfTCMviQvFr0sDLBklRysIaNsW/Hi2V4WOxN04fy3gUoTWqI/0sySRH3BC i4At/a97K+66QmXwX3VqpYVADV4tTcSH4H+oihkORsb0gPG0EVjKlH1jwJdzsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679017122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TWOBfxRDzAJ2xOmM8FyCjA7uMVWtl07ry2l1AVoyg2s=; b=TRejUJ0sGiTuZOyhiG9E9wFDYIhJo6NgXunOLr9N9nhh3QquGBMvmDjrb+/Y9vBbTXqt1/ vERYtv3ymNLz2hzwWYt9kbCGG5P5OzGRM1jzxP9zhmOo2S4nQxBK8m5DGWVFsPtZNGfOEC DtlOEVOvqbRJvOY0bYAY+D2Dt6fgNjmblzXdEBR0ZiYswk/fFhk9pje4DyevOUkj+XtB6y WxwidcEql9C17wiKvC4rFyAQs33ZNh/UZDL7y24Q7hOvDLfmwnRHgLs57YYHryYXggjpG1 m71lvyIjozN1wn+EL5B9SgS/OEXUYNXQC+WeD7t/2L5KOEUn2FuTxuUABcySbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679017122; a=rsa-sha256; cv=none; b=EXcOWWTVEOUgtBEpgQbGQLoM7qPYj9w9Bscq3QXgxpQIESYekAzg+JCxRh4511cunPnHX8 FJMmX87U1tTTwjW4xIAqho24Ok+FK3GXY+dCQKds9ghwM+wl3/XxRERQImkqA9WZmCiCUi lUu5uHGPdVVNek43qg3CcXGFpWUkjxDTh0OCbfpkO79PwMaPlbGzAPg1PmbIFUkS5Nrhwt n1wgP55YmTONIqEMFiEd5ysMiRCVyR5ocbE0z/TxHDUqVXjeUAOVe6a7e6Xn0aTyWnZTDq XHQ+peHcGhWnYBVgsfrwlH5olMdcX33HSxFoBUDgsNboKvXZVhR+3snsAHRDTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pd6Gp3hJPz15nf; Fri, 17 Mar 2023 01:38: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 32H1cgHp094022; Fri, 17 Mar 2023 01:38:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H1cgtU094021; Fri, 17 Mar 2023 01:38:42 GMT (envelope-from git) Date: Fri, 17 Mar 2023 01:38:42 GMT Message-Id: <202303170138.32H1cgtU094021@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 43ad40718af1 - releng/13.2 - ssh: Update to OpenSSH 9.3p1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 43ad40718af1a94abc2fb3fb932b08a91a56f291 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=43ad40718af1a94abc2fb3fb932b08a91a56f291 commit 43ad40718af1a94abc2fb3fb932b08a91a56f291 Author: Ed Maste AuthorDate: 2023-03-16 14:29:55 +0000 Commit: Ed Maste CommitDate: 2023-03-17 01:38:16 +0000 ssh: Update to OpenSSH 9.3p1 This release fixes a number of security bugs and has minor new features and bug fixes. Security fixes, from the release notes (https://www.openssh.com/txt/release-9.3): This release contains fixes for a security problem and a memory safety problem. The memory safety problem is not believed to be exploitable, but we report most network-reachable memory faults as security bugs. * ssh-add(1): when adding smartcard keys to ssh-agent(1) with the per-hop destination constraints (ssh-add -h ...) added in OpenSSH 8.9, a logic error prevented the constraints from being communicated to the agent. This resulted in the keys being added without constraints. The common cases of non-smartcard keys and keys without destination constraints are unaffected. This problem was reported by Luci Stanescu. * ssh(1): Portable OpenSSH provides an implementation of the getrrsetbyname(3) function if the standard library does not provide it, for use by the VerifyHostKeyDNS feature. A specifically crafted DNS response could cause this function to perform an out-of-bounds read of adjacent stack data, but this condition does not appear to be exploitable beyond denial-of- service to the ssh(1) client. The getrrsetbyname(3) replacement is only included if the system's standard library lacks this function and portable OpenSSH was not compiled with the ldns library (--with-ldns). getrrsetbyname(3) is only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This problem was found by the Coverity static analyzer. Approved by: re (cperciva) Sponsored by: The FreeBSD Foundation (cherry picked from commit 4d3fc8b0570b29fb0d6ee9525f104d52176ff0d4) (cherry picked from commit 802b483630974c2ccf2bfbc90b39102b9e47d22b) --- crypto/openssh/.depend | 51 +- crypto/openssh/.github/ci-status.md | 7 +- crypto/openssh/.github/configs | 2 +- crypto/openssh/.github/run_test.sh | 2 +- crypto/openssh/.github/setup_ci.sh | 6 +- crypto/openssh/.github/workflows/c-cpp.yml | 1 + crypto/openssh/.github/workflows/selfhosted.yml | 3 + crypto/openssh/.github/workflows/upstream.yml | 1 + crypto/openssh/ChangeLog | 15098 ++++++++++--------- crypto/openssh/Makefile.in | 5 + crypto/openssh/README | 3 +- crypto/openssh/README.md | 1 + crypto/openssh/auth-pam.c | 15 +- crypto/openssh/auth-shadow.c | 14 +- crypto/openssh/auth.c | 3 +- crypto/openssh/auth2-hostbased.c | 9 +- crypto/openssh/auth2-none.c | 3 +- crypto/openssh/auth2-pubkey.c | 8 +- crypto/openssh/auth2-pubkeyfile.c | 3 +- crypto/openssh/auth2.c | 5 +- crypto/openssh/authfd.c | 9 +- crypto/openssh/authfile.c | 4 +- crypto/openssh/canohost.c | 5 +- crypto/openssh/channels.c | 42 +- crypto/openssh/channels.h | 4 +- crypto/openssh/clientloop.c | 14 +- crypto/openssh/compat.c | 53 +- crypto/openssh/compat.h | 14 +- crypto/openssh/contrib/redhat/openssh.spec | 2 +- crypto/openssh/contrib/suse/openssh.spec | 2 +- crypto/openssh/dispatch.c | 3 +- crypto/openssh/dns.c | 8 +- crypto/openssh/dns.h | 4 +- crypto/openssh/hostfile.c | 15 +- crypto/openssh/kex.c | 72 +- crypto/openssh/kex.h | 5 +- crypto/openssh/kexgexs.c | 3 +- crypto/openssh/krl.c | 3 +- crypto/openssh/misc.c | 5 +- crypto/openssh/misc.h | 5 +- crypto/openssh/moduli.c | 13 +- crypto/openssh/monitor.c | 11 +- crypto/openssh/mux.c | 4 +- crypto/openssh/openbsd-compat/bsd-getentropy.c | 2 +- crypto/openssh/openbsd-compat/bsd-snprintf.c | 90 +- crypto/openssh/openbsd-compat/getopt.h | 3 + crypto/openssh/openbsd-compat/getopt_long.c | 14 + crypto/openssh/openbsd-compat/getrrsetbyname.c | 47 +- .../openssh/openbsd-compat/libressl-api-compat.c | 14 +- crypto/openssh/openbsd-compat/mktemp.c | 23 + crypto/openssh/openbsd-compat/openbsd-compat.h | 3 + crypto/openssh/packet.c | 4 +- crypto/openssh/progressmeter.c | 95 +- crypto/openssh/readconf.c | 11 +- crypto/openssh/regress/Makefile | 6 +- crypto/openssh/regress/agent-getpeereid.sh | 3 +- crypto/openssh/regress/agent-restrict.sh | 6 +- crypto/openssh/regress/agent.sh | 4 +- crypto/openssh/regress/dhgex.sh | 6 +- crypto/openssh/regress/integrity.sh | 4 +- crypto/openssh/regress/keygen-sshfp.sh | 22 +- crypto/openssh/regress/knownhosts.sh | 20 +- crypto/openssh/regress/multiplex.sh | 4 +- crypto/openssh/regress/sshd-log-wrapper.sh | 12 - crypto/openssh/regress/test-exec.sh | 88 +- crypto/openssh/regress/timestamp.c | 46 + .../openssh/regress/unittests/kex/test_proposal.c | 47 +- crypto/openssh/regress/unittests/kex/tests.c | 8 +- .../openssh/regress/unittests/misc/test_ptimeout.c | 6 +- crypto/openssh/sandbox-seccomp-filter.c | 93 +- crypto/openssh/scp.c | 8 +- crypto/openssh/servconf.c | 15 +- crypto/openssh/serverloop.c | 5 +- crypto/openssh/session.c | 4 +- crypto/openssh/sftp-client.c | 3 +- crypto/openssh/sftp-server.c | 4 +- crypto/openssh/sftp.c | 14 +- crypto/openssh/ssh-add.c | 9 +- crypto/openssh/ssh-agent.c | 8 +- crypto/openssh/ssh-dss.c | 3 +- crypto/openssh/ssh-ecdsa-sk.c | 3 +- crypto/openssh/ssh-ecdsa.c | 4 +- crypto/openssh/ssh-keygen.1 | 19 +- crypto/openssh/ssh-keygen.c | 42 +- crypto/openssh/ssh-keyscan.1 | 19 +- crypto/openssh/ssh-keyscan.c | 22 +- crypto/openssh/ssh-pkcs11.c | 8 +- crypto/openssh/ssh-rsa.c | 3 +- crypto/openssh/ssh.c | 3 +- crypto/openssh/ssh_config | 2 +- crypto/openssh/ssh_config.5 | 8 +- crypto/openssh/ssh_namespace.h | 4 +- crypto/openssh/sshconnect.c | 5 +- crypto/openssh/sshconnect2.c | 81 +- crypto/openssh/sshd.8 | 20 +- crypto/openssh/sshd.c | 92 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 20 +- crypto/openssh/umac.c | 5 +- crypto/openssh/version.h | 6 +- secure/lib/libssh/Makefile | 1 + 101 files changed, 8558 insertions(+), 8105 deletions(-) diff --git a/crypto/openssh/.depend b/crypto/openssh/.depend index 5226523aa2ad..259bf3b2f136 100644 --- a/crypto/openssh/.depend +++ b/crypto/openssh/.depend @@ -16,21 +16,20 @@ auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth.o: authfile.h monitor_wrap.h compat.h channels.h +auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth2-hostbased.o: canohost.h monitor_wrap.h pathnames.h match.h -auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h +auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h +auth2-hostbased.o: monitor_wrap.h pathnames.h match.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h -auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h compat.h ssh2.h monitor_wrap.h +auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h -auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h compat.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h -auth2.o: digest.h -auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h -authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h +auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h +auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h +authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h canohost.h misc.h @@ -44,11 +43,11 @@ cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h -compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h +compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h +dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h ssherr.h dns.h log.h digest.h ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -61,7 +60,7 @@ hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h -kex.o: match.h misc.h monitor.h sshbuf.h digest.h +kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h @@ -94,8 +93,8 @@ platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/open platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h -readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h -readconf.o: uidswap.h myproposal.h digest.h +readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h uidswap.h +readconf.o: myproposal.h digest.h readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -107,12 +106,12 @@ sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compa sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sandbox-systrace.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h -servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey .h -servconf.o: kex.h mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h -serverloop.o: cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h -serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h -session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h -session.o: rijndael.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h +servconf.o: mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h +serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr .h +serverloop.o: rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h +session.o: hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h @@ -125,7 +124,7 @@ sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-com sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h -ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h +ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -133,8 +132,8 @@ ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbs ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h -ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h dispatch.h log .h -ssh-keyscan.o: ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: dispatch.h log.h ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h @@ -153,12 +152,12 @@ sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/ sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h -sshconnect.o: authfd.h kex.h mac.h crypto_api.h -sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h +sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h authfd.h +sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h -sshconnect2.o: myproposal.h sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h +sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h -sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h myproposal.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h openbsd-compat/openssl-compat.h diff --git a/crypto/openssh/.github/ci-status.md b/crypto/openssh/.github/ci-status.md index d13bbfa8c038..c57c3d83d11a 100644 --- a/crypto/openssh/.github/ci-status.md +++ b/crypto/openssh/.github/ci-status.md @@ -4,7 +4,8 @@ master : [![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml?query=branch:master) [![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) -9.1 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_1) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_1) +9.2 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_2) diff --git a/crypto/openssh/.github/configs b/crypto/openssh/.github/configs index bdd5ddbdfaf0..8f21fc54a268 100755 --- a/crypto/openssh/.github/configs +++ b/crypto/openssh/.github/configs @@ -221,7 +221,7 @@ case "${TARGET_HOST}" in # test run does not time out. # The agent-restrict test fails due to some quoting issue when run # with sh or ksh so specify bash for now. - TEST_TARGET="t-exec TEST_SHELL=bash" + TEST_TARGET="t-exec unit TEST_SHELL=bash" SKIP_LTESTS="rekey sftp" ;; debian-riscv64) diff --git a/crypto/openssh/.github/run_test.sh b/crypto/openssh/.github/run_test.sh index 8eeaf5e9b09d..d5fd487d9009 100755 --- a/crypto/openssh/.github/run_test.sh +++ b/crypto/openssh/.github/run_test.sh @@ -21,7 +21,7 @@ if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then fi output_failed_logs() { - for i in regress/failed*; do + for i in regress/failed*.log; do if [ -f "$i" ]; then echo ------------------------------------------------------------------------- echo LOGFILE $i diff --git a/crypto/openssh/.github/setup_ci.sh b/crypto/openssh/.github/setup_ci.sh index e4480e614f31..691c70dd7ed6 100755 --- a/crypto/openssh/.github/setup_ci.sh +++ b/crypto/openssh/.github/setup_ci.sh @@ -7,10 +7,10 @@ PACKAGES="" case "`./config.guess`" in *cygwin) PACKAGER=setup - echo Setting CYGWIN sustem environment variable. + echo Setting CYGWIN system environment variable. setx CYGWIN "binmode" - chmod -R go-rw /cygdrive/d/a - umask 077 + echo Removing extended ACLs so umask works as expected. + setfacl -b . regress PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core" PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel" ;; diff --git a/crypto/openssh/.github/workflows/c-cpp.yml b/crypto/openssh/.github/workflows/c-cpp.yml index e6ea49550f71..f3163884a037 100644 --- a/crypto/openssh/.github/workflows/c-cpp.yml +++ b/crypto/openssh/.github/workflows/c-cpp.yml @@ -123,3 +123,4 @@ jobs: regress/valgrind-out/ regress/asan.log.* regress/msan.log.* + regress/log/* diff --git a/crypto/openssh/.github/workflows/selfhosted.yml b/crypto/openssh/.github/workflows/selfhosted.yml index 50bc9fffb723..d38cba520500 100644 --- a/crypto/openssh/.github/workflows/selfhosted.yml +++ b/crypto/openssh/.github/workflows/selfhosted.yml @@ -21,6 +21,7 @@ jobs: matrix: target: - alpine + - centos7 - debian-i386 - dfly30 - dfly48 @@ -51,6 +52,7 @@ jobs: include: # Then we include extra libvirt test configs. - { target: aix51, config: default, host: libvirt } + - { target: centos7, config: pam, host: libvirt } - { target: debian-i386, config: pam, host: libvirt } - { target: dfly30, config: without-openssl, host: libvirt} - { target: dfly48, config: pam ,host: libvirt } @@ -109,6 +111,7 @@ jobs: config.h config.log regress/*.log + regress/log/* regress/valgrind-out/ - name: shutdown VM if: always() diff --git a/crypto/openssh/.github/workflows/upstream.yml b/crypto/openssh/.github/workflows/upstream.yml index 1e2c2acb7ac0..b280793d31f3 100644 --- a/crypto/openssh/.github/workflows/upstream.yml +++ b/crypto/openssh/.github/workflows/upstream.yml @@ -46,6 +46,7 @@ jobs: name: ${{ matrix.target }}-${{ matrix.config }}-logs path: | /usr/obj/regress/usr.bin/ssh/obj/*.log + /usr/obj/regress/usr.bin/ssh/obj/log/* - name: shutdown VM if: always() run: vmshutdown diff --git a/crypto/openssh/ChangeLog b/crypto/openssh/ChangeLog index 4251831a1732..f1d1b37d583c 100644 --- a/crypto/openssh/ChangeLog +++ b/crypto/openssh/ChangeLog @@ -1,11196 +1,11238 @@ -commit 6dfb65de949cdd0a5d198edee9a118f265924f33 +commit cb30fbdbee869f1ce11f06aa97e1cb8717a0b645 Author: Damien Miller -Date: Thu Feb 2 23:21:54 2023 +1100 +Date: Thu Mar 16 08:28:19 2023 +1100 - crank versions in RPM specs + depend -commit d07cfb11a0ca574eb68a3931d8c46fbe862a2021 +commit 1dba63eb10c40b6fda9f5012ed6ae87e2d3d028e Author: Damien Miller -Date: Thu Feb 2 23:21:45 2023 +1100 +Date: Thu Mar 16 08:27:54 2023 +1100 - update version in README + crank version -commit 9fe207565b4ab0fe5d1ac5bb85e39188d96fb214 -Author: Damien Miller -Date: Thu Feb 2 23:17:49 2023 +1100 +commit ba7532d0dac9aaf0ad7270664c43837fc9f64a5f +Author: djm@openbsd.org +Date: Wed Mar 15 21:19:57 2023 +0000 - adapt compat_kex_proposal() test to portable + upstream: openssh-9.3 + + OpenBSD-Commit-ID: 8011495f2449c1029bb316bd015eab2e00509848 -commit 903c556b938fff2d7bff8da2cc460254430963c5 -Author: djm@openbsd.org -Date: Thu Feb 2 12:12:52 2023 +0000 +commit 6fd4daafb949b66bf555f3100f715a9ec64c3390 +Author: dtucker@openbsd.org +Date: Tue Mar 14 07:28:47 2023 +0000 - upstream: test compat_kex_proposal(); by dtucker@ + upstream: Free KRL ptr in addition to its contents. - OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2 + From Coverity CID 291841, ok djm@ + + OpenBSD-Commit-ID: f146ba08b1b43af4e0d7ad8c4dae3748b4fa31b6 -commit 405fba71962dec8409c0c962408e09049e5624b5 +commit 1d270bd303afaf6d94e9098cbbf18e5e539e2088 Author: dtucker@openbsd.org -Date: Thu Jan 19 07:53:45 2023 +0000 +Date: Tue Mar 14 07:26:25 2023 +0000 - upstream: Check if we can copy sshd or need to use sudo to do so + upstream: Check pointer for NULL before deref. - during reexec test. Skip test if neither can work. Patch from anton@, tweaks - from me. + None of the existing callers seem to do that, but it's worth checking. + From Coverity CID 291834, ok djm@ - OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d + OpenBSD-Commit-ID: a0a97113f192a7cb1a2c97b932f677f573cda7a4 -commit b2a2a8f69fd7737ea17dc044353c514f2f962f35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:22 2023 +0000 +commit d95af508e78c0cd3dce56b83853baaa59ae295cf +Author: dtucker@openbsd.org +Date: Sun Mar 12 10:40:39 2023 +0000 - upstream: openssh-9.2 + upstream: Limit number of entries in SSH2_MSG_EXT_INFO - OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923 + request. This is already constrained by the maximum SSH packet size but this + makes it explicit. Prompted by Coverity CID 291868, ok djm@ markus@ + + OpenBSD-Commit-ID: aea023819aa44a2dcb9dd0fbec10561896fc3a09 -commit 12da7823336434a403f25c7cc0c2c6aed0737a35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:05 2023 +0000 +commit 8f287ba60d342b3e2f750e7332d2131e3ec7ecd0 +Author: dtucker@openbsd.org +Date: Sun Mar 12 09:41:18 2023 +0000 - upstream: fix double-free caused by compat_kex_proposal(); bz3522 + upstream: calloc can return NULL but xcalloc can't. - by dtucker@, ok me + From Coverity CID 291881, ok djm@ - OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80 + OpenBSD-Commit-ID: 50204b755f66b2ec7ac3cfe379d07d85ca161d2b -commit 79efd95ab5ff99f4cb3a955e2d713b3f54fb807e -Author: Darren Tucker -Date: Wed Feb 1 17:17:26 2023 +1100 +commit 83a56a49fd50f4acf900f934279482e4ef329715 +Author: dtucker@openbsd.org +Date: Fri Mar 10 07:17:08 2023 +0000 - Skip connection-timeout test on minix3. + upstream: Explicitly ignore return from fcntl - Minix 3's Unix domain sockets don't seem to work the way we expect, so - skip connection-timeout test on that platform. While there, group - together all similarly skipped tests and explicitly comment. + (... FD_CLOEXEC) here too. Coverity CID 291853. + + OpenBSD-Commit-ID: 99d8b3da9d0be1d07ca8dd8e98800a890349e9b5 -commit 6b508c4e039619842bcf5a16f8a6b08dd6bec44a +commit 0fda9d704d3bbf54a5e64ce02a6fecb11fe7f047 Author: Damien Miller -Date: Wed Feb 1 12:12:05 2023 +1100 +Date: Fri Mar 10 15:59:46 2023 +1100 - fix libfido2 detection without pkg-config + bounds checking for getrrsetbyname() replacement; - Place libfido2 before additional libraries (that it may depend upon) - and not after. bz3530 from James Zhang; ok dtucker@ + Spotted by Coverity in CID 405033; ok millert@ -commit 358e300fed5e6def233a2c06326e51e20ebed621 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:56:36 2023 +0000 +commit 89b8df518f21677045599df0ad3e5dd0f39909b5 +Author: dtucker@openbsd.org +Date: Fri Mar 10 04:06:21 2023 +0000 - upstream: delete useless dependency + upstream: Plug mem leak on error path. Coverity CID 405026, ok djm@. - OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad + OpenBSD-Commit-ID: 8212ca05d01966fb5e72205c592b2257708a2aac -commit a4cb9be1b021b511e281ee55c356f964487d9e82 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:43:15 2023 +0000 +commit bf4dae0ad192c3e2f03f7223834b00d88ace3d3e +Author: Darren Tucker +Date: Fri Mar 10 14:46:57 2023 +1100 - upstream: Create and install sshd random relink kit. + Add prototypes for mkstemp replacements. - ../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't - be too fragile, we'll see if we need a different approach. The resulting sshd - binary is tested with the new sshd -V option before installation. As the - binary layout is now semi-unknown (meaning relative, fixed, and gadget - offsets are not precisely known), change the filesystem permissions to 511 to - prevent what I call "logged in BROP". I have ideas for improving this further - but this is a first step ok djm + Should prevent warnings due to our wrapper function. + +commit 4e04d68d6a33cdc73b831fd4b5e6124175555d3d +Author: dtucker@openbsd.org +Date: Fri Mar 10 03:01:51 2023 +0000 + + upstream: Expliticly ignore return code from fcntl(.. FD_CLOEXEC) since - OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8 + there's not much we can do anyway. From Coverity CID 291857, ok djm@ + + OpenBSD-Commit-ID: 051429dd07af8db3fec10d82cdc78d90bb051729 -commit bc7de6f91a9a0ae2f148a9d31a4027d441a51999 -Author: jmc@openbsd.org -Date: Wed Jan 18 06:55:32 2023 +0000 +commit d6d38fd77cbe091c59e1bb720c3a494df4990640 +Author: djm@openbsd.org +Date: Fri Mar 10 02:32:04 2023 +0000 - upstream: tweak previous; ok djm + upstream: Like sshd_config, some ssh_config options are not - OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3 + first-match-wins. sshd_config.5 was fixed in r1.348, this is the same for + this file + + OpenBSD-Commit-ID: 7be55b9351cde449b136afcc52d07aa4113b215e -commit a20b7e999773e6333c8aa9b0a7fa41966e63b037 -Author: Darren Tucker -Date: Tue Jan 31 19:35:44 2023 +1100 +commit 7187d3f86bf8f2066cc9941f217d23b0cacae25e +Author: dtucker@openbsd.org +Date: Fri Mar 10 02:24:56 2023 +0000 - Skip connection-timeout test under Valgrind. + upstream: Remove no-op (int) > INT_MAX checks - Valgrind slows things down so much that the timeout test fails. Skip - this test until we figure out if we can make it work. + since they can never be true. From Coverity CID 405031, ok djm@ + + OpenBSD-Commit-ID: 9df3783b181e056595e2bb9edf7ed41d61cf8e84 -commit c3ffb54b4fc5e608206037921db6ccbc2f5ab25f +commit 77adde4305542ebe3005dd456122624fe2347b01 Author: Darren Tucker -Date: Wed Jan 25 21:58:40 2023 +1100 +Date: Fri Mar 10 13:27:29 2023 +1100 - Skip connection-timeout when missing FD passing. + Wrap mkstemp calls with umask set/restore. - This tests uses multiplexing which uses file descriptor passing, so - skip it if we don't have that. Fixes test failures on Cygwin. + glibc versions 2.06 and earlier did not set a umask on files created by + mkstemp created the world-writable. Wrap mkstemp to set and restore + the umask. From Coverity (CIDs 291826 291886 291891), ok djm@ -commit 35253af01d8c0ab444c8377402121816e71c71f5 -Author: djm@openbsd.org -Date: Wed Jan 18 02:00:10 2023 +0000 +commit 633d3dc2a1e9e2a013d019a0576a0771c8423713 +Author: jcs@openbsd.org +Date: Thu Mar 9 21:06:24 2023 +0000 - upstream: when restoring non-blocking mode to stdio fds, restore + upstream: modify parentheses in conditionals to make it clearer what is - exactly the flags that ssh started with and don't just clobber them with - zero, as this could also remove the append flag from the set; + being assigned and what is being checked - bz3523; ok dtucker@ + ok djm dtucker - OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0 + OpenBSD-Commit-ID: 19c10baa46ae559474409f75a5cb3d0eade7a9b8 -commit 7d17ea151c0b2519f023bd9cc7f141128833ac47 -Author: millert@openbsd.org -Date: Wed Jan 18 01:50:21 2023 +0000 +commit 733030840c4772f858de95d5940ec0c37663e8b0 +Author: dtucker@openbsd.org +Date: Thu Mar 9 07:11:05 2023 +0000 - upstream: Add a -V (version) option to sshd like the ssh client + upstream: Re-split the merge of the reorder-hostkeys test. - has. OK markus@ deraadt@ + In the kex_proposal_populate_entries change I merged the the check for + reordering hostkeys with the actual reordering, but kex_assemble_names + mutates options.hostkeyalgorithms which renders the check ineffective. + Put the check back where it was. Spotted and tested by jsg@, ok djm@ - OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e + OpenBSD-Commit-ID: a7469f25a738db5567395d1881e32479a7ffc9de -commit 62360feb7f08f2a4c6fc36f3b3449309203c42c9 -Author: millert@openbsd.org -Date: Tue Jan 17 18:52:44 2023 +0000 +commit 54ac4ab2b53ce9fcb66b8250dee91c070e4167ed +Author: djm@openbsd.org +Date: Thu Mar 9 06:58:26 2023 +0000 - upstream: For "ssh -V" always exit 0, there is no need to check opt + upstream: include destination constraints for smartcard keys too. - again. This was missed when the fallthrough in the switch case above it was - removed. OK deraadt@ + Spotted by Luci Stanescu; ok deraadt@ markus@ - OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120 + OpenBSD-Commit-ID: add879fac6903a1cb1d1e42c4309e5359c3d870f -commit 12492c0abf1eb415d08a897cc1d8b9e789888230 -Author: djm@openbsd.org -Date: Tue Jan 17 10:15:10 2023 +0000 +commit bfd1ad01d974a316b60622759ad17537fa2d92b4 +Author: Darren Tucker +Date: Thu Mar 9 18:24:54 2023 +1100 - upstream: also check that an active session inhibits + Limit the number of PAM environment variables. - UnusedConnectionTimeout idea markus@ + xcalloc has its own limits, but these are specific to PAM. From + Coverity CID 405198, ok djm@ + +commit a231414970e01a35f45a295d5f93698fa1249b28 +Author: Darren Tucker +Date: Thu Mar 9 18:19:44 2023 +1100 + + Limit the number of PAM environment variables. - OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003 + From Coverity CID 405194, tweaks and ok djm@ -commit cef2593c33ac46a58238ff998818754eabdf64ff -Author: djm@openbsd.org -Date: Tue Jan 17 10:02:34 2023 +0000 +commit 36c6c3eff5e4a669ff414b9daf85f919666e8e03 +Author: dtucker@openbsd.org +Date: Wed Mar 8 06:21:32 2023 +0000 - upstream: regression test for UnusedConnectionTimeout + upstream: Plug mem leak. Coverity CID 405196, ok djm@ - OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084 + OpenBSD-Commit-ID: 175f09349387c292f626da68f65f334faaa085f2 -commit aff9493a89c71d6a080419b49ac64eead9730491 -Author: djm@openbsd.org -Date: Mon Jan 16 04:11:29 2023 +0000 +commit dfb9b736e1ccf9e6b03eea21cd961f4fd0634c98 +Author: tb@openbsd.org +Date: Wed Mar 8 05:33:53 2023 +0000 - upstream: unbreak test: cannot access shell positional parameters + upstream: ssh-pkcs11: synchronize error messages with errors - past $9 without wrapping the position in braces (i.e. need ${10}, etc.) + A handful of error messages contained incorrect function names or + otherwise inaccurate descriptions. Fix them to match reality. - OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac + input/ok djm + + OpenBSD-Commit-ID: 165a15db52f75b31e1804b043480c36af09f3411 -commit 0293c19807f83141cdf33b443154459f9ee471f6 -Author: djm@openbsd.org -Date: Tue Jan 17 09:44:48 2023 +0000 +commit 51875897b81b5c21b80c256a29597916edbde454 +Author: guenther@openbsd.org +Date: Wed Mar 8 04:43:12 2023 +0000 - upstream: Add a sshd_config UnusedConnectionTimeout option to terminate - - client connections that have no open channels for some length of time. This - complements the recently-added ChannelTimeout option that terminates inactive - channels after a timeout. + upstream: Delete obsolete /* ARGSUSED */ lint comments. - ok markus@ + ok miod@ millert@ - OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9 + OpenBSD-Commit-ID: 7be168a570264d59e96a7d2d22e927d45fee0e4c -commit 8ec2e3123802d2beeca06c1644b0b647f6d36dab +commit a76085bda883c2104afb33ab0334eca190927362 +Author: Darren Tucker +Date: Wed Mar 8 17:25:37 2023 +1100 + + Extra brackets to prevent warning. + +commit 147ae57d4dfa0508109f93b78a7d8b92819e1f83 Author: djm@openbsd.org -Date: Sun Jan 15 23:35:10 2023 +0000 +Date: Wed Mar 8 00:05:58 2023 +0000 - upstream: adapt to ed25519 changes in src/usr.bin/ssh + upstream: use RSA/SHA256 when testing usability of private key in - OpenBSD-Regress-ID: 4b3e7ba7ee486ae8a0b4790f8112eded2bb7dcd5 + agent; with/ok dtucker + + OpenBSD-Commit-ID: fe1382e2fdf23fcae631308e72342bad56066a56 -commit 9fbbfeca1ce4c7ec0001c827bbf4189a3ba0964b +commit 27fd251bc906a763e70ce0f27c8abdf8bbd1e416 Author: djm@openbsd.org -Date: Sun Jan 15 23:05:32 2023 +0000 +Date: Wed Mar 8 00:05:37 2023 +0000 - upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP + upstream: use RSA/SHA256 when testing usability of private key; - (20221122) and change the import approach to the same one we use for - Streamlined NTRUPrime: use a shell script to extract the bits we need from - SUPERCOP, make some minor adjustments and squish them all into a single file. + based on fix in bz3546 by Dmitry Belyavskiy; with/ok dtucker - ok tb@ tobhe@ + OpenBSD-Commit-ID: 0ef414cc363a832f9fab92a5da0234448bce2eba + +commit eee9f3fc3d52ae7d2106929bb06b7f291fb0b81a +Author: djm@openbsd.org +Date: Tue Mar 7 21:47:42 2023 +0000 + + upstream: refactor to be more readable top to bottom. Prompted by - OpenBSD-Commit-ID: 1bc0fd624cb6af440905b8ba74ac7c03311b8e3b + Coverity CID 405048 which was a false-positive fd leak; ok dtucker@ + + OpenBSD-Commit-ID: fc55ec2af622a017defb9b768bf26faefc792c00 -commit 6283f4bd83eee714d0f5fc55802eff836b06fea8 +commit 42a06b29a4c99272bf690f9b3be520b08b448dc5 Author: Darren Tucker -Date: Sat Jan 14 22:02:44 2023 +1100 +Date: Tue Mar 7 18:34:41 2023 +1100 - Allow writev is seccomp sandbox. - - This seems to be used by recent glibcs at least in some configurations. - From bz#3512, ok djm@ + Add header changes missed in previous. -commit 923c3f437f439cfca238fba37e97a7041782f615 +commit 4710077096edff2e6926dd5b15bf586491d317db Author: dtucker@openbsd.org -Date: Sat Jan 14 10:05:54 2023 +0000 +Date: Tue Mar 7 06:09:14 2023 +0000 - upstream: Shell syntax fix. From ren mingshuai vi github PR#369. + upstream: Fix mem leak in environment setup. - OpenBSD-Regress-ID: 6696b2eeefe128099fc3d7ea9f23252cc35156f9 + From jjelen at redhat.com via bz#2687, ok djm@ + + OpenBSD-Commit-ID: 9f9e4ba3cac003e6f81da3bcebd1b9ec43e7f353 -commit 4d87a00f704e0365e11c3c38b170c1275ec461fc +commit 03acc50d0ccb78fc91d1570de1cd0fdfea646028 Author: dtucker@openbsd.org -Date: Sat Jan 14 09:57:08 2023 +0000 +Date: Mon Mar 6 12:15:47 2023 +0000 - upstream: Instead of skipping the all-tokens test if we don't have + upstream: Unit test for kex_proposal_populate_entries. - OpenSSL (since we use it to compute the hash), put the hash at the end and - just omit it if we don't have it. Prompted by bz#3521. + OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006 + +commit 3f9231c2e1f374ebb08016ba00ea97b47c0ed20b +Author: djm@openbsd.org +Date: Tue Mar 7 05:37:26 2023 +0000 + + upstream: fix memory leak in process_read() path; Spotted by James - OpenBSD-Regress-ID: c79ecba64250ed3b6417294b6c965e6b12ca5eea + Robinson in GHPR363; ok markus@ + + OpenBSD-Commit-ID: cdc2d98e6478b7e7f3a36976845adae3820429d8 -commit b05406d6f93b8c8ec11ec8b27e7c76cc7a5a55fb -Author: jmc@openbsd.org -Date: Fri Jan 13 07:13:40 2023 +0000 +commit c5e6e890839ec520ab9301a92cba56303749dea2 +Author: djm@openbsd.org +Date: Tue Mar 7 01:30:52 2023 +0000 - upstream: fix double phrase in previous; + upstream: correct size for array argument when changing - OpenBSD-Commit-ID: 671e6c8dc5e9230518b2bbfa143daaa88adc66c2 + UMAC_OUTPUT_LEN Coverity CID 291845; ok dtucker@ + + OpenBSD-Commit-ID: 2eb017d10705bb623d4418691f961c930eafaec0 -commit 40564812b659c530eb1f4b62d09e85612aef3107 +commit 9641753e0fd146204d57b2a4165f552a81afade4 Author: dtucker@openbsd.org -Date: Fri Jan 13 03:16:29 2023 +0000 +Date: Mon Mar 6 12:14:48 2023 +0000 - upstream: Document "UserKnownHostsFile none". ok djm@ + upstream: Refactor creation of KEX proposal. - OpenBSD-Commit-ID: f695742d39e34ecdcc3c861c3739a84648a4bce5 + This adds kex_proposal_populate_entries (and corresponding free) which + populates the KEX proposal array with dynamically allocated strings. + This replaces the previous mix of static and dynamic that has been the + source of previous leaks and bugs. Remove unused compat functions. + With & ok djm@. + + OpenBSD-Commit-ID: f2f99da4aae2233cb18bf9c749320c5e040a9c7b -commit d03e245e034019a37388f6f5f893ce848ab6d2e2 -Author: Darren Tucker -Date: Fri Jan 13 23:02:34 2023 +1100 +commit aa59d6a489fb20973fa461d0fdb1110db412947b +Author: dtucker@openbsd.org +Date: Sun Mar 5 09:24:35 2023 +0000 - Retry package installation 3 times. + upstream: Fix mem and FILE leaks in moduli screening. - When setting up the CI environment, retry package installation 3 times - before going up. Should help prevent spurious failures during - infrastructure issues. + If multiple -Ocheckpoint= options are passed, the earlier ones would + be overwritten and leaked. If we use an input file that wasn't stdin, + close that. From Coverity CIDs 291884 and 291894. + + OpenBSD-Commit-ID: a4d9d15f572926f841788912e2b282485ad09e8b -commit 625f6bc39840167dafb3bf5b6a3e18503ac986e8 +commit 23b8cb41767af99a1aac24589d1882d9c8c2c205 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:47:34 2023 +0000 +Date: Sun Mar 5 08:18:58 2023 +0000 - upstream: Move scp path setting to a helper function. The previous + upstream: Plug mem leak in moduli checkpoint option parsing. - commit to add scp to the test sshd's path causes the t-envpass test to fail - when the test scp is given using a fully qualified path. Put this in a - helper function and only call it from the scp tests. + From Coverity CID 291894. - OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4 + OpenBSD-Commit-ID: 9b1aba2d049741ae21c8dc4560a7e29ab17310f4 -commit 6e6f88647042b3cde54a628545c2f5fb656a9327 +commit fc7f8f2188d4a4fc8ba77eddbe863c7665666db5 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:23:00 2023 +0000 +Date: Sun Mar 5 05:34:09 2023 +0000 - upstream: Add scp's path to test sshd's PATH. + upstream: Remove unused compat.h includes. - If the scp we're testing is fully qualified (eg it's not in the system - PATH) then add its path to the under-test sshd's PATH so we can find - it. Prompted by bz#3518. + We've previously removed a lot of the really old compatibility code, + and with it went the need to include compat.h in most of the files that + have it. - OpenBSD-Regress-ID: 7df4f5a0be3aa135495b7e5a6719d3cbc26cc4c0 + OpenBSD-Commit-ID: 5af8baa194be00a3092d17598e88a5b29f7ea2b4 -commit 8a5e99a70fcf9b022a8aa175ebf6a71f58511da3 -Author: Darren Tucker -Date: Fri Jan 13 15:49:48 2023 +1100 +commit 6c165c36246d8004c20e1df5cec4961a5ac422d6 +Author: dtucker@openbsd.org +Date: Sat Mar 4 03:22:59 2023 +0000 - Remove skipping test when scp not in path. + upstream: Use time_t for x11 timeout. - An upcoming change renders this obsolete by adding scp's path to the - test sshd's PATH, and removing this first will make the subsequent sync - easier. + Use time_t instead of u_int for remaining x11 timeout checks for 64bit + time_t safety. From Coverity CIDs 405197 and 405028, ok djm@ + + OpenBSD-Commit-ID: 356685bfa1fc3d81bd95722d3fc47101cc1a4972 -commit 41f36dd896c8fb8337d403fcf476762986976e9d +commit 4a3918f51bd2d968387e7aa87e33b32c78077fb4 Author: dtucker@openbsd.org -Date: Fri Jan 13 02:58:20 2023 +0000 +Date: Fri Mar 3 10:23:42 2023 +0000 - upstream: Add a "Host" line to the output of ssh -G showing the + upstream: Ensure ms_remain is always initialized - original host arg. Inspired by patch from vincent at bernat.ch via bz#3343, - ok djm@ + similar to what we do in ssh_packet_write_wait. bz#2687, from jjelen + at redhat.com. - OpenBSD-Commit-ID: 59c0f60a222113a44d0650cd394376e3beecc883 + OpenBSD-Commit-ID: a50e0541cf823f8d1c72f71ccde925d3dbe6dfac -commit f673b49f3be3eb51074fbb8a405beb6cd0f7d93e -Author: djm@openbsd.org -Date: Fri Jan 13 02:44:02 2023 +0000 +commit e44846a4487d2885ac7f2610be09b1e2bf52249b +Author: dtucker@openbsd.org +Date: Fri Mar 3 09:48:51 2023 +0000 - upstream: avoid printf("%s", NULL) if using ssh + upstream: Check for non-NULL before string - -oUserKnownHostsFile=none and a hostkey in one of the system known hosts file - changes; ok dtucker@ + comparison. From jjelen at redhat.com via bz#2687. - OpenBSD-Commit-ID: 7ca87614bfc6da491315536a7f2301434a9fe614 + OpenBSD-Commit-ID: 0d9b2e0cac88a311b5766b1aef737082583c285f -commit 93fc7c576563e3d88a1dc019dd213f65607784cc +commit 1842d523fae63b862ce8e60725c9b606cddb86a6 Author: djm@openbsd.org -Date: Wed Jan 11 05:39:38 2023 +0000 +Date: Fri Mar 3 05:00:34 2023 +0000 - upstream: clamp the minimum buffer lengths and number of inflight + upstream: guard against getsockname(-1, ...) from Coverity CID - requests too + 291832 - OpenBSD-Commit-ID: c4965f62fa0ba850940fd66ae3f60cf516bbcd56 + OpenBSD-Commit-ID: e58d5227327917d189229b7f0b37d2780f360d5f *** 22346 LINES SKIPPED *** From nobody Fri Mar 17 03:28:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pd8jr5LNyz400bk; Fri, 17 Mar 2023 03:28: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 4Pd8jr4SVNz3pxt; Fri, 17 Mar 2023 03:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679023728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AGLo5HU8aj/IxIcalF0lRWJTTESKz+3zVp+ILPwJmNM=; b=PQQUTRkhcUuUNJ8W8b/X5m98JFQAvTSXiHIJDPqw2Av/gqJbYQgzo0o9tVV3+pMV0hkch0 rzO2XJcrqsNUgOY6txfe+tm7dowfKfatJjhfGXn9UlDZbFV8k80ywZRM5cUHELjjQaPFmr YcpjaC4vV4XmfIWHfyTJJOsnWxhv/RvWDbd4NwzsXhVouEtC0tooQFwkuc3PCopKhdJdBY BDFFup51JhdirHH0tDvNErQMWWRbii5dIip0qc4yPdag1xPPUVz6vvB2IJYpDHAgGI5iix MKtGEbXjKAgntS9mLSoNQuJi80aXy96Ga+flfCh7nRwjB8Jy8iSiidyAl0iSLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679023728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AGLo5HU8aj/IxIcalF0lRWJTTESKz+3zVp+ILPwJmNM=; b=i+kmBH7OtjECcfFoj04U3iyIKntHcDqqLPvEuCRcRFjOpnzWwvlcCDf8RLpWtWJCBAT5z+ BOTg1KQibUs77PVx2zWe/u42FsZunw6bbsLhSyY9UOfD5tNjJGC85AQI0coLSE8+2n6RsW VXMnuGhu17vy+TnBxNZdv9ViZmXqu2TqQe8kTNku5TvryGRQ7oNenEIyqMCNUbFSrfErzH VslEr6JLinOCHjj0RWs3K3dsglrx7d+hnZLDvaF14dflBtHf0thGc4+nwcf+m58T+qtuO1 T0V0D2r16e+dsagj/VLVMLyZ4mXJzXVRAPGYfG9nq1i40R9H23+Qptf4YKEFYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679023728; a=rsa-sha256; cv=none; b=voXfjy0d8AnKpdLtcYYKt9/dYSaAE/6xrlUfOiPAoqJQ9ro5s7m08Z57yrfOZhNV5pFCgY nrLVcCAZZOA0rKPhDl+P5AZpUiVoCachZRqQ1GmsWABxWqX7NPWqGpliihK/siAoqAwka4 4eE+FIdol60vWc1dZ+IUCWbtYTWy3ex2bMZy4NG9unZo+Ad/4kUigZ0s0vXZ+wgQ2wDtJG tSudDrIvQ3OjWAAvBxvdmPlYsZweZI6y++o8k57np81aqBCFZaZZUb2lc3OZ4DBw4USjne GzFzHy44flZ3JYIX4cB3fm5pDyK0dj17Hjyan85V44neaJk36nCMwnOTsc0KxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pd8jr3Vzqz18TD; Fri, 17 Mar 2023 03:28: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 32H3Sm4f076089; Fri, 17 Mar 2023 03:28:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H3Smjk076088; Fri, 17 Mar 2023 03:28:48 GMT (envelope-from git) Date: Fri, 17 Mar 2023 03:28:48 GMT Message-Id: <202303170328.32H3Smjk076088@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: d9bf9d73203f - releng/13.2 - 13.2: update to RC3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: d9bf9d73203ff8a246f91f13ad298837093f1945 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d9bf9d73203ff8a246f91f13ad298837093f1945 commit d9bf9d73203ff8a246f91f13ad298837093f1945 Author: Colin Percival AuthorDate: 2023-03-17 03:28:20 +0000 Commit: Colin Percival CommitDate: 2023-03-17 03:28:43 +0000 13.2: update to RC3 Approved by: re (implicit) --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 34a957021c62..69dd746101f2 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -54,7 +54,7 @@ TYPE="FreeBSD" REVISION="13.2" -BRANCH="RC2" +BRANCH="RC3" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Mar 17 05:48:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCq82H53z407Wq; Fri, 17 Mar 2023 05:48: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 4PdCq81YQ3z40y2; Fri, 17 Mar 2023 05:48:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XdkmOEnAVcbcpdy1u+XKsvGihUoN2HSDlgCFwf+sZDk=; b=P0eHX51os68RP2gIcSAA1oySMb9gdT9j90rOJH9QLx9lqPQsphOflCglaB1LLgSWju4tUb LyHvXwPE8nlrgavkCWiCypsqMP3fQUnN3NkmLx/8rrkDxHfvApjtcsAm/Da8JFAOTXRU4L wEy1jbLuIKCii2xZCfWe5UXG6LFp5MacyFAJDuSbxdlzYKIJwCL07/jx0ZaSRC69MkukMW bPEUUNmK/Fa7FgIavgi6N9AzSXVxb9n0UtsnbCacyUV1chN20NCLB+koRZW6eBPrIni3ip SkJrJYqrgyp1273nMzlK9DYJlVmvTqKIjemfPQ8z9iCxb4Hk8hqbfKZszhtxlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XdkmOEnAVcbcpdy1u+XKsvGihUoN2HSDlgCFwf+sZDk=; b=ojbt3+M9pkrn5eJufj/4lcBPOpZAsp4BpXscTH0KLK373ScTVsJn7hUG5lpzLF5HMlV6sf yOT4VmMkEgsqy/eFjt0S/jUpGKW8B8vpMoTCUvAF4pdmTAYbu/DM6IIHgR1N1smGvjkAk2 3Ca7gdmM181QlmTHLUAKBB43xzzSGPUzbg27kNllb//z4d5FvXsEt+72SrRHqxUQAOq18t BXkaUzDDRm0nPmyFETuy6cfvtohwiV3EffvNoaP+pnCoD0foG+/dNtMBmcWi4bE9mk+Rbe OevrdQtRQqDG7UCTUnMYy/st3DSVtwEQ2ZcBAdk9IXsT8Ze7OI89kOqqTBFoVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032116; a=rsa-sha256; cv=none; b=NC8vp9nav0BBjL0PB4QKfQMavEjOKVArTxP/g5vJ90+vrc/Yw3h86UovPmtbYBLy+X36mi WAmeAgV+54rJy+l/MNpvofOdcqqhf1t+JQxad4gD5s5UQhqQdNcgmkp+aNfKuKSSXlJ85z DQ/yrn5IUCtIV4gGBVn/JYAxp1B+ArH/+N91ssAuLgKfSy0fVsV+pVhfHixvzT0HqEIReg 9vsdlqynDlP5WxbiDn/yZfVKXld4hI6VzMBM4h8LZJGh2AH69DvuNreyv9e819ZbZdLwiF QxIUnQ3A6VEK13NJZ6hJr7r54aAPe818lEXnrE5sVVHvokHuvOCKx43EJa9dJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdCq80XCBz1ClV; Fri, 17 Mar 2023 05:48: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 32H5mZmm006267; Fri, 17 Mar 2023 05:48:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5mZ67006266; Fri, 17 Mar 2023 05:48:35 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:35 GMT Message-Id: <202303170548.32H5mZ67006266@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 7c0cbba1d51d - stable/13 - kern: physmem: don't truncate addresses in DEBUG output List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7c0cbba1d51d87dacb98806a2cb026c8733615ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7c0cbba1d51d87dacb98806a2cb026c8733615ed commit 7c0cbba1d51d87dacb98806a2cb026c8733615ed Author: Kyle Evans AuthorDate: 2023-02-20 18:54:00 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:01:36 +0000 kern: physmem: don't truncate addresses in DEBUG output Make it consistent with the above region printing, otherwise it appears to be somewhat confusing. (cherry picked from commit cd73914b01a1f2300e587f802383cc563f2e7103) (cherry picked from commit 7b5cb32fca26428b8c0df98f9c58444557f808ae) (cherry picked from commit c32946d8bee0d82042165c5d78b4d339d1268a2a) --- sys/kern/subr_physmem.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c index 2c7837019ea2..7cb45621a155 100644 --- a/sys/kern/subr_physmem.c +++ b/sys/kern/subr_physmem.c @@ -116,7 +116,7 @@ panic(const char *fmt, ...) * db_printf). */ static void -physmem_dump_tables(int (*prfunc)(const char *, ...)) +physmem_dump_tables(int (*prfunc)(const char *, ...) __printflike(1, 2)) { size_t i; int flags; @@ -145,10 +145,12 @@ physmem_dump_tables(int (*prfunc)(const char *, ...)) #ifdef DEBUG prfunc("Avail lists:\n"); for (i = 0; phys_avail[i] != 0; ++i) { - prfunc(" phys_avail[%d] 0x%08x\n", i, phys_avail[i]); + prfunc(" phys_avail[%zu] 0x%08jx\n", i, + (uintmax_t)phys_avail[i]); } for (i = 0; dump_avail[i] != 0; ++i) { - prfunc(" dump_avail[%d] 0x%08x\n", i, dump_avail[i]); + prfunc(" dump_avail[%zu] 0x%08jx\n", i, + (uintmax_t)dump_avail[i]); } #endif } From nobody Fri Mar 17 05:48:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCq93PYvz407F5; Fri, 17 Mar 2023 05:48: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 4PdCq92Zbwz416M; Fri, 17 Mar 2023 05:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jq3CsPjwquPQnk4wyfsYWdekB0fdLEj97K6NyYpbOoE=; b=qfJ6JMIu+Kc6IdRSc7KTp/sOSjmmV8Yw/kUxy+4yu6ixQDd1MSjaCbn67edmMEQYjN1lHM LQdMbwXI4V6qsVORJovvuIsANdzIkgRAjZGhCsk3M9zrIekUTkrADiiNtQe3dywUJfUCsk 0kc9sClHWtJlZB2Xo7S1TN3OYZtJcUSdMGul89K9eAtlRfzHmxcMV/O1oSiyuObtV79hT4 W4uHOihraBit1mEVzKpuBXQTR96gXUG4wAhJY3/NEd+XHTzE2osziEV723OIjJBAErDF6W MbaMgxwsqL1J1LV8A6vWbFWIwunB3wWJSM78sFzK7WGpA5seil2vfudQ0usgoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jq3CsPjwquPQnk4wyfsYWdekB0fdLEj97K6NyYpbOoE=; b=Znd8rXZxzuyrnKNLJR/mNMSPgic+i9yp6zIv0yciVyDqiOOSJc7IMBtvimHS4od5ohgcBd yiVsMVaNyMr1yu+Sc60lFEq1+rmOgMF3AnJo2T/obKXSx64aIzenDyH+VVyoKo4syNZ4Y0 NIVidebWTEh5iQ95xExZ8+wZs3ztrXfGm/zsByWgrdbyQ6ud8NE2jGTZfwGNmzQz1m+88G eZjcEAnhSabJ6YhKFbinBVQZJPpIgPOLn5yHXalm4dN4i+1CHDEcDBtjZTqU7xE7KeJ62d SzydkmymhpPi4CgzgXf6lNOyzdm6y7LRpQtPkuSEAV7dDBV13ynz6cwPF+FNQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032117; a=rsa-sha256; cv=none; b=X1K5ly5wE7eX+Ra2eA/6Xho2e/2P9V+dwL7xwBe8Sqxez4DaCIl+0OndFCRH3c/cFkdF8n VGu4jEnTzeB8XQ+ZvyQ95FDYA7SHMwLo2bXyzQ2eOj94IqMpx7eQUDdklJzlKxayYbT00G S1nGizHV6zqxD1p73+C970fvtOchQ3C6edCBmRY6P4bX9tdyTK8PGDOjdd058Q/TkIeO20 X9wd5gDr84YZvuUZXgpb4Sv3EIciIu4XGWueKbhjBu2PJ1wBHlvBubqIVpUuxMZQsfBcNg o37MQn5czHQ53pTbkkqxFZED11az5yQ6p+NFMteItLqER8Jmp3B6pzB1XzKqvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdCq91FWdz1CpL; Fri, 17 Mar 2023 05:48: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 32H5mbgS006292; Fri, 17 Mar 2023 05:48:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5mbPq006291; Fri, 17 Mar 2023 05:48:37 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:37 GMT Message-Id: <202303170548.32H5mbPq006291@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: cda391fe2207 - stable/13 - iconvlist(3): fix count argument type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cda391fe2207e7c4a8d91e88713c58bea362d828 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cda391fe2207e7c4a8d91e88713c58bea362d828 commit cda391fe2207e7c4a8d91e88713c58bea362d828 Author: Kyle Evans AuthorDate: 2023-02-23 21:22:12 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:01:45 +0000 iconvlist(3): fix count argument type count is just an unsigned int, not a pointer. Sponsored by: Klara, Inc. (cherry picked from commit 4e696aff69090da046817a6339d01f4675728b95) --- lib/libc/iconv/iconvlist.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/iconv/iconvlist.3 b/lib/libc/iconv/iconvlist.3 index b1a6e0564341..2e9f585534c6 100644 --- a/lib/libc/iconv/iconvlist.3 +++ b/lib/libc/iconv/iconvlist.3 @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 20, 2009 +.Dd February 23, 2023 .Dt ICONVLIST 3 .Os .Sh NAME @@ -47,7 +47,7 @@ .In iconv.h .Ft void .Fo iconvlist -.Fa "int \*[lp]*do_one\*[rp]\*[lp]unsigned int *count, const char * const *names, void *arg\*[rp]" +.Fa "int \*[lp]*do_one\*[rp]\*[lp]unsigned int count, const char * const *names, void *arg\*[rp]" .Fa "void *arg" .Fc .Sh DESCRIPTION From nobody Fri Mar 17 05:48:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCqB46mxz407dp; Fri, 17 Mar 2023 05:48: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 4PdCqB3LrWz40yj; Fri, 17 Mar 2023 05:48:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fX7RnIJZoH73BlL4qLW0xtEcWmhxpg6vcHT3uFg/N8=; b=D6TM08qVjT01JyrrYNQsUFDGJKxMtuKWuGnJ3HGp93hPs7jz6WuQZ9R2OrwM8KE+T2V3nd 34bbk2N8U2fpSM56JN3Xv6vkJY0+JR8duM4Y2w/ne84AOUPN7upHKjWjZ4s69A/OoVX9tB U2A+QAthehJEZySk80uuF2X2F+SanpHUA5eHZwbWGySFzmEDImQYKqiSz3heAIlnXtzzN0 BqsA5DQi/Xa+w7t8ov7fhJhlDnIDU0dFqJt1dzhBX4yHw7yPE0j3i3uQBhTe4G2QeSpzpk ou4Ocv7U33Y12Q5NTMBgLpnD92OvGnWD0gCcfOErdoUaBHNasQ35lNHDyrRCcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fX7RnIJZoH73BlL4qLW0xtEcWmhxpg6vcHT3uFg/N8=; b=mrNoUocvv2xqCoC2kpRuJRKTPFFh0ZpjQ5Ej7pO+bz510OT8Q+l0feVtiBQ0G3vkLU7cQh Aj34etnLVvH68z2eUknWbah+pQgk2s0HakUg9bN3MtwsqFST4oLdfCXCltyR2mcI3KdEpX tPxNRM5IDyxHwUEGowbOniD7WcDKbx6fivwd/dd9MScdb4WC31yf5Zj1K62BKQmv/6sl6Z ta+zHux8cfvMPqeXdwMLuzC8UWVDDL0SUSoOb3gkLevZCAffYJSsvvqWidD7i4wCm3qjuL rETd8SiQFX3Ie94LW8yOq5Q+DobszNe3gbrzOdO/NJdtZ0n7aEV2p4avSU1SiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032118; a=rsa-sha256; cv=none; b=VV7uQ1sEix1wfnkMPTZlKY7SxTXH6q18mmfE1e/p6igop6fhEAItqN6HN8SBo+3TkqWRx/ dd/q6uLMbusmWFCvF0b7f43OMWzWXOI+L6FJj7oWc5TnrzUizOGGY2PREiwsg+hWNqBe10 5zuwO4HxjLpNC/dQejiVmjxm85N2Nhi3zZB/ocCc54MABs91SgLb9E+9ZV3xAbpEeCYDsq E36kG2S5TIKNEp+GrAtijvMlEfgKIzF7L4gE7kt0OIrsrjEwP2srR56WF8VrtJaeC3ofd5 Lh1U8v+BePbi3R8dZXRGLjypbhqoKCGBbZ3EZdzfCC/u8MhGPOLdVWssSC2V1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdCqB2P6jzDvW; Fri, 17 Mar 2023 05:48: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 32H5mcov006312; Fri, 17 Mar 2023 05:48:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5mcDp006311; Fri, 17 Mar 2023 05:48:38 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:38 GMT Message-Id: <202303170548.32H5mcDp006311@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 04accaacd45a - stable/13 - i18n: csmapper: hook up the top-level .src files to the build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 04accaacd45a4594aceb3589d05ca6da59acb4dd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=04accaacd45a4594aceb3589d05ca6da59acb4dd commit 04accaacd45a4594aceb3589d05ca6da59acb4dd Author: Kyle Evans AuthorDate: 2023-03-01 04:24:54 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:01:45 +0000 i18n: csmapper: hook up the top-level .src files to the build The top-level charset.pivot.src may be empty, but the top-level mapper.dir.src is not -- it contains some definitions for supplementary UCS planes. The SMP/SSP definitions aren't actually used at the moment, but the inclusion of the SIP definitions fixes conversions involving JISX0213-1/JISX0213-2 to be possible. Sponsored by: Klara, Inc. (cherry picked from commit dc6df546be29a468ae21b1b7604e85b703ad6779) --- share/i18n/csmapper/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/i18n/csmapper/Makefile b/share/i18n/csmapper/Makefile index 7c6aca31c019..22c6d9014930 100644 --- a/share/i18n/csmapper/Makefile +++ b/share/i18n/csmapper/Makefile @@ -10,7 +10,7 @@ SUBDIR_PARALLEL= mapper.dir: ${SUBDIR} newfile=$$(for i in ${SUBDIR}; do \ cat $$i/mapper.dir.$$i; \ - done); \ + done; cat ${.CURDIR}/mapper.dir.src); \ [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ printf '%s\n' "$$newfile" >${.TARGET} mapper.dir.db: mapper.dir @@ -22,7 +22,7 @@ CLEANFILES+= mapper.dir mapper.dir.db charset.pivot: ${SUBDIR} newfile=$$(for i in ${SUBDIR}; do \ cat $$i/charset.pivot.$$i; \ - done); \ + done; cat ${.CURDIR}/charset.pivot.src); \ [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ printf '%s\n' "$$newfile" >${.TARGET} charset.pivot.pvdb: charset.pivot From nobody Fri Mar 17 05:48:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCqC4m6dz407St; Fri, 17 Mar 2023 05:48: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 4PdCqC4HQ6z412t; Fri, 17 Mar 2023 05:48:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aOjab3x2PZjtWGbh33Tqz+1Myy16nlwxXLkUGdkQzrc=; b=TS/LQbz/n8YMWNv2Q6GPGcq6B1Gmz6ZJIJlov8OtliUgxAywlFhdYE2sLH0Wv7u+ITaWco AnC8wbok22DiRVG+vV4Nb+7JXTmfvLrt0EHpVR6UYadyKoEobdI5C0+5jVeO2aGtBUKOP+ 9Gv7df601br/PXb7kWCAn7AumdTFYWaLrIJ532le/PFedFD5ClV5e4cCFiffe3tfBl9TPl BzVpHzjT4Olm/QdJU3ImFHR4GxY2MeYWcAACvkc6NWADE5HlFBzF2mZDBIBIwnR2zfwIkE cweqjIN18OlPaPyPzP2LZlI0Oj6tQOoQ8RuUiWI/g51MdZXdBWDhGcyXmiG9rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aOjab3x2PZjtWGbh33Tqz+1Myy16nlwxXLkUGdkQzrc=; b=D3bvii21N9cmjgBGnKRMZOc5mG2RslRfGLiYlNc7pp1Of1HvXRwJevyv2OYTRlYzxNn3hH Vo96cCyCWMQ0BKUxZMIHAzkl3HQiIMiA9JdAp02JHTSSNU9J82XCdnhzVEyQzHNK38QizB lpPRqg5g6JCSWijuL2cGUX8LBDmvryl9W7qLxfXEWarhU2QvO2gCZQgOqDZOEMvSk9GW6B 21Vo5RZkuMkD5LzdyT2YJ3+mv2dYwGlDYePegQuHQsoj+p/r/GlnBj75o9M9CACQzbtsNh ilG2L7iSBJM1FZSeHEVk/B57jRyoFam94tVxls063MateRKgJ7U+8kPMpUvxSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032119; a=rsa-sha256; cv=none; b=JI2RnS/sD2c+apXARmYl0iu/HkiuL4CoaaxY0k1BoRPxurgifg9sfRxKB+B0QZyUIfMpXy 38CH5paeZp2Cy8tFn4Ry7DhcW4jDiTmODqZyHSCBkMG9e4Lg2LqO22RlHJQ/UxpMnxkgGI CUefpN3HXLGhtzagWByHNIiWdL92CeHmECo0m19S9EfPXKjfW/AI4Yd0gyJ9jaM+oFWLsd 3Trnvl+BC32oHSg916VM3+LViZzrkZz0RcKEax3aWDuIP5MH9qsj+z9Izo/eY07CDlBtbr zbYylDSXQsmh9HTV4uvtgrtzYgepwjEUcwCQubAqaNmQE1kmF4E+oTICJCaHXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdCqC3Kflz1Cqt; Fri, 17 Mar 2023 05:48: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 32H5mdsQ006334; Fri, 17 Mar 2023 05:48:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5mdjE006333; Fri, 17 Mar 2023 05:48:39 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:39 GMT Message-Id: <202303170548.32H5mdjE006333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 6fdb5daba679 - stable/13 - efifb: add a tunable to select the framebuffer cache attribute List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6fdb5daba679128b11b6ce3a401fb74d0db07fd8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=6fdb5daba679128b11b6ce3a401fb74d0db07fd8 commit 6fdb5daba679128b11b6ce3a401fb74d0db07fd8 Author: Kyle Evans AuthorDate: 2023-03-01 06:04:49 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:01:45 +0000 efifb: add a tunable to select the framebuffer cache attribute Mapping the framebuffer with WC (Write Combined) memory type can, in practice, cause some memory transactions to be rate-limited at a fraction of the fb write rate. WC allows one core to queue up many globally visible write transactions, and in the process some unrelated transactions may end up having to wait for all of the queued up PCI writes to be flushed. Add an hw.efifb.cache_attr tunable to allow mapping the framebuffer as uncacheable instead. We should likely be taking a more careful approach of checking the memory map to determine which cacheability attributes are feasible, but the knob lets us use our historically functional behavior while offering a convenient way to switch on a stock kernel. The only valid values for hw.efifb.cache_attr at this time are "uc" and "wc". Original patch by Marc De La Gueronniere along with previous testing. Reviewed by: imp Sponsored by: Verisign, Inc. Sponsored by: Klara, Inc. (cherry picked from commit 8dff0b6761407357c5bb42ee799c5c9f465557a3) --- sys/dev/vt/hw/efifb/efifb.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/sys/dev/vt/hw/efifb/efifb.c b/sys/dev/vt/hw/efifb/efifb.c index 3aaeebcb1b5e..20822629d0c5 100644 --- a/sys/dev/vt/hw/efifb/efifb.c +++ b/sys/dev/vt/hw/efifb/efifb.c @@ -103,7 +103,32 @@ vt_efifb_init(struct vt_device *vd) struct fb_info *info; struct efi_fb *efifb; caddr_t kmdp; + int memattr; int roff, goff, boff; + char attr[16]; + + /* + * XXX TODO: I think there's more nuance here than we're acknowledging, + * and we should look into it. It may be that the framebuffer lives in + * a segment of memory that doesn't support one or both of these. We + * should likely be consulting the memory map for any applicable + * cacheability attributes before making a final decision. + */ + memattr = VM_MEMATTR_WRITE_COMBINING; + if (TUNABLE_STR_FETCH("hw.efifb.cache_attr", attr, sizeof(attr))) { + /* + * We'll allow WC but it's currently the default, UC is the only + * other tested one at this time. + */ + if (strcasecmp(attr, "wc") != 0 && + strcasecmp(attr, "uc") != 0) { + printf("efifb: unsupported cache attr specified: %s\n", + attr); + printf("efifb: expected \"wc\" or \"uc\"\n"); + } else if (strcasecmp(attr, "uc") == 0) { + memattr = VM_MEMATTR_UNCACHEABLE; + } + } info = vd->vd_softc; if (info == NULL) @@ -141,7 +166,7 @@ vt_efifb_init(struct vt_device *vd) info->fb_size = info->fb_height * info->fb_stride; info->fb_pbase = efifb->fb_addr; info->fb_vbase = (intptr_t)pmap_mapdev_attr(info->fb_pbase, - info->fb_size, VM_MEMATTR_WRITE_COMBINING); + info->fb_size, memattr); vt_fb_init(vd); From nobody Fri Mar 17 05:48:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCqD5y69z407h1; Fri, 17 Mar 2023 05:48: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 4PdCqD5BPCz41Ld; Fri, 17 Mar 2023 05:48:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kqs89ladUzWqH8g3XGJtXzMqlsNDNnKloMTRJ2HNi2A=; b=WEGO4LBfhVw6OQ6EY9eyfCJDDMUgBF1afBaPfnzhiE005RcdzTPUNJKQb3qV4nQVp6yyZY o62B4bzimbrogJqJrBOvgdUrmbwiBFhLwDjxZj/lUjXXszcK68zV4GRyIqJbg6bHnKhkix ZPpJ6VNm/YeIK+7kcnTtiK9BSph87h900jK+JWOvdGqzfbux/xfxBad52cs3XDontpAFRH aFxOgIaEY/dpC3ib/gZqe7f/kN+SAbFdCicohBSGPVw/dFXhLSRZkWUxONBNNy/yvLSHj/ pFHYqAv1VtWnzwX4xT88hhIWQUPn5i83KGh+37OVd++Nx6s2RaAJ5DCO2xXd7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kqs89ladUzWqH8g3XGJtXzMqlsNDNnKloMTRJ2HNi2A=; b=XraA18zrg0mY9WATAVPMXlK8QWXqk2abdR9yvsNQEPvYx6DtW//SFruZsranUsGi27IN87 jaxwyYqa4+xaqvbU/BWydz+2so9rUENNM7RTWJiZYPEoVHKOJFX5INNylIkaYsJ6d/WgT4 XTr2r0VtXa/RKoywvMemxqYkLKbakNEYa6kpjFvYmc9qK27lzZbofTUU95cL0t8lm56ETe ruOrBJyubz47zlVolK0qF1UcV2+i7QnTHgPkmMXUm2kohc836hpPR9JAdwaXC03v6QcDow txlSgY7eBc/7GMSRhhSnb89GSKGt7Pvx/rvn+qLsdMze1P7KCTDLWt7qIR4hYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032120; a=rsa-sha256; cv=none; b=R7au9Uexetd99sdbW3ZQvIx8KUAHOdZaYwupynw/4va0/TBnN3Bbt0sXNeR6yy/VBgw7Gx tO+YmqObG4kLRAdVOdzERqk0dAWTm6tYM2V8UC/LKAR3SU/MejzJinbngvj9ksuzC74syv hrV8GTSXOHK2pJWcSyMiqz4LWtDePjGUDM+RpR4v6Ba9xZ7Z/646BEnuW+Ww7ZqEAI6qMs IyWdTipM4bhVjSXWVwAsGfXsbDUxG+FaRfnSOShL75Hcxs9KUlp2Z2Tyd7ZS3AIE/GJ1xl jvYA0JnIzu7OaMcf5uJxX3AKmB25R/nHnr2ajtbuevkF/R4FdCHbq69RNieuwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdCqD4HT8z1Cth; Fri, 17 Mar 2023 05:48: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 32H5me0u006353; Fri, 17 Mar 2023 05:48:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5meBg006352; Fri, 17 Mar 2023 05:48:40 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:40 GMT Message-Id: <202303170548.32H5meBg006352@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: d18524b6f720 - stable/13 - grep: remove tautological condition List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d18524b6f7205e3d31b76227ddc850ab65d352e3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d18524b6f7205e3d31b76227ddc850ab65d352e3 commit d18524b6f7205e3d31b76227ddc850ab65d352e3 Author: Kyle Evans AuthorDate: 2023-03-09 05:29:30 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:04:11 +0000 grep: remove tautological condition st_size is an off_t, it cannot hold values larger than OFF_MAX. CID: 1008931 (cherry picked from commit f6d6c66889001208aee7b0c46efe1c8ddffda57c) (cherry picked from commit c816aea7abcf7a6e9471907dcb7ee3d7969a0ab3) (cherry picked from commit b61758494286db075d5c6b68a5f2e7522e7be394) --- usr.bin/grep/file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c index 8577572c2887..787e8fbe03bb 100644 --- a/usr.bin/grep/file.c +++ b/usr.bin/grep/file.c @@ -186,8 +186,7 @@ grep_open(const char *path) if (filebehave == FILE_MMAP) { struct stat st; - if ((fstat(f->fd, &st) == -1) || (st.st_size > OFF_MAX) || - (!S_ISREG(st.st_mode))) + if (fstat(f->fd, &st) == -1 || !S_ISREG(st.st_mode)) filebehave = FILE_STDIO; else { int flags = MAP_PRIVATE | MAP_NOCORE | MAP_NOSYNC; From nobody Fri Mar 17 05:48:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdCqG0wfxz407dv; Fri, 17 Mar 2023 05:48: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 4PdCqF65h9z41PK; Fri, 17 Mar 2023 05:48:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6ito8DSvucL0hFf0ftHCcR25Qfla5UKO82XD0MyYio=; b=SBfNLiZGmYxb5qZrljXjEH+QzAIA3Xk6et9mO1XcnFpYDL4QMV4bVPoUJyFLj4OVPUbog6 urT2iJkSDBSNLEJ3TZ+cbqk7Eq6/I81c1pwgUv7+ZdEXm+XsXpbDfFlh3qyA7WUbUgE6t6 8znCLYdUjcW/3ZV+xSKB5LZ/lhy8k+OvqtZyNDg/Yc2jyOvHuE+trLXBxwOm2BPXL0ldsm trPkzNNi9MQt92UIVsFimG2oAkD5G6EKzjjQxWwRw+yFv5E+0/6N2ogFqik6qPkymWL0aP tcOkYAVKkLlet2M2Q8AP6TouucxovTR1+Xtz3gTF/yB+0ETrI2LBJSy7yXKZag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679032121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6ito8DSvucL0hFf0ftHCcR25Qfla5UKO82XD0MyYio=; b=EyxqIOaphghdTUrElXCY1UAlqXuLNrewM8S4jGpLxzHaZgEaKF8SjMEIBNW1thJtErhA9d V75Gob+7vXrAwIPAXmwLPKgu8UPs1tNZ6XYXS0Ol+WoGRzVSkZq166VGcogZLhbL2lFGeY 1P2HvDo92SEbkTtvUU8I3ToSNxCBpBcJHqdQRt2Z4AHT0uzrhJ1AdRvjW+Nk2KOdo7su3K tthcZXsJtneDyGBBt1UownHPelDx8/m0J8b3ozvPstaRthTG09KeT52aseHC2zO8xYNbo8 QVwJKFm1sv7R3yn3eG0mRWyktl4vtYLRWGeh7qpMD4vR4loW8IP7wP7/qYmgQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679032121; a=rsa-sha256; cv=none; b=rGly/qyfXud7bQCVgUvoLuLc8yobqTk2wpJUzrNp6+Prd4avrXgzLAx60ceRdJk0VOiV6j gzEC+wlW4cncXjjNs+1Yalr+tW0045kxKHLndacet+W0QNWvedkVRf6OrQl3GSg2W2PscB /bSf+h3NWRNHFlkMQoz1Wo5ipoJsO6Wlf6pg+xC4oRcE9ZRuJL6VEsfkEBlwD1BKu7rtJr eIA02G5UPubsVlbaZRoDQ70bfrrpKvFVPxJSaD3r3khCd0SMgu8szrdgXOSNAHDAPz+iOp O2Wcd/wmscz/D892kLsU1r4IizfpdxRhJn7yhU83CA2mzUPKH9grLQS1zwTU+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 4PdCqF5CPvz1CpM; Fri, 17 Mar 2023 05:48: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 32H5mfpS006372; Fri, 17 Mar 2023 05:48:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H5mfj3006371; Fri, 17 Mar 2023 05:48:41 GMT (envelope-from git) Date: Fri, 17 Mar 2023 05:48:41 GMT Message-Id: <202303170548.32H5mfj3006371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 1e6d266d70e9 - stable/13 - kern: physmem: don't create a new exregion for different flags... List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1e6d266d70e969c87f5da229cc82b3d53ae7c2a5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1e6d266d70e969c87f5da229cc82b3d53ae7c2a5 commit 1e6d266d70e969c87f5da229cc82b3d53ae7c2a5 Author: Kyle Evans AuthorDate: 2023-03-10 05:27:39 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 05:04:22 +0000 kern: physmem: don't create a new exregion for different flags... ... if the region we're adding is an exact match to one that we already have. Simply extend the flags of the existing entry as needed so that we don't end up with duplicate regions. It could be that we got the exclusion through two different means, e.g., FDT memreserve and the EFI memory map, and we may derive different characteristics from each. Apply the most restrictive set to the region. Reported by: Mark Millard Reviewed by: mhorne (cherry picked from commit cc0fe048ec39636216ed59fa47eb311b2537cfc5) --- sys/kern/subr_physmem.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c index 7cb45621a155..450b891cb8a1 100644 --- a/sys/kern/subr_physmem.c +++ b/sys/kern/subr_physmem.c @@ -372,8 +372,8 @@ insert_region(struct region *regions, size_t rcnt, vm_paddr_t addr, nend = addr + size; ep = regions + rcnt; for (i = 0, rp = regions; i < rcnt; ++i, ++rp) { + rend = rp->addr + rp->size; if (flags == rp->flags) { - rend = rp->addr + rp->size; if (addr <= rp->addr && nend >= rp->addr) { /* * New mapping overlaps at the beginning, shift @@ -400,7 +400,20 @@ insert_region(struct region *regions, size_t rcnt, vm_paddr_t addr, } return (rcnt); } + } else if ((flags != 0) && (rp->flags != 0)) { + /* + * If we're duplicating an entry that already exists + * exactly, just upgrade its flags as needed. We could + * do more if we find that we have differently specified + * flags clipping existing excluding regions, but that's + * probably rare. + */ + if (addr == rp->addr && nend == rend) { + rp->flags |= flags; + return (rcnt); + } } + if (addr < rp->addr) { bcopy(rp, rp + 1, (ep - rp) * sizeof(*rp)); break; From nobody Fri Mar 17 06:30:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdDlh1RNjz409ny; Fri, 17 Mar 2023 06:30: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 4PdDlh0z8lz46sx; Fri, 17 Mar 2023 06:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679034640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9nJHifBd4aulVIBF6Df5RcvM34Yv+xwhEJRkxnrn4U=; b=cYEzWytLfV/maMkfxRUZPTHqknKw61krP3FLKA2jdLGQTD7tpFJV/zVCdzSJy3xH19sSjo wOK6Y66NyC+/gvA94YdeBXDK1ZMZZ7xuqooO314bj7mOq9orIW2x9HRvHOeFtGnsLO2KrS sjsN/p2jgSKxcj7WZqFRTZNZbqCAJXkbonRShTu76Y4zW0u5Kx4hS2PPOwzmuF4XBywV7w qIA38YWF/R6wmp+LCR0pg53P5GJ9Ud99cBRpHZKcebP3yo8224PBwdZXnrRr7ZFZ6LCixu nXtnNPzuyanedVlaxTXsbVh6Jr/Zrt/6/nTGboij3V1VhLSw1rjsJFAJTboPjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679034640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9nJHifBd4aulVIBF6Df5RcvM34Yv+xwhEJRkxnrn4U=; b=KiJpzDFr1kEG8FpqTVJPmvoQDnpvnM1hLR+RcbB5h3KGZGENNWRyml24SMM8mXMxgBPAfX n9Xo1QnZncUzdV8bk8YBW37dMVA7u2/9uLKERXGBcddMD/Yb+1YpxYaShkEM/CMaxwDK9V b4lBNEZ9MMpIDywM7me3e/vkekADQsYEvOy5XK+dEfC88Anj6key6XPlG4C8SRZtMX6pYd 55yp4TBwVTUe1iFwuBUDb3NawC6YVAFWN+U4UnOazYJ7yzSsN3St0KlFd2/3XTxl+tWy4/ TBBSFAIdZXNzH1dnMipzvCsE9nh7Yvru1hVxdfUm5tD+qZcZrM1WFifLJ4H2RQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679034640; a=rsa-sha256; cv=none; b=ky/iYeleuVv9KhnAmt+uE3kKc8errOuxQ2SILYKSXnMmeHTx+BECXjJpoqLDoVjpkgCU2X YKaZmQAr2SA8KEDJ7jJVpkOwlwBW3J0TepRnBrdQ/zxotePCXWgQQ9k+iG8w2/zhghkZQs ksg5nX6nBPpSz9yrhCdxfILj8/bJgwr7rxuOx+zkvRD/DpZkZMzKHYg3IeMi0YU/3ob+j/ ueHR8xQlDyIQ6V+r1rzUgCgGr/50Z2yjZjAOl770NenIcnCLWO2CxKXpROXyU1aOneFL3Y 2ipAYqcSisd+psXvZbRFbvQsUtpyd0bCYq5BJK+N4cT396Fc9MJXY4pOOvjVyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdDlh01wpzFRq; Fri, 17 Mar 2023 06:30: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 32H6Ud7q080625; Fri, 17 Mar 2023 06:30:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H6UduN080624; Fri, 17 Mar 2023 06:30:39 GMT (envelope-from git) Date: Fri, 17 Mar 2023 06:30:39 GMT Message-Id: <202303170630.32H6UduN080624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 15d683c334f9 - stable/13 - route.8: Don't reference an external command in EXAMPLES List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 15d683c334f9434f7d3253ca4189f8e70f4fbf9a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=15d683c334f9434f7d3253ca4189f8e70f4fbf9a commit 15d683c334f9434f7d3253ca4189f8e70f4fbf9a Author: Gordon Bergling AuthorDate: 2023-03-14 13:55:28 +0000 Commit: Gordon Bergling CommitDate: 2023-03-17 06:30:26 +0000 route.8: Don't reference an external command in EXAMPLES It is better to mention the externel command for showing the routing table as using an explicit command. PR: 231579 Suggested by: karels Reviewed by: karles, gbe Differential Revision: https://reviews.freebsd.org/D39075 (cherry picked from commit 21f268182838f072f96234c727778d5603a580e3) --- sbin/route/route.8 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 5b6e13281447..afcf55ab44c7 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -28,7 +28,7 @@ .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $FreeBSD$ .\" -.Dd February 26, 2023 +.Dd March 14, 2023 .Dt ROUTE 8 .Os .Sh NAME @@ -488,9 +488,8 @@ Remove all routes from the routing table: .Pp .Dl route flush .Pp -List all routing tables: -.Pp -.Dl netstat -r +The routing table can be listed with +.Xr netstat 1 . .Sh DIAGNOSTICS .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" From nobody Fri Mar 17 09:59:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdKNS57Thz3y8tW; Fri, 17 Mar 2023 09:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdKNS4bY6z3CqY; Fri, 17 Mar 2023 09:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679047160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCmyFrPz0MoV/7DHFl/3+euiLGlku77oQyJYIcLdfME=; b=RdBmffb3dnYvOS5EJdD8rYjgzAOVlvX/0aFTwiE1K+jo67lABFCze/TeJ5KCKVG86P0zuN /L+yLFW3rJb92ZgfRBJzBp/nPlzHlHMYCom3XvC3xcCY7YalRT5N8Yo/J0ll7P7gI5e/7T GBrumNSGbBr33BIZV4ligf/C8IIfc2MvDARhqjn+MGxXS7ysPEeBmPIXkD+fGOimrx/S2M v+aPIwXWeGPVc/WreX2wrOnkMA3xASI241RSDY18VOGO37W9DAgUN+o1jnZLPWjDLedmeH LQLfjr7AJmeC6YqtxLZu6GUUvO9QtJX41L7klZamnXabH/nzm89Grns13Ly2aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679047160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCmyFrPz0MoV/7DHFl/3+euiLGlku77oQyJYIcLdfME=; b=XSjhJPcSW7a6gMINu/VozzBv1/cllDpfe2hLIYuUJjzyT2/mv4n3R0P6msGNE77vSkD2vz Xs5Vf+w3Mtu5tD0qvrJg730CtzR8MLPosYTmiu3QTOnGm3Q83UhpiWisM/tL9wnBZBC6Cy rdJ7H21nwRe71gJTGP+2ZC7vl9G0DdiwfrSpoztOJp5/5wPlqpX+bKmhaQdvSp04vJHA5t Bi8wj/9NVFEwRJ9sdW3btScmcHcPtoIkn3W0QKE7/Vad50n+nCnaromuilw1tSP7S3lVys qb762ZLMdSvp3ZXwVfYayTv09C+N8qAhd7WX4VqDNVnO0zalt6y3yNBTPo4tBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679047160; a=rsa-sha256; cv=none; b=gbmAJIYkrfcoPBy7gCQ9euRocRDl6f9mPBlKjWOTgBWUsDkxxI4B1xY/6iEASsnuaSec// pWkARdyBX8zf/CQlXEMzCdNz7rpCYdT/vd6v+3RnFhR9ct09v329qRTU/w9prXvA9m+XrA rRK+1PDgkVTWiqnnMINx5ZSieWGw4f+pczq3YuatIX6pFCFrrYDXXGiTq04LcxVFYHFAOM PsIsnr+zaDiZCjpQkDlBle6EoGtZ2jztoeUOYb9h263yq+O08dg0yUEERL9cjirS6BEcTn bPUDT5cTAyHO4SAJbFUSsrKa2BjpIRLDalZepq6RqAjjdnbQlauul1Z4TAHEjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdKNS3ddfzLSj; Fri, 17 Mar 2023 09:59: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 32H9xKgX017199; Fri, 17 Mar 2023 09:59:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32H9xKUr017198; Fri, 17 Mar 2023 09:59:20 GMT (envelope-from git) Date: Fri, 17 Mar 2023 09:59:20 GMT Message-Id: <202303170959.32H9xKUr017198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: c15ceae9e7f9 - stable/13 - carp: carp_master_down_locked() requires net epoch List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c15ceae9e7f98f7e74ff7848b3aff7176c7e263a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c15ceae9e7f98f7e74ff7848b3aff7176c7e263a commit c15ceae9e7f98f7e74ff7848b3aff7176c7e263a Author: Zhenlei Huang AuthorDate: 2023-03-16 10:00:13 +0000 Commit: Zhenlei Huang CommitDate: 2023-03-17 09:55:00 +0000 carp: carp_master_down_locked() requires net epoch Reviewed by: kp Fixes: 1d126e9b9474 carp: Widen epoch coverage MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D39113 (cherry picked from commit 49cad3daf2a3abe8270f71ee5b15b8990a19529d) --- sys/netinet/ip_carp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index e84a85ebc11e..b6326b14c802 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1732,6 +1732,7 @@ carp_carprcp(struct carpreq *carpr, struct carp_softc *sc, int priv) int carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) { + struct epoch_tracker et; struct carpreq carpr; struct ifnet *ifp; struct carp_softc *sc = NULL; @@ -1816,8 +1817,10 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) carp_delroute(sc); break; case MASTER: + NET_EPOCH_ENTER(et); carp_master_down_locked(sc, "user requested via ifconfig"); + NET_EPOCH_EXIT(et); break; default: break; From nobody Fri Mar 17 10:29:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL353KC2z3yBWR; Fri, 17 Mar 2023 10:29: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 4PdL352jz7z3GNh; Fri, 17 Mar 2023 10:29:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gV+PZn63sFKmOsawt90BW25MHPLIRIkr3Lmk1FmJK5Y=; b=o+3QbXg8HoH7Pg+nh0JCXBSMsImIkxJxCjcmdDcIXLcq0zHHC5pMQft0bN/jpi3fIl0rWQ 2CGH3lRljqWAd1i2AWfgxA6X4nJHZMOJdlPz3Qbwgn5HfjqvuWs9OjVMY3pNJHFHMiQPZR wIyhPPEhW4q2godc/df4CqCqZSjgAeA1ZGkyByTg89a0oMson4AasTP06spF0dcgI4iSET EJfhaeu7k0kxieDeXxb1bjSX8Dsk1COYoMey4lXEIaPkhLwSGD7IcLGyC/Hfjn0wr+uv0H XMF+WFR5RYPcqgaQGPnffzo7X5936QxfuIbpNdr1WJ9gMc6cwas8BxJAOcdMVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gV+PZn63sFKmOsawt90BW25MHPLIRIkr3Lmk1FmJK5Y=; b=RSroO8WY4C2WAHaK0kuwhvH78NZ81f5Y2IdwlrVxcg/vZz8g/UePGquwivRvYqF36NKePz se04E6L5Bf7K3hyRmzUZ4CFXrsAueePwk14WJirADwSx9l7kK4FT0p4JXAN+S/2o82bAFs Wei6nVdcQQfXV04VpbtTDPTQEpii5k2ObT7GwMtsqYfbwGMTe+HP1mgxwXFPz8ur55D/x/ 4KsRq3R0Soj45SJi7dNiwFcavQFNGjeao9E8bXcGn6XwnCZ8dMgqVLrWiPXVrdxaqHBznS sezrrtVjleUEM4FmhEXr6QByirkDOd6n8l4klPLTaIl8bmZzPREej2/xYg34pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048961; a=rsa-sha256; cv=none; b=w6aFQOg6tBcJWjDuiXBThSmWyhbUAOLjNrZ9jT4XQ/g8MkGw3BnQXHlEhVjC5854KrO7dE GjyQEJB9JcaiWr8KFrTL3q/4iwqZ0jqgIhhHO5sCCJS5No3C3MERpm13Vf1d1YXErO0SWU AC8A0Z1vegzyBtGRRAcdSN6I7J3nqzaX9byToLJOcMqPToEUn3irQm2QWUiqQ60eowczI1 pkmqIybG9XWfKf9Ws8i//l9CKnStrcEGL/4cWXF0TR7kugxO8jNp/6msgg/3L8iYg9zQKA bZ8x3xZNFbKLQXH9IdKF7PPY4ZtMTqucgSmZQJlkyNoTSn2eUWQk58K75qfTPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL351mLHzMpW; Fri, 17 Mar 2023 10:29: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 32HATLte067252; Fri, 17 Mar 2023 10:29:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATLHE067251; Fri, 17 Mar 2023 10:29:21 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:21 GMT Message-Id: <202303171029.32HATLHE067251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 1adfb2e834c5 - stable/13 - bhyve: add helper to add fwcfg items List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1adfb2e834c57b319d3f0eee1b80e2d7b1a3d421 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=1adfb2e834c57b319d3f0eee1b80e2d7b1a3d421 commit 1adfb2e834c57b319d3f0eee1b80e2d7b1a3d421 Author: Corvin Köhne AuthorDate: 2021-08-11 08:01:19 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:32 +0000 bhyve: add helper to add fwcfg items This helper makes it easier to add multiple fwcfg items. You can pass an index and some data to the helper. The helper adds these information to the fwcfg emulation so that the guest reads the given data on the specified index. Reviewed by: MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38334 (cherry picked from commit 3ef46195ac37111ab247cfabed735d3ee5e7f5b5) --- usr.sbin/bhyve/qemu_fwcfg.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index 13e21daca7ff..8cb71b819956 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -130,6 +130,31 @@ qemu_fwcfg_data_port_handler(struct vmctx *const ctx __unused, const int in, return (0); } +static int +qemu_fwcfg_add_item(const uint16_t architecture, const uint16_t index, + const uint32_t size, void *const data) +{ + /* truncate architecture and index to their desired size */ + const uint16_t arch = architecture & QEMU_FWCFG_ARCHITECTURE_MASK; + const uint16_t idx = index & QEMU_FWCFG_INDEX_MASK; + + /* get pointer to item specified by selector */ + struct qemu_fwcfg_item *const fwcfg_item = &fwcfg_sc.items[arch][idx]; + + /* check if item is already used */ + if (fwcfg_item->data != NULL) { + warnx("%s: qemu fwcfg item exists (architecture %s index 0x%x)", + __func__, arch ? "specific" : "generic", idx); + return (-1); + } + + /* save data of the item */ + fwcfg_item->size = size; + fwcfg_item->data = data; + + return (0); +} + static int qemu_fwcfg_register_port(const char *const name, const int port, const int size, const int flags, const inout_func_t handler) From nobody Fri Mar 17 10:29:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL36442lz3yBYs; Fri, 17 Mar 2023 10:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL363Z5kz3GQ8; Fri, 17 Mar 2023 10:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=llyASkX34nS7Sdu2R+GuZq0gWuMrQ4XOtt6niLsnrog=; b=KS0/zMghxQ0kqzpZgQP+tPe8LPA2p8CJc+u3wduXbQY3/pX+ciA4sjcR5K1/9KfrclQyLR E50thPDaON4o/qXCOnvwAzSnR6ohHpxv/2Pa2UxyZL2emIC0aAxkn7Snh0/WZASWB23q9h q5LrHrxXUdDdg7RQC7fr5rN6A5gdXalnSgwn8oTEYCrRKCBf87z68HrRgEfHyNuE8RoZhQ BfXW0Qsmm2nE2mafHreqKZLlnardaLYwIetEzaQdGXdOD5wNGzAQJp/TvMzU/zOi0w7VjY bP2K2OTqsajTTmXaDLSByOiSx1B8LYZlEmBqw/GiAcnu1fJxFNIOFcwUazmEMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=llyASkX34nS7Sdu2R+GuZq0gWuMrQ4XOtt6niLsnrog=; b=tX7jOgFiZnLNfr7htVbB/JicUSGpzX3S/hCtCK30zfLAsY1Trotc3r9Mw8YbB12emmPzU5 Z+Z3v+T18wDoMAyqlSNl/3brLLOp1HvjywvnqLjRgrYur2ESpCmQoAn4TKbgfPynWwdFbV 4JKIiJ+EiOvbfWIYzLoqolSCrZkeuklJl3o85IHHZCAHmdnsvJ+rzCN6dNYzLeHkwIA12R Yu76yzRVCIf13UXPApOOIB2bP1pbSx499sjg7HzNoeWPqddX5umQuyoMz/aViiAMYPuvO/ gyWW/qaALJWjaMOBm5v+hzB4GMIF/QMa0XGn+AfxUmEEKuoqJ0UAU8InQAqmTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048962; a=rsa-sha256; cv=none; b=VQAIW7PBuIpRLCkNoh/czHB/qUPcmOZDSvhBsingrYV8HymnCJvch4W5lfQQLCB1LEG7a3 qeNe3pD6dB51b2MzaCJEFeto9r6hl+v1X2YX3cbtYCcV3sT1SrtYJe5To8CpQye4O3+JsG iL1b+fud7kpdb+9hjZ6oFNJtprMqrkyDcxrhF8/x4aa0nN7EBWUzzAhelKRprS0fIoA3A6 MqFCMdigYX8KkkbrIKaesMTvv5De6LJgyJ2EbJoxSE10+CrYKAqM3s+JQee5P5UPBgAgGU uMbiRzpwp2vkCbUMBRHlYQn622iLltdYW3tlwGfBDUN50mwrIR/Jzig3GvlZ/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 4PdL362fhlzMZn; Fri, 17 Mar 2023 10:29: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 32HATMC1067279; Fri, 17 Mar 2023 10:29:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATM81067277; Fri, 17 Mar 2023 10:29:22 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:22 GMT Message-Id: <202303171029.32HATM81067277@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 02296919604f - stable/13 - bhyve: add common fwcfg items List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 02296919604f8df8e890d3c7f3b54e707270caf1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=02296919604f8df8e890d3c7f3b54e707270caf1 commit 02296919604f8df8e890d3c7f3b54e707270caf1 Author: Corvin Köhne AuthorDate: 2021-08-11 08:02:57 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:32 +0000 bhyve: add common fwcfg items Qemu defines some common fwcfg items. We don't need to support all of them. Only a subset needs to be present for fwcfg to work properly. - signature The signature is used by the guest to check if qemu's fwcfg is available or not. - id The id is used by the guest to check which features are supported by the fwcfg implementation of the hypervisor. - file_dir The file dir reports all fwcfg items which don't have a fixed index. These are mostly user defined fwcfg items. Reviewed by: MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38335 (cherry picked from commit 34f804e547e7c3b10b12f5450ff2e0a771000daf) --- usr.sbin/bhyve/qemu_fwcfg.c | 99 +++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/qemu_fwcfg.h | 1 + 2 files changed, 100 insertions(+) diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index 8cb71b819956..e1a67fd0d8ef 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -6,6 +6,7 @@ */ #include +#include #include @@ -38,6 +39,12 @@ #define QEMU_FWCFG_ARCHITECTURE_GENERIC 0 #define QEMU_FWCFG_ARCHITECTURE_SPECIFIC 1 +#define QEMU_FWCFG_INDEX_SIGNATURE 0x00 +#define QEMU_FWCFG_INDEX_ID 0x01 +#define QEMU_FWCFG_INDEX_FILE_DIR 0x19 + +#define QEMU_FWCFG_MIN_FILES 10 + #pragma pack(1) union qemu_fwcfg_selector { @@ -49,6 +56,28 @@ union qemu_fwcfg_selector { uint16_t bits; }; +struct qemu_fwcfg_signature { + uint8_t signature[4]; +}; + +struct qemu_fwcfg_id { + uint32_t interface : 1; /* always set */ + uint32_t DMA : 1; + uint32_t reserved : 30; +}; + +struct qemu_fwcfg_file { + uint32_t be_size; + uint16_t be_selector; + uint16_t reserved; + uint8_t name[QEMU_FWCFG_MAX_NAME]; +}; + +struct qemu_fwcfg_directory { + uint32_t be_count; + struct qemu_fwcfg_file files[0]; +}; + #pragma pack() struct qemu_fwcfg_softc { @@ -155,6 +184,62 @@ qemu_fwcfg_add_item(const uint16_t architecture, const uint16_t index, return (0); } +static int +qemu_fwcfg_add_item_file_dir(void) +{ + const size_t size = sizeof(struct qemu_fwcfg_directory) + + QEMU_FWCFG_MIN_FILES * sizeof(struct qemu_fwcfg_file); + struct qemu_fwcfg_directory *const fwcfg_directory = calloc(1, size); + if (fwcfg_directory == NULL) { + return (ENOMEM); + } + + fwcfg_sc.directory = fwcfg_directory; + + return (qemu_fwcfg_add_item(QEMU_FWCFG_ARCHITECTURE_GENERIC, + QEMU_FWCFG_INDEX_FILE_DIR, sizeof(struct qemu_fwcfg_directory), + (uint8_t *)fwcfg_sc.directory)); +} + +static int +qemu_fwcfg_add_item_id(void) +{ + struct qemu_fwcfg_id *const fwcfg_id = calloc(1, + sizeof(struct qemu_fwcfg_id)); + if (fwcfg_id == NULL) { + return (ENOMEM); + } + + fwcfg_id->interface = 1; + fwcfg_id->DMA = 0; + + uint32_t *const le_fwcfg_id_ptr = (uint32_t *)fwcfg_id; + *le_fwcfg_id_ptr = htole32(*le_fwcfg_id_ptr); + + return (qemu_fwcfg_add_item(QEMU_FWCFG_ARCHITECTURE_GENERIC, + QEMU_FWCFG_INDEX_ID, sizeof(struct qemu_fwcfg_id), + (uint8_t *)fwcfg_id)); +} + +static int +qemu_fwcfg_add_item_signature(void) +{ + struct qemu_fwcfg_signature *const fwcfg_signature = calloc(1, + sizeof(struct qemu_fwcfg_signature)); + if (fwcfg_signature == NULL) { + return (ENOMEM); + } + + fwcfg_signature->signature[0] = 'Q'; + fwcfg_signature->signature[1] = 'E'; + fwcfg_signature->signature[2] = 'M'; + fwcfg_signature->signature[3] = 'U'; + + return (qemu_fwcfg_add_item(QEMU_FWCFG_ARCHITECTURE_GENERIC, + QEMU_FWCFG_INDEX_SIGNATURE, sizeof(struct qemu_fwcfg_signature), + (uint8_t *)fwcfg_signature)); +} + static int qemu_fwcfg_register_port(const char *const name, const int port, const int size, const int flags, const inout_func_t handler) @@ -209,6 +294,20 @@ qemu_fwcfg_init(struct vmctx *const ctx) goto done; } + /* add common fwcfg items */ + if ((error = qemu_fwcfg_add_item_signature()) != 0) { + warnx("%s: Unable to add signature item", __func__); + goto done; + } + if ((error = qemu_fwcfg_add_item_id()) != 0) { + warnx("%s: Unable to add id item", __func__); + goto done; + } + if ((error = qemu_fwcfg_add_item_file_dir()) != 0) { + warnx("%s: Unable to add file_dir item", __func__); + goto done; + } + done: if (error) { acpi_device_destroy(fwcfg_sc.acpi_dev); diff --git a/usr.sbin/bhyve/qemu_fwcfg.h b/usr.sbin/bhyve/qemu_fwcfg.h index 58ef5ed3c6bf..b5454fa9977d 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.h +++ b/usr.sbin/bhyve/qemu_fwcfg.h @@ -11,6 +11,7 @@ #define QEMU_FWCFG_MAX_ARCHS 0x2 #define QEMU_FWCFG_MAX_ENTRIES 0x4000 +#define QEMU_FWCFG_MAX_NAME 56 struct qemu_fwcfg_item { uint32_t size; From nobody Fri Mar 17 10:29:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL375GHCz3yBbw; Fri, 17 Mar 2023 10:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL374c5Pz3GWR; Fri, 17 Mar 2023 10:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOJ7WScVgUG2QAJD1alrINhIfi2kiCwQi6pejjHLt7o=; b=JORgCCNLoFw+bS8m3x4OLGsL8ySUsgWNxlk6mPcTEQyhamZXwqkP4ZSdSnvUhnpQ7y0EbH WU7Ub/QxUe1ngdDYHe460BT5Yq3YUipRpRPY2NCbRDCVeTmir/K1/c5q4wySHt7hJ1q7wN kwVMSMentteabPL66sNvf8Jllt6lHcyHslQPdOkZZkdcdo8sRyk1/uUCPdR+3uF7p0j14k qWrFJgCSXefakQaJUANa+JPT/Enrotme6xQ+OMqdoqYmnOpgPHSWDeS3xMJgWJx+hvLlb1 EolRJj/PutISC4j3Yd5cM8qStqPQ7wE7oWBKELeYE2whyrcoUkUYwkaqwIHkkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOJ7WScVgUG2QAJD1alrINhIfi2kiCwQi6pejjHLt7o=; b=A0VCXhYgHqhFQXb0avCSIMGVsyEKGmWAuyS1cixMsQaFA14JW8UpQyKrteWapgZ5jjGVJj X2Wau8c0BJftxpPeeGmX9vF4BufZoUPpNjkCHWEzhlMCCvc4HLoLJftklF8pjp2QIdsYg+ wk+PoqrYKQpJw2UZTo5UNB4Mw23EMAuLZWRcu4wvar0m9Z0YLdUTrlHbP83p+eptdmRUZQ vBtX5egEwq0+pAo86NRbIQOr+K9GfWh2Rux3k1sfoIzcGRIxs4BO8rDQQfDdrbe2FHMqE2 yEipbHgBpn+WQ2xCX3P4+2uAQFt6cBM/a9RUo4NU8ACuVQcRzOfgchvol5NAWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048963; a=rsa-sha256; cv=none; b=WyHmuQk0ouDFjklo26yoQ8bKDE2dHJ8uA3waRO5c5Pw0TyZtlBO04U2bnrKYDxqa7rsm61 VfYChlL5HwUFpGpkavl4g5aryJqjs7SxD3PBJx+5ii1KaIDQfb34O3XmHJEwe0NYauH9Lk vugaIAzSZe9pdyGZfX8m7M4poa4zdy7eArxtY0lhGha02/aC3xjYdECuUHiMBJ4BhwTxol EBK35sLinv/MYJl7NFzGZFAH92ZuU+nRUr/Wn1dQaFv2YkqntMGOvjzVVrikCYM0L8T2s9 NKC90nKoRQ/Gs5l+KPAcO41isZ6weBi6V3/aMEGAARrXXbbpX6rcF9bi4IHDNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL373bnBzMjw; Fri, 17 Mar 2023 10:29: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 32HATNT3067308; Fri, 17 Mar 2023 10:29:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATNEQ067307; Fri, 17 Mar 2023 10:29:23 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:23 GMT Message-Id: <202303171029.32HATNEQ067307@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: fb18fc6b050e - stable/13 - vmm: fix restore of TSC offset List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fb18fc6b050e540a694271af7ac1c293e0f4a5b3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=fb18fc6b050e540a694271af7ac1c293e0f4a5b3 commit fb18fc6b050e540a694271af7ac1c293e0f4a5b3 Author: Vitaliy Gusev AuthorDate: 2023-02-28 11:16:35 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:33 +0000 vmm: fix restore of TSC offset After suspend/resume Ubuntu 20.04 and 22.04 installer can hang if tsc-early clocksource has a big skew. Reviewed by: corvink, jhb Fixes: a7db532e3a6f83067b342f569b56076d011f8a1e ("vmm: Simplify saving of absolute TSC values in snapshots.") MFC after: 2 weeks Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38474 (cherry picked from commit 281b496f22d1d666b2ef1e54985432627ec434a4) --- sys/amd64/vmm/vmm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 692b8c991310..8cdf57608055 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2859,6 +2859,8 @@ vm_snapshot_vcpus(struct vm *vm, struct vm_snapshot_meta *meta) */ tsc = now + vcpu->tsc_offset; SNAPSHOT_VAR_OR_LEAVE(tsc, meta, ret, done); + if (meta->op == VM_SNAPSHOT_RESTORE) + vcpu->tsc_offset = tsc; } done: From nobody Fri Mar 17 10:29:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL390vQqz3yBTW; Fri, 17 Mar 2023 10:29:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL385X8Bz3Gcf; Fri, 17 Mar 2023 10:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O0v9LsQ279LxlDn0wpRXC8qCpjdK6eHgqQ8rmdP/7Xs=; b=WsTU0FoMulQgS/+S6RKhy6IRC2wmLwZLqi7HZDgyC6GT45gGIBNmEIHQ9nksenOVq30OHe LH08cPlizHvKEkbm2pQQeII159PblhMRkPhe3Z5f1SIQz61JO7F/yOU3X5J46wn9C9C8sd TgpLufdqbr7us/28JidFFOsl/lSDr6ECtjHVCtsjgPktIlzQ1YWaYv+jwK8A6yJMJOa4I7 ilEqLaZxE2YatiLEJqn+Ap/kEusfk3g7OgDH5fRj2rmfG4l78KgqZRO5vXW18hQyB+mjzx aZ0jmHqHamtnNtlM1S+XhSecfnJdl8gzHJeXJlCa4btYNYXZoVEKxY0H1eTU8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O0v9LsQ279LxlDn0wpRXC8qCpjdK6eHgqQ8rmdP/7Xs=; b=ZIVI7bzDl+QHyvCoW6kZ2FxaQb3kU59yn/2Cu0b4Zo2+it6GK/p7Tk7qJIrVWFgjbX6Yl8 YFlyL3yELEtiGll3J6mDId+ANd34HN9rYMXLC/CkFtKk092MWsjauw3RcOYKw0ODQLWdNF gmP2uMW4ywTOvFBFRNgwBVHIRpua1pVHimSxqnQVteWMuhXTLLIS927TvnqydC1fgd7Ki9 BqoGCEMgpf8FMONldPSHiOhXaCOWf66aLhS6Is1eEF2CC30V1ca/oESV/pC8p7AOKYkbOz YTXawrT53KK1F/NIChApLH3gJOplhB2oZiwm+EgOeNnfGwoIKSGUv00ByIHL3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048964; a=rsa-sha256; cv=none; b=jVlUY+NtQlGHhkQf3kfir0Fb6Lgz/06/Ry3+sGb0sPu8gFzRgzC5CC3n8N50hm9+iHksN0 GvOYxou+hhgjC2nKMLnkg1aHEDNivVuWLJBEDUABGBw1JWQfIEeWGBqfBVkMo21FYdooaJ TZdNXhp6K2vDb1oZ7t54bOyopZLzMztvp9ucX81TxYTQGoCyXa6/vLfGNUBGlpETGAnEws PBrfZgo9TFrKSlJJtukjlB61CTuDqEakXB0EbLc0F5WJFCYhJHH0/t6AAC6QHxmi+HxGsR 1KUtk45TiIgtKDhA8swDI7Zlc0EmtVdKJmrDqt+TZvP9fIH9HHp+zXLUozHfcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL384dRNzMLx; Fri, 17 Mar 2023 10:29: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 32HATOfl067332; Fri, 17 Mar 2023 10:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATOZu067331; Fri, 17 Mar 2023 10:29:24 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:24 GMT Message-Id: <202303171029.32HATOZu067331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 38acc80a5b69 - stable/13 - bhyve: fix restore of kernel structs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 38acc80a5b696a0f9d029b5de209b6a2045332cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=38acc80a5b696a0f9d029b5de209b6a2045332cd commit 38acc80a5b696a0f9d029b5de209b6a2045332cd Author: Vitaliy Gusev AuthorDate: 2023-02-28 10:32:49 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:33 +0000 bhyve: fix restore of kernel structs vmx_snapshot() and svm_snapshot() do not save any data and error occurs at resume: Restoring kernel structs... vm_restore_kern_struct: Kernel struct size was 0 for: vmx Failed to restore kernel structs. Reviewed by: corvink, markj Fixes: 39ec056e6dbd89e26ee21d2928dbd37335de0ebc ("vmm: Rework snapshotting of CPU-specific per-vCPU data.") MFC after: 2 weeks Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38476 (cherry picked from commit 8104fc31a234bad1ba68910f66876395fc58ebdc) --- sys/amd64/include/vmm.h | 2 -- sys/amd64/include/vmm_snapshot.h | 3 +-- sys/amd64/vmm/amd/svm.c | 10 ---------- sys/amd64/vmm/intel/vmx.c | 7 ------- sys/amd64/vmm/vmm.c | 4 ---- usr.sbin/bhyve/snapshot.c | 1 - 6 files changed, 1 insertion(+), 26 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index cb883bb0e143..95f5597f7e1a 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -184,7 +184,6 @@ typedef struct vmspace * (*vmi_vmspace_alloc)(vm_offset_t min, vm_offset_t max); typedef void (*vmi_vmspace_free)(struct vmspace *vmspace); typedef struct vlapic * (*vmi_vlapic_init)(void *vcpui); typedef void (*vmi_vlapic_cleanup)(struct vlapic *vlapic); -typedef int (*vmi_snapshot_t)(void *vmi, struct vm_snapshot_meta *meta); typedef int (*vmi_snapshot_vcpu_t)(void *vcpui, struct vm_snapshot_meta *meta); typedef int (*vmi_restore_tsc_t)(void *vcpui, uint64_t now); @@ -210,7 +209,6 @@ struct vmm_ops { vmi_vlapic_cleanup vlapic_cleanup; /* checkpoint operations */ - vmi_snapshot_t snapshot; vmi_snapshot_vcpu_t vcpu_snapshot; vmi_restore_tsc_t restore_tsc; }; diff --git a/sys/amd64/include/vmm_snapshot.h b/sys/amd64/include/vmm_snapshot.h index d08f980e7988..c4d7fc4d4371 100644 --- a/sys/amd64/include/vmm_snapshot.h +++ b/sys/amd64/include/vmm_snapshot.h @@ -47,8 +47,7 @@ struct vmctx; enum snapshot_req { - STRUCT_VMX, - STRUCT_VIOAPIC, + STRUCT_VIOAPIC = 1, STRUCT_VM, STRUCT_VLAPIC, VM_MEM, diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index ee1154ef85b6..d995b68ebdc6 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2415,15 +2415,6 @@ svm_vlapic_cleanup(struct vlapic *vlapic) } #ifdef BHYVE_SNAPSHOT -static int -svm_snapshot(void *vmi, struct vm_snapshot_meta *meta) -{ - if (meta->op == VM_SNAPSHOT_RESTORE) - flush_by_asid(); - - return (0); -} - static int svm_vcpu_snapshot(void *vcpui, struct vm_snapshot_meta *meta) { @@ -2656,7 +2647,6 @@ const struct vmm_ops vmm_ops_amd = { .vlapic_init = svm_vlapic_init, .vlapic_cleanup = svm_vlapic_cleanup, #ifdef BHYVE_SNAPSHOT - .snapshot = svm_snapshot, .vcpu_snapshot = svm_vcpu_snapshot, .restore_tsc = svm_restore_tsc, #endif diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index fa94c707001c..91406f0614ce 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -4093,12 +4093,6 @@ vmx_vlapic_cleanup(struct vlapic *vlapic) } #ifdef BHYVE_SNAPSHOT -static int -vmx_snapshot(void *vmi, struct vm_snapshot_meta *meta) -{ - return (0); -} - static int vmx_vcpu_snapshot(void *vcpui, struct vm_snapshot_meta *meta) { @@ -4254,7 +4248,6 @@ const struct vmm_ops vmm_ops_intel = { .vlapic_init = vmx_vlapic_init, .vlapic_cleanup = vmx_vlapic_cleanup, #ifdef BHYVE_SNAPSHOT - .snapshot = vmx_snapshot, .vcpu_snapshot = vmx_vcpu_snapshot, .restore_tsc = vmx_restore_tsc, #endif diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 8cdf57608055..1b5e6946d785 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -254,7 +254,6 @@ DEFINE_VMMOPS_IFUNC(void, vmspace_free, (struct vmspace *vmspace)) DEFINE_VMMOPS_IFUNC(struct vlapic *, vlapic_init, (void *vcpui)) DEFINE_VMMOPS_IFUNC(void, vlapic_cleanup, (struct vlapic *vlapic)) #ifdef BHYVE_SNAPSHOT -DEFINE_VMMOPS_IFUNC(int, snapshot, (void *vmi, struct vm_snapshot_meta *meta)) DEFINE_VMMOPS_IFUNC(int, vcpu_snapshot, (void *vcpui, struct vm_snapshot_meta *meta)) DEFINE_VMMOPS_IFUNC(int, restore_tsc, (void *vcpui, uint64_t now)) @@ -2917,9 +2916,6 @@ vm_snapshot_req(struct vm *vm, struct vm_snapshot_meta *meta) int ret = 0; switch (meta->dev_req) { - case STRUCT_VMX: - ret = vmmops_snapshot(vm->cookie, meta); - break; case STRUCT_VMCX: ret = vm_snapshot_vcpu(vm, meta); break; diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 0c9e32abd326..6143f6f3a489 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -155,7 +155,6 @@ static const struct vm_snapshot_dev_info snapshot_devs[] = { static const struct vm_snapshot_kern_info snapshot_kern_structs[] = { { "vhpet", STRUCT_VHPET }, { "vm", STRUCT_VM }, - { "vmx", STRUCT_VMX }, { "vioapic", STRUCT_VIOAPIC }, { "vlapic", STRUCT_VLAPIC }, { "vmcx", STRUCT_VMCX }, From nobody Fri Mar 17 10:29:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL396wFFz3yBTZ; Fri, 17 Mar 2023 10:29:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL396TD5z3GXX; Fri, 17 Mar 2023 10:29:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvP3D8fZoq2vXuwa9xyWjZta4skgch3LiphTNtMygOA=; b=qsj+S93Rp4aV9CjhXr+6njL8eSQuyri8uFnQ3OLpD05QJuzT5COh1XYlJi8rfltVkYd4NG SOp00CKOCq6yaM8olkRGzTdGaxNHb1yxnaFuX4oxIHm+UU8A/Sr41+prS3psnFBKguJOeS sZcOs+1PEo1r6PMxJ/lzy7qn8r7GSPkiU9HdgfSjfR88siySG19zmJZAQoYMG0UX1q3sCv 4EJldmoBSB1M4MI8dPb+rfdDZffo8rORy+GdQU5lVQpwLW6Iy2FTcp0gLQymnlOYFDxbkd zteF7z/E9MK00G7b6tiVaR1jmTikYIfCjFebCBxXoWCVBzzWVfzVXUCK6nDoyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvP3D8fZoq2vXuwa9xyWjZta4skgch3LiphTNtMygOA=; b=EY4TWK1M3lTqkVyRr+6Be0Ab6G4MgA1wjSAtYduiSQqM4yv+2a4KEPRjvtQMqc9JrRPTJB i1AKeyBu/4MGOQYqt9VagjMlUGULcnBqeIJESuyprIzJZINzwcssqnLy1X8d1rzomd7Qj/ XWYQPoZod3wGt0uBnntkEqwUIpO59KPfLFJJaCLaUv+SQEHvvM4zOgnQ5/Arczz8ljZ6lE xqFx5CEK8LXS4Jja4G3cj5ZY1lu88F4B97qmjr1G0vW4hxTvSWDGY93kJmNmX9x9bs7q4f 3pVkNaKjiIxCMK9fLXHio6pF1DEo5kkbX+y2cVBCxE7jzhpRh3eWkfujqq+uXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048965; a=rsa-sha256; cv=none; b=By+P807BKx0rz9kop3kKZzmoktExu3NGj9mJfjWRgEdgmY5QQO2JF91UxcIGn58B8btiMZ NxpwV9M9QVH58XRl7oZbvawSfpXsU4GO/x0KyafvzBxDwJSKjIN6F4Lt4rIitBaaqv9uI+ J2NgQLLNRFuLFWmdH8e5U1IydTqYjCatFqJJ9k0J9aI37GIQooEYLUReMyVLPc18PD8CYV RUC6GNbuDfUAoJCyrqnno274o6yIkvk5tkMNS9aN6mpcUfmoLjEe7rW48nSg7BDcos9jSu 9+p8CCISCvN1Rqt11M27K8UqamXiZHs/9y0akhYeyIBnh6r71/9HDd+FkBdADg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL395ZgXzMZp; Fri, 17 Mar 2023 10:29: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 32HATPRD067357; Fri, 17 Mar 2023 10:29:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATPNY067355; Fri, 17 Mar 2023 10:29:25 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:25 GMT Message-Id: <202303171029.32HATPNY067355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: f6a333f85524 - stable/13 - bhyve: fix resume for vms with guest_ncpus > 1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f6a333f85524fb51c2d15478ba3cc3d65354cf4a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=f6a333f85524fb51c2d15478ba3cc3d65354cf4a commit f6a333f85524fb51c2d15478ba3cc3d65354cf4a Author: Vitaliy Gusev AuthorDate: 2023-02-28 10:28:40 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:33 +0000 bhyve: fix resume for vms with guest_ncpus > 1 This error occurs because vm->vcpu[1] has not been allocated yet when vm_snapshot_vm() is called. To fix this, move spinup_vcpu() before restore code. Reviewed by: corvink, markj MFC after: 2 weeks Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38477 (cherry picked from commit 9ff3e8b7f09034202ad1f24f4fbbe52cf7f56117) --- usr.sbin/bhyve/bhyverun.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index caa284a8dd63..3ff83f55474b 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -552,7 +552,7 @@ fbsdrun_start_thread(void *param) } static void -fbsdrun_addcpu(struct vmctx *ctx, int newcpu, bool suspend) +fbsdrun_addcpu(struct vmctx *ctx, int newcpu) { int error; @@ -562,8 +562,7 @@ fbsdrun_addcpu(struct vmctx *ctx, int newcpu, bool suspend) CPU_SET_ATOMIC(newcpu, &cpumask); - if (suspend) - vm_suspend_cpu(ctx, newcpu); + vm_suspend_cpu(ctx, newcpu); mt_vmm_info[newcpu].mt_ctx = ctx; mt_vmm_info[newcpu].mt_vcpu = newcpu; @@ -1138,7 +1137,7 @@ do_open(const char *vmname) } static void -spinup_vcpu(struct vmctx *ctx, int vcpu, bool suspend) +spinup_vcpu(struct vmctx *ctx, int vcpu) { int error; @@ -1154,7 +1153,7 @@ spinup_vcpu(struct vmctx *ctx, int vcpu, bool suspend) assert(error == 0); } - fbsdrun_addcpu(ctx, vcpu, suspend); + fbsdrun_addcpu(ctx, vcpu); } static bool @@ -1488,6 +1487,16 @@ main(int argc, char *argv[]) assert(error == 0); } + /* Allocate per-VCPU resources. */ + mt_vmm_info = calloc(guest_ncpus, sizeof(*mt_vmm_info)); + + /* + * Add all vCPUs. + */ + for (int vcpu = 0; vcpu < guest_ncpus; vcpu++) { + spinup_vcpu(ctx, vcpu); + } + #ifdef BHYVE_SNAPSHOT if (restore_file != NULL) { fprintf(stdout, "Pausing pci devs...\r\n"); @@ -1564,9 +1573,6 @@ main(int argc, char *argv[]) #endif #ifdef BHYVE_SNAPSHOT - if (restore_file != NULL) - destroy_restore_state(&rstate); - /* initialize mutex/cond variables */ init_snapshot(); @@ -1576,24 +1582,18 @@ main(int argc, char *argv[]) if (init_checkpoint_thread(ctx) < 0) printf("Failed to start checkpoint thread!\r\n"); - if (restore_file != NULL) + if (restore_file != NULL) { + destroy_restore_state(&rstate); vm_restore_time(ctx); -#endif - - /* Allocate per-VCPU resources. */ - mt_vmm_info = calloc(guest_ncpus, sizeof(*mt_vmm_info)); - /* - * Add all vCPUs. - */ - for (int vcpu = 0; vcpu < guest_ncpus; vcpu++) { - bool suspend = (vcpu != BSP); -#ifdef BHYVE_SNAPSHOT - if (restore_file != NULL) - suspend = false; -#endif - spinup_vcpu(ctx, vcpu, suspend); + for (int i = 0; i < guest_ncpus; i++) { + if (i == BSP) + continue; + vm_resume_cpu(ctx, i); + } } +#endif + vm_resume_cpu(ctx, BSP); /* * Head off to the main event dispatch loop From nobody Fri Mar 17 10:29:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3C0sLDz3yBby; Fri, 17 Mar 2023 10:29:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL3C0RKqz3Gnk; Fri, 17 Mar 2023 10:29:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mn9ST0CFDnroeWhaYB17XIeSUd3ay4KXz6tYIXuCuP4=; b=eC8PJeT72LhvbAyIh2nJfIGl/F00gVVBT81383PetIhi7HpAbnizWz9aal3Wtkyw3qKQis t1D+g9sM2O+ANmb/A8QmARnXRzvyqRHuEFfb9tW1aSC1sJUzxhrJBU2St2KMtUwd/57cSb 25ODtYgCRwTEB9g2VblVTOgiLv8mDcM+EcqhstV3u+dYehvh044JIk5is7DeCEsIODXZ2w 7Csffw+QA+Cm2Fd9ghcYweHc55fozUnmEVk2l/OxLZaeoBRgs6a4yxqmm8sfEIsmGLifL0 JR/lKIrisatd20Ao0Kyj0EQQRpEbCa0jF1GAftsYKFeARgDn3TqzuSOMHt6ozw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mn9ST0CFDnroeWhaYB17XIeSUd3ay4KXz6tYIXuCuP4=; b=GQvsXdpI7kQ6uK6L2wHJFcHj0y8WlFSouUVhLNESuELswbtorTrIPiBzwyphyPdxnZ92Vk bh1Qa+OVsNAguJT8rhBNyg8p/rNSIo/hbrtbT/L556dHQKpfxdv1r4BBJMT410/TulGOsN 8YKaLSY1LqsGlH2D93gld0Gcm0M70EBKbkuRIoHyCmAFCOBP2F4k19rDIcS1Sm4mm8+GbU vIlxeRygJQ4w6aamcsoBELWR7nqnAhTcLd11Vqihnv1NoTG/Ufbrkif1ak+9SNecBITrYc oKWygR875z9Lj53ZXGrrpCd9XW9mFw7xaigT4t26IWahDUu0QYP27I120nHT2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048967; a=rsa-sha256; cv=none; b=O95IhpxynDHAqHyrEe7VS4JJKa19Yz/B7W97JOCwVd8NOHO3KaQ4DQyo83E6885gxrECSh 3Ci5d8AKyLAxqvUCWTbDb13KzudS5guuKZP3GRIsoecBf8M2kyo4AUK4RQHt4VMaKSxZch 26k0O4a3UK/ZosO79WYgdvy277Y7EgN71Wl8MB6l+Bd1byH2NPq481SJhKouIusMi650c1 zzufat+X4SRFmd1/9fgKVUR9Od2vSNu0Mko6p3bIqHF9ipMbkYzyqKbYBV6nyPjtkswPLI q5VHBEM8WadmFq/YBctnXa82MJg8nhKAo6I3l5BTpebfWOtVtzAEoN6dsSFduw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3B6RsWzM6n; Fri, 17 Mar 2023 10:29: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 32HATQSN067381; Fri, 17 Mar 2023 10:29:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATQHU067380; Fri, 17 Mar 2023 10:29:26 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:26 GMT Message-Id: <202303171029.32HATQHU067380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 38b37099bb19 - stable/13 - bhyvectl: do not return garbage from send_message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 38b37099bb198128b309c08cf4583efd21e72f72 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=38b37099bb198128b309c08cf4583efd21e72f72 commit 38b37099bb198128b309c08cf4583efd21e72f72 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:27:10 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:33 +0000 bhyvectl: do not return garbage from send_message err is used uninitialized in some cases. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38886 (cherry picked from commit 89fe7b98fe45cf56d60d0d4dfa1bfad3ba6908ec) --- usr.sbin/bhyvectl/bhyvectl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index cab1e6d72c56..5efccc085119 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1679,12 +1679,12 @@ static int send_message(const char *vmname, nvlist_t *nvl) { struct sockaddr_un addr; - int err, socket_fd; + int err = 0, socket_fd; socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); if (socket_fd < 0) { perror("Error creating bhyvectl socket"); - err = -1; + err = errno; goto done; } @@ -1700,8 +1700,10 @@ send_message(const char *vmname, nvlist_t *nvl) goto done; } - if (nvlist_send(socket_fd, nvl) < 0) + if (nvlist_send(socket_fd, nvl) < 0) { perror("nvlist_send() failed"); + err = errno; + } nvlist_destroy(nvl); done: From nobody Fri Mar 17 10:29:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3D1nLMz3yBTj; Fri, 17 Mar 2023 10:29: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 4PdL3D0xVsz3Gh8; Fri, 17 Mar 2023 10:29:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048968; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CThum5FnHPXwPhEoOonLFE89n6PdYyr5/rsZIIUqOtc=; b=oTcpGUjGYmExgI0WRQyWl12gthT/ObdtIjqRpbgjjdL5todIebB9oRBS2SNHvcRZ0Z6tuK 8Sv2Sf86DqDJ/RX16dxX4qCsZuAgYPWxoOmAe8aa9NS4vpuZY2frm4UebtNxIDNcCkYBjg CD1zIfK956HT2P+YCubRefHV7qTtNL5Fa/nxHrf4eX9VzqWLVnzGrnzPSWaVVVDIU1SDOH YeB1TA+TtG+/fauHY/D5UO1/QvDcALy7Bvui+KajwUmGvo1E6hesSCU2Usq/uzYAY8RfoP HHxP06XjYsvuevMRNXi6TyFsRYe5dGnQwZp6SF94NmeE0Oi6Z8JhkSpPuTkJrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048968; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CThum5FnHPXwPhEoOonLFE89n6PdYyr5/rsZIIUqOtc=; b=ioppY/R0UbjqLtl1ACZhhGUWD3tExNzTzLphw/0PLvnQJ4LByYDyz1PPBo8wwjMiri7HLI +41FGuVSXzNbhD/lNMWP6ItmgpP59lUCtB6+FnnZim9nf+F2Rfe407TpfEiRvNEBDe6okK N+iYAGRDo1m8ZK3EOFXJOIiKsutsPd60hFJxcg627JEDBjshJfjmPutvMAsYxbpuLG8QpE BPNadyuYBeBta35NTxL5IBN+MqYIzZ5GrBwJmUlvlk6o7pUdugKJM5WChz6vDSy06DdsXZ Wu4KpuXLKYgjobOXRjnDxtb6kSp/IAGMRHzAFW80hCILWuBZNX9B27KwULqZMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048968; a=rsa-sha256; cv=none; b=Wo7PhxZT9kr/wIAOi6LhqKa4dSj73iX6ycWIbqoNda62B4wUJWoLoRCiLELff4ZvlxXS1X 9FXJR51MtgqVKd/yWw3XjamkNMYADo6I/e8vKfnouM7JrOBQ4Xat1eaO9nVl8Asj1iMQCo Yq965ZiKZTDz1SBtn/nkQqLMPKkRkKFex46vhMnxde/Ly9NTKm2bvcAYWEVNpQfwTp/1QR WXi9leKrGIYt7+fgWuqr+x77ONdHsJLkHg+8JUv4mB0BeWNrd0nPdSvl/9sOVby31WcytU +K0EQmfwhC4mGlBId+maU9jCnsIwB/VEK7nOLu3nqP8/Ayi6EWa0sogPYg2kJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3D004szMpX; Fri, 17 Mar 2023 10:29: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 32HATRDI067405; Fri, 17 Mar 2023 10:29:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATR41067404; Fri, 17 Mar 2023 10:29:27 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:27 GMT Message-Id: <202303171029.32HATR41067404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: d2da92306a89 - stable/13 - bhyvectl: correct socket_fd closing in send_message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d2da92306a89e62f8858e449318a1183f0181a8b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=d2da92306a89e62f8858e449318a1183f0181a8b commit d2da92306a89e62f8858e449318a1183f0181a8b Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:30:44 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:33 +0000 bhyvectl: correct socket_fd closing in send_message Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38889 (cherry picked from commit b64ba2426441ed33120ef0d3057417b7c0be6972) --- usr.sbin/bhyvectl/bhyvectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 5efccc085119..59ecbebdfeae 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1707,7 +1707,7 @@ send_message(const char *vmname, nvlist_t *nvl) nvlist_destroy(nvl); done: - if (socket_fd > 0) + if (socket_fd >= 0) close(socket_fd); return (err); } From nobody Fri Mar 17 10:29:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3F4HYPz3yBQn; Fri, 17 Mar 2023 10: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 4PdL3F1wkqz3Gkr; Fri, 17 Mar 2023 10: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=1679048969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SL/QB5+kOCAfJlXc/5sOAjPQdHp1faBXt65KjYZN1V4=; b=iSxDnNwRDdPqrGiI37uD1idkKfCrsvB70ZGk0ErIBvoYm4VvUspuzw93/QUq/oFgaObBr/ yZvT4l6CXm472nKth8A6RzQkcKG2bACOpjO70RqiDqbsdd2FAyQdT8WKEWRyy/5HRRu4ra VnBYqE4eIPQHOKhe5Oj9Ad/hRVTN0rvuFYsVlGjF/1lSrF/nDTmip7enSWDlbMCaMYAIWI Gk+btrX/P2/jo+kLyf3ZhjC3HJikLsx0zmXBMyWYFpYhIy8tNjtq0SJljb6n0LbZ/z5uB8 MGdPhFQmJJ5bmzXTwi4QUFGBBSMHmXPGpjjuknqIMcaE9/UdDwub55oN+XvWeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SL/QB5+kOCAfJlXc/5sOAjPQdHp1faBXt65KjYZN1V4=; b=MdwmEgpPuCDZZSDLTcDxWcLHbTcJ05Xr5HvEr95Athv5gNUfTQe1zOLud0G+LjljFLgE5Q jpGfF++sTdltOjDwtfinmHUUm/nDs6H7aFCq2FkMk5/3bIWkxBWLg5VaE5E3Cv0WAqMuY6 RJz0YSZpQjN44Yc2vjk/LdGwBwMl3dnQqQLheWWHZREPTpMfZZZ2JRkAonccYwE7HNioa3 S8ZDMQ/jq9RfwQZ7VxqYtun/GzjLvEw7LaWFd3c4mp0hmEkxn/oHxexXJwzKqt9uDg8Da5 HPIi2+RGI2jG+s8gmE9J46+U8cipqV4pICfyWDY1CW+gUoftSsvCa+dnbe4hLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048969; a=rsa-sha256; cv=none; b=ZXVS0zPQKj9NpLGCVMW1RjCAtJ18EORttikTPXs/e3KfY5XPHzoi5Ig1Hso4EjGya138mr +JAVeVRHpKgV3agmTqQ7J+sTtit9NcJbltUp0qvu1wOZzfF3x+YUMX9CRunhw1WQEXSKxC Aj299X+Y0A0fX2AERAPJIRDkHmEfxl1Vt8haJL0IwtL8RHwnmQmALkgwWrrqnsJFYFsl6I VJJ8eDXd0OPbCE4/IAkwrnZdrrBDIiNA5DUw4zoq3pk3dA1uoahQ13kHvMgAEirK2djUH8 IqFQSytQlykbzrWvG6IIUM8n6b/rOCxrsrJxWKHqRAiOVMla2lTf2rJXAYtx7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3F0y7CzMmD; Fri, 17 Mar 2023 10: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 32HATTtS067435; Fri, 17 Mar 2023 10: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 32HATTWV067434; Fri, 17 Mar 2023 10:29:29 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:29 GMT Message-Id: <202303171029.32HATTWV067434@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: f63fd20a9ac2 - stable/13 - bhyvectl: don't leak nvlist in send_message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f63fd20a9ac2e88c1b9399b3ef8fc8edb693d192 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=f63fd20a9ac2e88c1b9399b3ef8fc8edb693d192 commit f63fd20a9ac2e88c1b9399b3ef8fc8edb693d192 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:32:17 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:34 +0000 bhyvectl: don't leak nvlist in send_message Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38900 (cherry picked from commit 942525ab47e9cd9277ac426e082366d58d7bbe41) --- usr.sbin/bhyvectl/bhyvectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 59ecbebdfeae..4aa235e00489 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1704,9 +1704,9 @@ send_message(const char *vmname, nvlist_t *nvl) perror("nvlist_send() failed"); err = errno; } +done: nvlist_destroy(nvl); -done: if (socket_fd >= 0) close(socket_fd); return (err); From nobody Fri Mar 17 10:29:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3G4d9Pz3yBNW; Fri, 17 Mar 2023 10: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 4PdL3G3Dfzz3H5Z; Fri, 17 Mar 2023 10: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=1679048970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kB3olxNFJ8R3xQJJ4Ut24n2o+ocanYZSaWsunEyURIU=; b=TMi0kfAL3/sRM9rhHyMTksbl0ZJLgsarVZTbwa6B8ylcW9fu1bcaXvGwy7S9vqognta4Ok ZIakWw7S7eIujKupM6frR4Q08Doi0XG+qHPRVQSNWk/cvXbvwSq2DMGJenbNFWkaPv2lB5 pBVoQlCYAZKsnNWNX4O9f+pZLzc7b/E2lNmH/ZuDH31lm+zmRHKuIpLuVtBMnmctDWbP+V /n7+9p1sASOReFZBmB9aSkuEyfyDT0Q/ycl0uev9xI4lySy4cBotC/CDCECyCf470bLN76 UKQCpmHR78Ic50/qVSpulu0MNvi97A7//GEimAy9w0jUljojkLgRKnee3/+kfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kB3olxNFJ8R3xQJJ4Ut24n2o+ocanYZSaWsunEyURIU=; b=YI0owbOz0ZW3r8FGtZCDuN8+0nHLqy19hRBMLaLU+JClqHZOo0f0Wd0KNnoxSNuprlkSud q+nijvrC88b0fmEbi2MQqSrLBOhL6xD4DDGuIHDIH6S37EJ3+OAizwdu+q1Zw0dA4UgiQP tFc9pBf7a2RRQMqQ1zL6baCtR8+Zyd/46HicERfWhywnp6cg5JTTwFJ3K8Bw9jgWMQMWGU 8RN89hBbX0/pe5pkJN00VTO5h3jpD0JONed4Z4y+nMCkE0pd5rDNcXsoW18qjIdLh6olYb P9vhg2n0E4SEgpltRMPBXVYJRdfIVJDSJ72hp9ISChoOh+yTJPh9TbyWzk1msg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048970; a=rsa-sha256; cv=none; b=esM+dFaMvuueBhmGfN+1SzBZCYM0w0Yhgdjn2DTJrH9ufP1B2jTsMmlzQsY6NjkfpnItuP Wwyc7N+LzatVvCCs1jbSxYN2mN0AFZ2o1tLaCSxGBlkm3SYHi/TZWsdDPFOaBf15s67TGe wP66KoFY4QscYpIe+slXDtNMxttce14ukW7CYbZpL5OyF84CPllyt6rYuw2nWOXtD3MfVq wKqWftlF23AX4R2dfIZP/1Uy3twqdhF+ZwwqW66suJ2TMmxSUG0cHfIyFpAwAQdADlOwBb rbY5n3Ptp5DNp0LAhaHcyukTjUv1bGzqzZSLtmVV1jgSdkfyMHTa3kO7+Jrmvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3G1spJzMpY; Fri, 17 Mar 2023 10: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 32HATUF0067459; Fri, 17 Mar 2023 10: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 32HATUsc067458; Fri, 17 Mar 2023 10:29:30 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:30 GMT Message-Id: <202303171029.32HATUsc067458@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 1606dd1d87f7 - stable/13 - libvmm: add missing ioctl's to vm_ioctl_cmds List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1606dd1d87f7b3a1844bed239b1bf916208a4436 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=1606dd1d87f7b3a1844bed239b1bf916208a4436 commit 1606dd1d87f7b3a1844bed239b1bf916208a4436 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:33:58 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:34 +0000 libvmm: add missing ioctl's to vm_ioctl_cmds Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38866 (cherry picked from commit 755dcd5e49133e18b735de3e53f3bc79a8377082) --- lib/libvmmapi/vmmapi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 0c994778dd10..451d679dbbba 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -1753,7 +1753,8 @@ static const cap_ioctl_t vm_ioctl_cmds[] = { VM_RUN, VM_SUSPEND, VM_REINIT, VM_ACTIVATE_CPU, VM_GET_CPUS, VM_SUSPEND_CPU, VM_RESUME_CPU, VM_SET_INTINFO, VM_GET_INTINFO, VM_RTC_WRITE, VM_RTC_READ, VM_RTC_SETTIME, VM_RTC_GETTIME, - VM_RESTART_INSTRUCTION, VM_SET_TOPOLOGY, VM_GET_TOPOLOGY + VM_RESTART_INSTRUCTION, VM_SET_TOPOLOGY, VM_GET_TOPOLOGY, + VM_SNAPSHOT_REQ, VM_RESTORE_TIME }; int From nobody Fri Mar 17 10:29:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3H4cB1z3yBWw; Fri, 17 Mar 2023 10:29: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 4PdL3H3gfFz3GyF; Fri, 17 Mar 2023 10:29:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3cccghnQ6dK8VYnimsou+sTOzjs6LRa/eRTBwCnfc8A=; b=V0sEeK22Pdd2HCU/cSD+GcQ3YPFT01o9C4UeMFMaq0YiBmjcnO5XQzb/6VUUr/KI5jleIA MVZQBeuu+2xzT6TNLIV5rOfJHx/sHfn/Up0fTIw0HQz1naUzS0oQBiQBF5e6vJ4LzHDK5I so4Zi8tn8kLTa8a5sf86Q8IQuYGLancaASRL4cvWZUmEW3TE2VkCiW4LRN/I22Mw4HUpkQ kFbDUj2GKkV3eQES58wgF5xTJn4Q/xN7ePOF38l7yqnPDOSN1+1iJFrpBbFHy93Um/Vpsw w20qeVPedhB7mj1gv1DJgnBYHAabfRxRrgirX1bOMYMqJ3ZZbNmcsQxLugSU9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3cccghnQ6dK8VYnimsou+sTOzjs6LRa/eRTBwCnfc8A=; b=mSIgzvFAYT4SANrjz/6GDRFy1d90zJIXCw1xB0JiAlZw4q4VzHIXxMoqWKWGtl30H2YkeN brj+RJIoIIFnG+tiYPtU7MO0/Bs/G5OdJYUiv1boFvKkTS95AUTIfZbHrA2tvjoqF9bqxC /Cfl6p/PE6bQLRyp9Mwbd5jzVXXVdYa/x4TeLKtHSGa9WfQwii00Lol3mYKwC6JyZFLwoQ pGhzZPJl0uYRkp2PQJ6Moi89o3WgDB79nPxC5F/BVp167QDaql4s0n1q0ewcy7U4SgnRNL eEsXVxJtV6ka0b+mTGHbhhKMAfhzZhmZGTpMu5v9Wd8BqGCa+BCc3Tbzy6hhnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048971; a=rsa-sha256; cv=none; b=xr08zPOqr6jGsV57vGqVyKz6s3qL+jrzh1xoKMkeNlleiZVWIZ2H7vOytQ+NAPNqgRgUUy +npa3H0MiN1nIWtou+mtSEJkvxwibKm+pK2ysbd8xiW3uwkBxvkOSuMJs8vnM6Hr8y640q tpllaorBH9E061EhVBCHJqDlRTN5Iohp/emle6uwyW43f6Q4vfJXy6e8Pev/om5FpLpuYS wnR/hxhC7nDHI0HA85JQvfZeapp49rUy11umdZzJeDvOgRFyepiQZxDnTJS+42WfLm2p4G fO4mX8fJUirjWnHwoMUCLhJppuW+VSrTHuVDbVhfIPUMJ11qBdPVX0QKfaXs3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3H2dG2zMjx; Fri, 17 Mar 2023 10:29: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 32HATVOb067484; Fri, 17 Mar 2023 10:29:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATV48067483; Fri, 17 Mar 2023 10:29:31 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:31 GMT Message-Id: <202303171029.32HATV48067483@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: c8b5f347317d - stable/13 - bhyve: don't flush readonly device at blockif_pause List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c8b5f347317d1d0dca53acf2f40682314ad0b64e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=c8b5f347317d1d0dca53acf2f40682314ad0b64e commit c8b5f347317d1d0dca53acf2f40682314ad0b64e Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:35:17 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:34 +0000 bhyve: don't flush readonly device at blockif_pause Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38855 (cherry picked from commit 5c0a03125988b89610f61a1bb2137b0e29d7cf31) --- usr.sbin/bhyve/block_if.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index f2e60f865f78..edf191491de1 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -993,7 +993,7 @@ blockif_pause(struct blockif_ctxt *bc) pthread_cond_wait(&bc->bc_work_done_cond, &bc->bc_mtx); pthread_mutex_unlock(&bc->bc_mtx); - if (blockif_flush_bc(bc)) + if (!bc->bc_rdonly && blockif_flush_bc(bc)) fprintf(stderr, "%s: [WARN] failed to flush backing file.\r\n", __func__); } From nobody Fri Mar 17 10:29:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3J6WpXz3yBV3; Fri, 17 Mar 2023 10:29: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 4PdL3J4KhMz3Gym; Fri, 17 Mar 2023 10:29:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oJzSkw+QaoseRBlUk77FifLRg/795Q1CgFh83hjox3s=; b=o6LlwN0MCqIp28nmA7WW+W0cuSJs+EpxUJ4z+28528fOMMQQVrc70HZf7UpYtKM8b7a/16 pm6uBr6TXI7w8KU8g9MCLJaeOqLQBfKmUEudNGWpRtBZifSF//p04Ahuw9qTS+WT940wda P0yapr/hVgbGkVRMM2u0POtgmYFspGCz4sODxP+YU+sDqzrMtzVFLmyzVQchY+jL0UNdN8 Kp+xD1lcgI/IB/uLeZsRTtL4/sgk5Ce1u9k80UUzdTNn9OxKCIi7HqYIfUUANd36lRFoLt TthJ8LoXC8C8A+qt2W8Ht5MpaPps1hXPqUG8rKe9n4Tp7jJ7eNV/wdtkvxBPnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oJzSkw+QaoseRBlUk77FifLRg/795Q1CgFh83hjox3s=; b=BbJ1AsTIb5fIXY8s174b3eWpmErzYZ04FekAvFZ3QnXd8OP1+P8xSY4EvxixDz1stDDwUE w61kWJbBgMYCW/XJyKpr62wMF216IddlDiriFyup10VS8mcYSDgCQip5rR+WEFojtq4WmV jsbnK1ByghDe5MxkDUY4RmiODaUxKaGSDer4wsf/mNPrO/bOxoFQwTagw2jCnTerQAde6v NqhFV6pVC4cEzNCbSaNFuCLJcOdh7k8mQqh0Arj3uvk9yxNXcATwSRoGDchwJVl1rOyIIJ IrNsVPT7FjID1meGzDRNEFqgOe9W9RWj996fGTZqvXC9ykIEe4kiMDG2tVUaCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048972; a=rsa-sha256; cv=none; b=E7OggwJsWZHcPQ51+d4TY/YtIi1upd1kot4/GjxjSazIk0jma2vLbN4iQ8D2DQeNCxoCps HNpamVyBuY3OmH9rRBgIe32HRWEf+RdcBPyjD2YMVM4WqQHOaYZT8ecxubEolxBfOC7FRb ec8NXpGUEScY98NlyCEbWY+/YtfNNgRERh61qq7gqBdl8gqWr6iZ2NTMrR8c/mHXeaU2dd UCjAJ/CRA4tN+BcdBeWiAtgibs5RrCuROwlHzAhAr8Vg2eOvOuP74Yr0VsQXFLhAY+pERt lsePqu9xqXoGInj+TrmnZtlxN84I7B4iz2pxxeYs0rN2i57Ww+vefRlh1X9J9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3J3QQlzMpZ; Fri, 17 Mar 2023 10:29: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 32HATW5x067509; Fri, 17 Mar 2023 10:29:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATWqe067508; Fri, 17 Mar 2023 10:29:32 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:32 GMT Message-Id: <202303171029.32HATWqe067508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 2193f12bf8db - stable/13 - bhyve: add cap limits for ipc socket List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2193f12bf8db21ed1c99dbe02573bb0705a1466e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=2193f12bf8db21ed1c99dbe02573bb0705a1466e commit 2193f12bf8db21ed1c99dbe02573bb0705a1466e Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:36:40 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:35 +0000 bhyve: add cap limits for ipc socket Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38856 (cherry picked from commit 577ddca90877e377e5b40c8baa15fa5b7a3c9965) --- usr.sbin/bhyve/snapshot.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 6143f6f3a489..37aba32a1929 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1517,6 +1517,9 @@ init_checkpoint_thread(struct vmctx *ctx) int socket_fd; pthread_t checkpoint_pthread; int err; +#ifndef WITHOUT_CAPSICUM + cap_rights_t rights; +#endif memset(&addr, 0, sizeof(addr)); @@ -1547,6 +1550,13 @@ init_checkpoint_thread(struct vmctx *ctx) goto fail; } +#ifndef WITHOUT_CAPSICUM + cap_rights_init(&rights, CAP_ACCEPT, CAP_READ, CAP_RECV, CAP_WRITE, + CAP_SEND, CAP_GETSOCKOPT); + + if (caph_rights_limit(socket_fd, &rights) == -1) + errx(EX_OSERR, "Unable to apply rights for sandbox"); +#endif checkpoint_info = calloc(1, sizeof(*checkpoint_info)); checkpoint_info->ctx = ctx; checkpoint_info->socket_fd = socket_fd; From nobody Fri Mar 17 10:29:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3L1FrVz3yBcK; Fri, 17 Mar 2023 10:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL3K5FlYz3GtP; Fri, 17 Mar 2023 10:29:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uwJ6q8tE+aV4CUyx/9jsMk+Zqwh0JvTznUJykzTKJpE=; b=DMbfqKtOD8CyO0G3mKw2v4qKzrdVPpCTKxwV/BHWKLwijeOyIiU7Z6yKREibD/Uibr+z+1 H02wJqAbIjrNtevetGnYClDiHbKeorFFIStWfkN2HyVDZSDHtj+uJy1x/Ju24pYDuXTuE7 mVZ9y53uhh8Zuspx+ZOlzJXXajlxJeg8BrBcBFb9bK1sKEXwdFtAHAdOamx+nrJAz9Kgep 7myUbIQZ5imudIo/KSVTdpnRwke1jHNQ7dpxPSY9ORaGVGUI3rtHwWAULxkWwEVqnkf9M/ 2Tlz+i46r+5D3yJGEONWijFDdxKWDWrKmcDaX11CXea4opa6RiB/SM9/qJzPpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uwJ6q8tE+aV4CUyx/9jsMk+Zqwh0JvTznUJykzTKJpE=; b=pNRgBOfmkZNk3vOlWUGjnSqyYTZr33coZS9kdiDoR1LIFd+RWU4s4BShOUbumOb4tOj4Zu FE3KXHAVMggOZ8AgDy475ZHXUHktGL/jgr34BcoRBg6G/xOZtZ5Xukg/085yv44MEukOlH sUVXbTmfjZH+OSAMJhs93xK0d+zWKA6S6TJr5HGnKxMIVFOLIDbBBITAL+pMA7Z5DPsTlU RfKnUHtlbh+eMeun+Gbb6NrTToJsyPNQ92p05HCDXzEk9pUmxQLA1ZWjkSF0vDrghq9CT/ VIRbkn18N25GO/rE7+JiY5WAgM0gVW19JXlWMnpI60GvomZVBonmksBvpJOTRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048973; a=rsa-sha256; cv=none; b=k585aIglGmnVgW8bF4WNzPAmRdbCEI23H97tve/svEZ7mxzCsEfQpbT1ij7/JlvzjiHCEK yu58UdKO7bfUZ2hAt3k1ndwxReHBR+M4G/ojZDTf3LBTV2qbudXhAzmSk9jpTUeXB8dE72 F4XqrXb4bD1uBcm6Jf75DxqzQEE0ojvh70AKMygbVAlfCfyji5atNe//FJ4b9u5UvrMVfM r0GL4K4wny43Kf7wyhqoK/0CQJszqYFlNWxhQTsgddamP81VT37G/8TP/i7/GlU4GjBHCX 2cyPt16XtbPKR4vtvHzXhLrp+b8nQy1vXKTr89lxZDqW9nK1wZrYK06SzIuTAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3K4MMbzMLy; Fri, 17 Mar 2023 10:29: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 32HATXeM067533; Fri, 17 Mar 2023 10:29:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATX5Q067532; Fri, 17 Mar 2023 10:29:33 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:33 GMT Message-Id: <202303171029.32HATX5Q067532@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 6efb053bea5f - stable/13 - bhyve: exit with EX_OSERR if init checkpoint or restore time failed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6efb053bea5f94e2c29adafcaf5b9c56d99fa220 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=6efb053bea5f94e2c29adafcaf5b9c56d99fa220 commit 6efb053bea5f94e2c29adafcaf5b9c56d99fa220 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:30:54 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:35 +0000 bhyve: exit with EX_OSERR if init checkpoint or restore time failed Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38872 (cherry picked from commit d213429e42d48c7de56baf60befd5d953654d337) --- usr.sbin/bhyve/bhyverun.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 3ff83f55474b..bf7b4856a2b4 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1579,12 +1579,13 @@ main(int argc, char *argv[]) /* * checkpointing thread for communication with bhyvectl */ - if (init_checkpoint_thread(ctx) < 0) - printf("Failed to start checkpoint thread!\r\n"); + if (init_checkpoint_thread(ctx) != 0) + errx(EX_OSERR, "Failed to start checkpoint thread"); if (restore_file != NULL) { destroy_restore_state(&rstate); - vm_restore_time(ctx); + if (vm_restore_time(ctx) < 0) + err(EX_OSERR, "Unable to restore time"); for (int i = 0; i < guest_ncpus; i++) { if (i == BSP) From nobody Fri Mar 17 10:29:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3L73RDz3yBV9; Fri, 17 Mar 2023 10:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PdL3L6GBJz3HHq; Fri, 17 Mar 2023 10:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GNNeFJSuc5hCIfoEYbFvl7fckekEIzq4OT9cs9rkGqI=; b=xYIaSus6UoNHjkCaw545tQBoWIYnfM0TspF8JRvwuLnEj9OzJG1Nhe9V/30djTQcFbMq78 ScO1B3VGPI4tEFHDrMXcKNbjBDtCpIWg4124Dpi6zI8tGbDGnlNejDj15Q+bRLdAxKtvUS EmCPJi/H7l4x4Xig2ZBOExugZrHrOwApp1BX+s3CGU3BA668yTvjJR5C8GY1EDnEE7M/RF AoqefrkFdkh4H3pSiCMFiTguyLec9I2NSf7mqG8m2ptsFA5G21xDzlC/DQDdgATTDox57e boupOtdn/hvoULbnR8fbAKSz3siVg9i1sbpYkbqUMejBXkt+PsbX7O66sYtq6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GNNeFJSuc5hCIfoEYbFvl7fckekEIzq4OT9cs9rkGqI=; b=giooklYibxnASmDeTJcq+A5SdZ+2IAaKrWI6XaLT3Ik26wQiTMMfVxlEmwEclgd8wd3whM ZgcPH1qHcGa7Qz66R45P6iDQMOWjM89CWI9upUYLtRny2TQJEai9vXON360tgC4qSAwh43 Ne33Ge1KjDq+9qVL+WJk33Y/I6B7MUoopCIwzASyMKv0G4LGwB0pMxPfMQWvoFhp4SQ44H ziuJ8tmdQqZr0GjXwF+7A99cy8maUyfV3HBjDy9qerzUBg9EXl5puV59Vt7WHNLdtyKsjb XNhBiXZv9YWSZrImhZGJjnsZirdXDjGdnLheyDeHrdZndw9bRlE73OkRpyHhig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048974; a=rsa-sha256; cv=none; b=sF3DDZ+cWn+HE5L8CN+Ht/zMqTcw8CqgLzaRlr6177TsHWgDytvpbHYO1UdVI7gfuDMfFv 5jOtuPLHy0A/fJpiSbNXYvm74MqkGMjsYwLJO3Ps4/BJv4sJhmd2Z4ZyfFI1bASoGKlfi8 7weAL9kVjVJ3VND1RJFn2pmTiSSn0ZMqUG3YFA2GI/r4ESVKJDTz7l36+zQY8NW9rRa4dp x4kW0g3evbtv33PF85tTbDbeE6SZis4Vcdsy/Ue+ZEIeDUAlsQUsN5ABmsL32lqZxfHVnb rX0V4i6WwEbk8N907I/W6oUg80iAA2MLPWU8WKpWIiL45MGkCsP3MRpSM157AA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3L5DZ7zMM0; Fri, 17 Mar 2023 10:29: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 32HATYK3067564; Fri, 17 Mar 2023 10:29:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATYxm067563; Fri, 17 Mar 2023 10:29:34 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:34 GMT Message-Id: <202303171029.32HATYxm067563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: c8ec366fd73e - stable/13 - bhyve: init checkput before caph_enter List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c8ec366fd73ecf80348e2a7b019d56aeac0a9f00 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=c8ec366fd73ecf80348e2a7b019d56aeac0a9f00 commit c8ec366fd73ecf80348e2a7b019d56aeac0a9f00 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:35:21 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:35 +0000 bhyve: init checkput before caph_enter init_checkpoint_thread binds to a socket. Bhyve isn't allowed to do that after caph_enter. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38857 (cherry picked from commit 9a9a248964696f45260ea026aa5f9174cc86b137) --- usr.sbin/bhyve/bhyverun.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index bf7b4856a2b4..702ef0e12690 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1562,6 +1562,17 @@ main(int argc, char *argv[]) */ setproctitle("%s", vmname); +#ifdef BHYVE_SNAPSHOT + /* initialize mutex/cond variables */ + init_snapshot(); + + /* + * checkpointing thread for communication with bhyvectl + */ + if (init_checkpoint_thread(ctx) != 0) + errx(EX_OSERR, "Failed to start checkpoint thread"); +#endif + #ifndef WITHOUT_CAPSICUM caph_cache_catpages(); @@ -1573,15 +1584,6 @@ main(int argc, char *argv[]) #endif #ifdef BHYVE_SNAPSHOT - /* initialize mutex/cond variables */ - init_snapshot(); - - /* - * checkpointing thread for communication with bhyvectl - */ - if (init_checkpoint_thread(ctx) != 0) - errx(EX_OSERR, "Failed to start checkpoint thread"); - if (restore_file != NULL) { destroy_restore_state(&rstate); if (vm_restore_time(ctx) < 0) From nobody Fri Mar 17 10:29:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PdL3N0ngHz3y9rL; Fri, 17 Mar 2023 10:29: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 4PdL3N0GVnz3HNZ; Fri, 17 Mar 2023 10:29:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOEO1ibatqtV8Wwvi9ZoXm9UQpeDjF034e+WJjGc2J4=; b=GyCajnxuux8VtrpVdbIrl8Tp7zp64wyfUPicvxJtKZBlpkb6gVuyKUHenTynOijnJqwND/ 8BYN/wm8WHxk5L8991oo+pAoOXwvzMQ3fc4qKan4CErjQmwz8nULQUB18J9cenm7apRKjG 1kL6L4jSmUw65IrnN21bbpuNUmB42VcIUdlwP6Hki+ZR3t42QgYDEKywlxVdf6deYkBXb5 RR9xZtyHrNrnaTRUZCNsiloSbuQTKFzGKi+UspLJ4kZf1uTFfp0fpj8pW4sPjVkp34+pz4 YJuvwSybu35pBA2j/0Wy0CjBu+H2d4pK2RbqGLR+IVsuZYV2x/N4p1ZVXXyDwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679048976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOEO1ibatqtV8Wwvi9ZoXm9UQpeDjF034e+WJjGc2J4=; b=LbgMdmr+lCQVxv/I5T9mcV7YlZK7tqrmqj+FwKjFM1sA93sy0hARd0IL1i0x2RX869mini q0U8pBIXYd31Cm7nr1eu4aSnMeFquD+MOso3Fow2VBjtchAcElP1eM9geB2Ro/Kqd++1FI fmM4qg9VyuHd9lUokhH3ZUj5tNGcdT47nNWOU0Bndqwj7L4lbaj1k4UvdowcuCMaxqIMLn XQRwQmRZGg3ew+3swKl0aaFIXZ1BvGzR8l58Xei2NAT7BpuqbnsHeVEJeJvKnn+s8zMhO8 ztV4k0Yni7TlK4IpW/lKHKD5fttP5gKjupHXjEm/bnmxj73zruPZrQAFVw+GvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679048976; a=rsa-sha256; cv=none; b=IEcfYx/qIc4ZQHwKbkcuTD91QB+Ge9gAt7JZ1Nm/ynmUQYS25BNajTlCoMz2uK/YdfY3VM sZWNnfL6njCqZ38pezgRsLXnGLW5NewoQfdjbFv4poWjDVimZaObFAYbv3kWmc+hDmLweN zbMezh2riq5mypJeagigeiCwYFnMoO6RPYt1FfnOVYtEcT3MtuVmlwwAW5bu1QzqV9ivRH HM1h1oRYfGWmAddS1Cmow4eIMhN/GXK+HSb7e1Wlv/2Wbt94uwgyx28yWgoPR8QdQuBQLL k0pbMymd/oqQT7hDggebmtThHoLEp3m9CikD4hdcdQWwfWx2HXpOP++8/Kq5Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PdL3M62VgzMpb; Fri, 17 Mar 2023 10:29: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 32HATZeO067591; Fri, 17 Mar 2023 10:29:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HATZlE067590; Fri, 17 Mar 2023 10:29:35 GMT (envelope-from git) Date: Fri, 17 Mar 2023 10:29:35 GMT Message-Id: <202303171029.32HATZlE067590@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 4e10f8056b24 - stable/13 - bhyvectl: don't permit using --suspend and --checkpoint at same time List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4e10f8056b24df320fdc0c2d520461e3155597d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=4e10f8056b24df320fdc0c2d520461e3155597d3 commit 4e10f8056b24df320fdc0c2d520461e3155597d3 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:42:15 +0000 Commit: Corvin Köhne CommitDate: 2023-03-17 10:26:35 +0000 bhyvectl: don't permit using --suspend and --checkpoint at same time When using the --suspend and --checkpoint parameter, bhyvectl will produce two checkpoint images and the exits. This is slightly ambiguous. So, permit only one of theses parameters at the same time. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38887 (cherry picked from commit 062f2818c1ad35bdc3d520c7572e3cefda657770) --- usr.sbin/bhyvectl/bhyvectl.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 4aa235e00489..e5789eaf30e8 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -86,8 +86,7 @@ usage(bool cpu_intel) " [--create]\n" " [--destroy]\n" #ifdef BHYVE_SNAPSHOT - " [--checkpoint=]\n" - " [--suspend=]\n" + " [--checkpoint= | --suspend=]\n" #endif " [--get-all]\n" " [--get-stats]\n" @@ -299,7 +298,6 @@ static int unassign_pptdev, bus, slot, func; static int run; static int get_cpu_topology; #ifdef BHYVE_SNAPSHOT -static int vm_checkpoint_opt; static int vm_suspend_opt; #endif @@ -1743,7 +1741,7 @@ main(int argc, char *argv[]) struct tm tm; struct option *opts; #ifdef BHYVE_SNAPSHOT - char *checkpoint_file, *suspend_file; + char *checkpoint_file = NULL; #endif cpu_intel = cpu_vendor_intel(); @@ -1905,12 +1903,12 @@ main(int argc, char *argv[]) break; #ifdef BHYVE_SNAPSHOT case SET_CHECKPOINT_FILE: - vm_checkpoint_opt = 1; - checkpoint_file = optarg; - break; case SET_SUSPEND_FILE: - vm_suspend_opt = 1; - suspend_file = optarg; + if (checkpoint_file != NULL) + usage(cpu_intel); + + checkpoint_file = optarg; + vm_suspend_opt = (ch == SET_SUSPEND_FILE); break; #endif default: @@ -2385,11 +2383,8 @@ main(int argc, char *argv[]) vm_destroy(ctx); #ifdef BHYVE_SNAPSHOT - if (!error && vm_checkpoint_opt) - error = snapshot_request(vmname, checkpoint_file, false); - - if (!error && vm_suspend_opt) - error = snapshot_request(vmname, suspend_file, true); + if (!error && checkpoint_file) + error = snapshot_request(vmname, checkpoint_file, vm_suspend_opt); #endif free (opts); From nobody Fri Mar 17 20:18:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdb6w2h0Wz3ynVR; Fri, 17 Mar 2023 20:18: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 4Pdb6w20m3z3lDH; Fri, 17 Mar 2023 20:18:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679084312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r35x+Bup+KseP81CxuYIH+NueKFq2P/M7rsEUS2hoKQ=; b=wKaxmUiHCqKZ7aMPl3FXtJ9BjGatkW+68ChL2HzRWNqDhVGBNd6DpLpRpouln3U+oQTL2c PKl8iQsV7CTsLHB8VJz44kBorLFOrMk7KkNNUE/ox8cu1NC42K6kgVT955tP6k+2PvKMPH EeUh0bR27eMNRcFGtN6clj50/SqoNE/+rBy79gKflHBwPiShxQGdcFufLZow6oLx4nvTkT Ta3iaperrg39AZZ8LID6pBSpoQ+S0K4/Nnl3C4cZxjDZzzbXVWwInZhM26OSmbQ/bAQIQF hCE67MdkL7nY8/g5a20re3MJ6IfBIusqNo1QYBEK9YaD4wCgYIDQoj+MwhBB6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679084312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r35x+Bup+KseP81CxuYIH+NueKFq2P/M7rsEUS2hoKQ=; b=SfW9ALCF39nvtLdDG4fd0/Y9XtflWjGvMI/YIy5W69WLuylSAJz6JKUU9VGWpaM2YFBUlQ JjKMnhRveGq0uYgZtd+Y4C3YuTbmN2Eg2sebAQ/ursrT4oaFdvN4KXMbgebqtQS2rEqnpL NsKmUyZkXkbPDJz9E8aOSKUmcmbHx4RsjRssRM8cKBX/8iyE0jfmBUE/jY9jCp5EV9JRja 2Cy++uAsDxoW72OrVl/21Eq04dt5qAe/KN5RXuRI9sVvyvjQe8CYIODBYMfgRP+EGY+3Fv pi4qLhXCeods98e+If3MEpeexRlZeNi5aBVgJrQawpndoxIaHYTCkrVRBKSFeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679084312; a=rsa-sha256; cv=none; b=Fw2LCmcNvRUswNWVEG0Xl6NpYP8IwUgipSjCHzw6osFNfPNSJV3SUK/TlpHMgQLNeGNigB M3ZmIRua8Zd6ma+ijPoBB/bzZ4Nf54znQnWBEDkhSIr+XCUu4nB3jci8Ni+ECc9/w+XLJ8 BuAw/7PQS/xH7sOfMJUThAILjLVg15JEftLdiBOvO8VMND+ETBXnnKTX1eiJV/6X7yxrau 5J0PyE0MDB+k2ZK+2JeWsD2xfr8lBDaDp8/n1cuxoSBSnamoPbDF/dbvXWfrovNhzjJMVx 50WQr89tnqcS4DIAP9WcO223bxaNSOD+pd+XGMrHtbqpCTHSwFFF12WgM9EZaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdb6w14gnzfPX; Fri, 17 Mar 2023 20:18: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 32HKIWPU036744; Fri, 17 Mar 2023 20:18:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HKIWvr036742; Fri, 17 Mar 2023 20:18:32 GMT (envelope-from git) Date: Fri, 17 Mar 2023 20:18:32 GMT Message-Id: <202303172018.32HKIWvr036742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 84a739406d7a - stable/13 - intrng: sort includes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 84a739406d7abae6b6e081fccb30b88949d35a9e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=84a739406d7abae6b6e081fccb30b88949d35a9e commit 84a739406d7abae6b6e081fccb30b88949d35a9e Author: Mitchell Horne AuthorDate: 2023-02-04 17:04:30 +0000 Commit: Mitchell Horne CommitDate: 2023-03-17 19:55:45 +0000 intrng: sort includes MFC after: 3 days (cherry picked from commit 82e846df5bc20418b792f948fa5b558e523f0746) --- sys/kern/subr_intr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/subr_intr.c b/sys/kern/subr_intr.c index 16306c78cbd9..078f8e544f10 100644 --- a/sys/kern/subr_intr.c +++ b/sys/kern/subr_intr.c @@ -42,31 +42,31 @@ __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 #ifdef HWPMC_HOOKS #include #endif #include -#include #include +#include #include #include From nobody Fri Mar 17 20:18:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdb6x3V6Dz3ynY1; Fri, 17 Mar 2023 20:18: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 4Pdb6x2tMmz3lDh; Fri, 17 Mar 2023 20:18:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679084313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AHOZNewUsScxdTFAwNGa/H6NFuS3iUOGu7hxeoIWS34=; b=lTOhm1KZPfHDcwUzYeXr4YpvFGXToZPxt3IudIPcsfgkMzTPLBFAsn0tSzu9qwz7Ktqeq+ +yspKNuMuwxgljYgO7l/DtcCkbFhmZPecWfBfflivJLGNJ3EtQl/qO8EqdGPXSS8n0kaO7 htKZtPeb0kBh/6YmGYPXL8hf7f7lP4DC/3npUscak6zBLXm4hwhJsxrNewxkGmplPlbBZC 0a/6dO5+BqGOO5X3ByNlloi+6xXnW9NmMgsk8TgpefUS7IiG7Nptv+N4DzVatC+jFpNXoH 86/7CIargI7Zl2MeM9yuP53DD7emRwGXc/ZA9D/7ms/oL99mgZKG+CTDEWyI6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679084313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AHOZNewUsScxdTFAwNGa/H6NFuS3iUOGu7hxeoIWS34=; b=cEB2paD1w5cKJNx06/mQlM3Ow61bw6EJbjwS81vl9xYuC4+87bHkTDdKbzhQ9+MsAbWj67 z6xhckXc/OE7HkFTkJqm5vrC+ANKEfCTB8uOGcolP1rPCXRz72+Sic9OsyFPDcmlVshGcY d3sl85p45FYgVgL158h6FvBCbN1V0q2zT+XPxEaB50WK9zmIUjpP0DNJAwFTCPZ+WoQ+1k 0UXo4zsCt+arhViWSSY4sCYQk9PURj5Vo4bAidgcHmvVoXs6Qfkk95Sk6No0gNYxRKewPN BMAr2qt9Av+AnIX7hoyhecF1FcDq5ZvbIQP943VqVhzMPS6/NgkK2oYwQuX2Qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679084313; a=rsa-sha256; cv=none; b=JoZXUqvPf764FulfzVlNWuZjg3lU1PSkCFK2SiKArOhERta2YU3Dc3aofP8TPhAp1jJny3 OQGOvIEM3hCUzS43buAluGieD37nPaALpmjD8o2SDwadPcjcBy3Z2h2uhXR+B5h0oSuQG9 Xn09C1f4qSKBh0PkfR2/YioRO5SLUI4UnwD4pPihjRL1Au4MBsWdGc1eIhDLY+AVqzJWCn e5c6zUrcLvtu9Heolhwobe2UsiJrV/ST3ERz3TqwXL9w1shRmwP4qPkhhtr64HnlKqDRjs N01/ZSVf/oNGqFafAc3EJMgeaB0mjGhXKGuO8efZ++SiUsFKPuIazj09YBgYgQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdb6x1ysYzfPY; Fri, 17 Mar 2023 20:18: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 32HKIXxn036769; Fri, 17 Mar 2023 20:18:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HKIX6g036768; Fri, 17 Mar 2023 20:18:33 GMT (envelope-from git) Date: Fri, 17 Mar 2023 20:18:33 GMT Message-Id: <202303172018.32HKIX6g036768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: ae6e42b59e68 - stable/13 - intrng: track counter allocation with a bitmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ae6e42b59e6831c8a74620c99120d089a25efa84 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ae6e42b59e6831c8a74620c99120d089a25efa84 commit ae6e42b59e6831c8a74620c99120d089a25efa84 Author: Mitchell Horne AuthorDate: 2023-02-14 18:02:12 +0000 Commit: Mitchell Horne CommitDate: 2023-03-17 19:55:45 +0000 intrng: track counter allocation with a bitmap Crucially, this allows releasing counters, and interrupt sources by extension. Where before we were incrementing intrcnt_index with atomics, now we protect the bitmap using the existing isrc_table_lock mutex. Reviewed by: mmel MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D38437 (cherry picked from commit 28137bdb19aa34b8351108de4257795a93c0ba09) --- sys/kern/subr_intr.c | 54 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/sys/kern/subr_intr.c b/sys/kern/subr_intr.c index 078f8e544f10..f44291887e8c 100644 --- a/sys/kern/subr_intr.c +++ b/sys/kern/subr_intr.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -152,7 +153,8 @@ u_long *intrcnt; char *intrnames; size_t sintrcnt; size_t sintrnames; -static u_int intrcnt_index; +int nintrcnt; +static bitstr_t *intrcnt_bitmap; static struct intr_irqsrc *intr_map_get_isrc(u_int res_id); static void intr_map_set_isrc(u_int res_id, struct intr_irqsrc *isrc); @@ -166,7 +168,6 @@ static void intr_map_copy_map_data(u_int res_id, device_t *dev, intptr_t *xref, static void intr_irq_init(void *dummy __unused) { - u_int intrcnt_count; SLIST_INIT(&pic_list); mtx_init(&pic_list_lock, "intr pic list", NULL, MTX_DEF); @@ -177,17 +178,21 @@ intr_irq_init(void *dummy __unused) * - 2 counters for each I/O interrupt. * - MAXCPU counters for each IPI counters for SMP. */ - intrcnt_count = intr_nirq * 2; + nintrcnt = intr_nirq * 2; #ifdef SMP - intrcnt_count += INTR_IPI_COUNT * MAXCPU; + nintrcnt += INTR_IPI_COUNT * MAXCPU; #endif - intrcnt = mallocarray(intrcnt_count, sizeof(u_long), M_INTRNG, + intrcnt = mallocarray(nintrcnt, sizeof(u_long), M_INTRNG, M_WAITOK | M_ZERO); - intrnames = mallocarray(intrcnt_count, INTRNAME_LEN, M_INTRNG, + intrnames = mallocarray(nintrcnt, INTRNAME_LEN, M_INTRNG, M_WAITOK | M_ZERO); - sintrcnt = intrcnt_count * sizeof(u_long); - sintrnames = intrcnt_count * INTRNAME_LEN; + sintrcnt = nintrcnt * sizeof(u_long); + sintrnames = nintrcnt * INTRNAME_LEN; + + /* Allocate the bitmap tracking counter allocations. */ + intrcnt_bitmap = bit_alloc(nintrcnt, M_INTRNG, M_WAITOK | M_ZERO); + irq_sources = mallocarray(intr_nirq, sizeof(struct intr_irqsrc*), M_INTRNG, M_WAITOK | M_ZERO); } @@ -266,13 +271,17 @@ isrc_update_name(struct intr_irqsrc *isrc, const char *name) static void isrc_setup_counters(struct intr_irqsrc *isrc) { - u_int index; + int index; + + mtx_assert(&isrc_table_lock, MA_OWNED); /* - * XXX - it does not work well with removable controllers and - * interrupt sources !!! + * Allocate two counter values, the second tracking "stray" interrupts. */ - index = atomic_fetchadd_int(&intrcnt_index, 2); + bit_ffc_area(intrcnt_bitmap, nintrcnt, 2, &index); + if (index == -1) + panic("Failed to allocate 2 counters. Array exhausted?"); + bit_nset(intrcnt_bitmap, index, index + 1); isrc->isrc_index = index; isrc->isrc_count = &intrcnt[index]; isrc_update_name(isrc, NULL); @@ -284,8 +293,11 @@ isrc_setup_counters(struct intr_irqsrc *isrc) static void isrc_release_counters(struct intr_irqsrc *isrc) { + int idx = isrc->isrc_index; - panic("%s: not implemented", __func__); + mtx_assert(&isrc_table_lock, MA_OWNED); + + bit_nclear(intrcnt_bitmap, idx, idx + 1); } #ifdef SMP @@ -298,11 +310,25 @@ intr_ipi_setup_counters(const char *name) u_int index, i; char str[INTRNAME_LEN]; - index = atomic_fetchadd_int(&intrcnt_index, MAXCPU); + mtx_lock(&isrc_table_lock); + + /* + * We should never have a problem finding MAXCPU contiguous counters, + * in practice. Interrupts will be allocated sequentially during boot, + * so the array should fill from low to high index. Once reserved, the + * IPI counters will never be released. Similarly, we will not need to + * allocate more IPIs once the system is running. + */ + bit_ffc_area(intrcnt_bitmap, nintrcnt, MAXCPU, &index); + if (index == -1) + panic("Failed to allocate %d counters. Array exhausted?", + MAXCPU); + bit_nset(intrcnt_bitmap, index, index + MAXCPU - 1); for (i = 0; i < MAXCPU; i++) { snprintf(str, INTRNAME_LEN, "cpu%d:%s", i, name); intrcnt_setname(str, index + i); } + mtx_unlock(&isrc_table_lock); return (&intrcnt[index]); } #endif From nobody Fri Mar 17 21:01:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4L1Rywz3yqbV; Fri, 17 Mar 2023 21:01: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 4Pdc4L0R7cz3pfK; Fri, 17 Mar 2023 21:01:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+nl4e/8llDu9T3WtywmcKfNWysLbSH0vwQzDPbAR9Q=; b=Ldjf2/UzhXzkR2o1BtPH0lm5BaDS4W+xiJVzIoX3eex0yAAjn+QRF18MqAVxU4g/SsOupY n+vlG5NWya90ZWXk3owHwNuK/2WpjIitdf6m2Y3Vk5NPJkgijLhxW8/yaqAShdj6QVXmxV OWqUh/jQZwQnI5FYYTQsEdCCkQBU0AC/Oqfo6XFSkhgeWRhjlISDny/H7tR8odd9VBhWGx ZacsClJAUtDl3GgId/e219eHsd2SvTqR/Ui3AlqYrmaDMDBUOF023LtOPaE3GVX5/7BCkf UZeLPXPEfSGZ5TiE5aIBSBEL5YZuj7MvGF7nAWGXt6J3UKpABRidazQe4Z/nnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+nl4e/8llDu9T3WtywmcKfNWysLbSH0vwQzDPbAR9Q=; b=YsU7gIdnmuw/trB8FeHBHs165e2VKsIeDUBhvPJltu/IZLEc1iNyfbPudVLVRxKC95EGVs VT2EWL5TExoRXf87/WIC1bWQQ555DTNeqV1cuv+9PxY/kf930lsxOanVNPgOfbzYVwqupA ew0EBz2BV9Ov7ndwtzLh4yT2pozeUCFszdWtTr5c//SOUC/kxNVyCMJI/+gh/HBbu+pJ3G rsPPZjTqJ3ryUpBdOGyV+8A8tO9AT2tMBLhq42KgaczDH8hp6dAWpLuYMQvSCmpSBnKV9a WZX24xlXyRnZyYDtMiQljYZ8Z9RE+mfW1Ko4idf64YAoj/M6z0j2v2+2ize39Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086882; a=rsa-sha256; cv=none; b=vnIW5Rp3auxsZyFfLNm5vQa4e7fRnwqXwKbQDkBiMhuCS32h92Wx5POSR8ExVAqDT2/yDf n4+FVmHCkh4NAnzi3OIbtbCW8ZEfpISzr6jo7g7NE3wBoAdoHhh5/t7eGGhqw36yr/R8im 4K5TK4eqQn3Uhvq3nlhE9m82j9UQm0vRbAgAw7rx5IVQdaK3WSIB8ZiBvgWrVFEEBYBJO9 47ta3wgbMHe2m1oK2SoOPs6v5LDi3hm3JOC4o5f5VF/W9+xRIFShHNBaCJDfD+mNxLmR5v FrxgI+X8JV2iP+idthD6Mn+C8jcMQrkpP98Cz1BeDghIXysAOHGnjq+Epy31aA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4K6bXWzgjq; Fri, 17 Mar 2023 21: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 32HL1Lpe014933; Fri, 17 Mar 2023 21: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 32HL1LHI014932; Fri, 17 Mar 2023 21:01:21 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:21 GMT Message-Id: <202303172101.32HL1LHI014932@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 282e4cf32d4e - stable/13 - daemon: add long_opts List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 282e4cf32d4eaf53b746358b83515a333e8b6c72 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=282e4cf32d4eaf53b746358b83515a333e8b6c72 commit 282e4cf32d4eaf53b746358b83515a333e8b6c72 Author: Ihor Antonov AuthorDate: 2023-02-10 04:36:07 +0000 Commit: Kyle Evans CommitDate: 2023-03-17 21:01:01 +0000 daemon: add long_opts Long options improve readability of scripts, makes code comprehension easier. This patch adds long options while preserving the existing CLI interface. Also --help/-h option is added. Reviewed by: allanjude, pauamma (both earlier versions), kevans Differential Revision: https://reviews.freebsd.org/D38244 (cherry picked from commit 0a402ad2e6d6014ed8c622a90153f53b99c1b482) --- usr.sbin/daemon/daemon.8 | 71 +++++++++++++++++++++---------------------- usr.sbin/daemon/daemon.c | 78 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 98 insertions(+), 51 deletions(-) diff --git a/usr.sbin/daemon/daemon.8 b/usr.sbin/daemon/daemon.8 index c4f20548d4a2..3b91b9b20f3d 100644 --- a/usr.sbin/daemon/daemon.8 +++ b/usr.sbin/daemon/daemon.8 @@ -57,10 +57,10 @@ log file. .Pp The options are as follows: .Bl -tag -width indent -.It Fl c +.It Fl c , Fl -change-dir Change the current working directory to the root .Pq Dq Pa / . -.It Fl f +.It Fl f , Fl -close-fds Redirect standard input, standard output and standard error to .Pa /dev/null . When this option is used together with any of the options related to file @@ -68,35 +68,35 @@ or syslog output, the standard file descriptors are first redirected to .Pa /dev/null , then stdout and/or stderr is redirected to a file or to syslog as specified by the other options. -.It Fl H +.It Fl H , Fl -sighup Close .Pa output_file and re-open it when signal SIGHUP is received, for interoperability with .Xr newsyslog 1 and similar log rotation / archival mechanisms. If -.Fl o +.Fl -output-file is not specified, this flag is ignored. -.It Fl S +.It Fl S , Fl -syslog Enable syslog output. This is implicitly applied if other syslog parameters are provided. The default values are daemon, notice, and daemon for facility, priority, and tag, respectively. -.It Fl o Ar output_file +.It Fl o , Fl -output-file Ar output_file Append output from the daemonized process to .Pa output_file . If the file does not exist, it is created with permissions 0600. When this option is used together with options -.Fl c +.Fl -change-dir and -.Fl H +.Fl -sighup the absolute path needs to be provided to ensure .Nm can re-open the file after a SIGHUP. -.It Fl m Ar output_mask +.It Fl m , Fl -output-mask Ar output_mask Redirect output from the child process stdout (1), stderr (2), or both (3). This value specifies what is sent to syslog and the log file. The default is 3. -.It Fl p Ar child_pidfile +.It Fl p , Fl -child-pidfile Ar child_pidfile Write the ID of the created process into the .Ar child_pidfile using the @@ -112,9 +112,9 @@ The owner is the user who runs the .Nm regardless of whether the -.Fl u +.Fl -user option is used or not. -.It Fl P Ar supervisor_pidfile +.It Fl P , Fl -supervisor-pidfile Ar supervisor_pidfile Write the ID of the .Nm process into the @@ -132,45 +132,46 @@ The owner is the user who runs the .Nm regardless of whether the -.Fl u +.Fl -user option is used or not. -.It Fl r +.It Fl r , Fl -restart Supervise and restart the program after a one-second delay if it has been terminated. -.It Fl R Ar restart_delay_seconds +.It Fl R , Fl -restart-delay Ar restart_delay_seconds Supervise and restart the program after the specified delay if it has been terminated. -.It Fl t Ar title +.It Fl t , Fl -title Ar title Set the title for the daemon process. The default is the daemonized invocation. -.It Fl u Ar user +.It Fl u , Fl -user Ar user Login name of the user to execute the program under. Requires adequate superuser privileges. -.It Fl s Ar syslog_priority +.It Fl s , Fl -syslog-priority Ar syslog_priority These priorities are accepted: emerg, alert, crit, err, warning, notice, info, and debug. The default is notice. -.It Fl l Ar syslog_facility +.It Fl l , Fl -syslog-facility Ar syslog_facility These facilities are accepted: auth, authpriv, console, cron, daemon, ftp, kern, lpr, mail, news, ntp, security, syslog, user, uucp, and local0, ..., local7. The default is daemon. -.It Fl T Ar syslog_tag +.It Fl T , Fl -syslog-tag Ar syslog_tag Set the tag which is appended to all syslog messages. The default is daemon. .El .Pp If any of the options -.Fl p , -.Fl P , -.Fl r , -.Fl o , -.Fl s , -.Fl T , -.Fl m , -.Fl S , +.Fl -child-pidfile , +.Fl -output-mask , +.Fl -restart , +.Fl -restart-delay , +.Fl -supervisor-pidfile , +.Fl -syslog , +.Fl -syslog-facility +.Fl -syslog-priority , +.Fl -syslog-tag , or -.Fl l +.Fl -output , are specified, the program is executed in a spawned child process. The .Nm @@ -187,21 +188,21 @@ If neither file or syslog output are selected, all output is redirected to the .Nm process and written to stdout. The -.Fl f +.Fl -close-fds option may be used to suppress the stdout output completely. .Pp The -.Fl P +.Fl -supervisor-pidfile option is useful combined with the -.Fl r +.Fl -restart option as .Ar supervisor_pidfile contains the ID of the supervisor not the child. This is especially important if you use -.Fl r +.Fl -restart in an rc script as the -.Fl p +.Fl -child-pidfile option will give you the child's ID to signal when you attempt to stop the service, causing .Nm @@ -229,7 +230,7 @@ cannot be opened for appending, and otherwise 0. If the command cannot be executed, an error message is printed to standard error. The exact behavior depends on the logging parameters and the -.Fl f +.Fl -close-fds flag. .Sh SEE ALSO .Xr nohup 1 , diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index e8cdaa230caa..edcdf3141fcc 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -77,11 +78,64 @@ static void open_pid_files(const char *, const char *, struct pidfh **, struct pidfh **); static void do_output(const unsigned char *, size_t, struct log_params *); static void daemon_sleep(time_t, long); -static void usage(void); static volatile sig_atomic_t terminate = 0, child_gone = 0, pid = 0, do_log_reopen = 0; +static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; + +static const struct option longopts[] = { + { "change-dir", no_argument, NULL, 'c' }, + { "close-fds", no_argument, NULL, 'f' }, + { "sighup", no_argument, NULL, 'H' }, + { "syslog", no_argument, NULL, 'S' }, + { "output-file", required_argument, NULL, 'o' }, + { "output-mask", required_argument, NULL, 'm' }, + { "child-pidfile", required_argument, NULL, 'p' }, + { "supervisor-pidfile", required_argument, NULL, 'P' }, + { "restart", no_argument, NULL, 'r' }, + { "restart-delay", required_argument, NULL, 'R' }, + { "title", required_argument, NULL, 't' }, + { "user", required_argument, NULL, 'u' }, + { "syslog-priority", required_argument, NULL, 's' }, + { "syslog-facility", required_argument, NULL, 'l' }, + { "syslog-tag", required_argument, NULL, 'T' }, + { "help", no_argument, NULL, 'h' }, + { NULL, 0, NULL, 0 } +}; + +static _Noreturn void +usage(int exitcode) +{ + (void)fprintf(stderr, + "usage: daemon [-cfHrS] [-p child_pidfile] [-P supervisor_pidfile]\n" + " [-u user] [-o output_file] [-t title]\n" + " [-l syslog_facility] [-s syslog_priority]\n" + " [-T syslog_tag] [-m output_mask] [-R restart_delay_secs]\n" + "command arguments ...\n"); + + (void)fprintf(stderr, + " --change-dir -c Change the current working directory to root\n" + " --close-fds -f Set stdin, stdout, stderr to /dev/null\n" + " --sighup -H Close and re-open output file on SIGHUP\n" + " --syslog -S Send output to syslog\n" + " --output-file -o Append output of the child process to file\n" + " --output-mask -m What to send to syslog/file\n" + " 1=stdout, 2=stderr, 3=both\n" + " --child-pidfile -p Write PID of the child process to file\n" + " --supervisor-pidfile -P Write PID of the supervisor process to file\n" + " --restart -r Restart child if it terminates (1 sec delay)\n" + " --restart-delay -R Restart child if it terminates after N sec\n" + " --title -t Set the title of the supervisor process\n" + " --user -u <user> Drop privileges, run as given user\n" + " --syslog-priority -s <prio> Set syslog priority\n" + " --syslog-facility -l <flty> Set syslog facility\n" + " --syslog-tag -T <tag> Set syslog tag\n" + " --help -h Show this help\n"); + + exit(exitcode); +} + int main(int argc, char *argv[]) { @@ -106,7 +160,7 @@ main(int argc, char *argv[]) log_reopen = 0; outfn = NULL; title = NULL; - while ((ch = getopt(argc, argv, "cfHSp:P:ru:o:s:l:t:l:m:R:T:")) != -1) { + while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': nochdir = 0; @@ -164,15 +218,18 @@ main(int argc, char *argv[]) case 'u': user = optarg; break; + case 'h': + usage(0); + __builtin_unreachable(); default: - usage(); + usage(1); } } argc -= optind; argv += optind; if (argc == 0) - usage(); + usage(1); if (!title) title = argv[0]; @@ -182,7 +239,7 @@ main(int argc, char *argv[]) if (outfd == -1) err(7, "open"); } - + if (dosyslog) openlog(logtag, LOG_PID | LOG_NDELAY, logfac); @@ -610,14 +667,3 @@ reopen_log(struct log_params *lpp) lpp->outfd = outfd; } -static void -usage(void) -{ - (void)fprintf(stderr, - "usage: daemon [-cfHrS] [-p child_pidfile] [-P supervisor_pidfile]\n" - " [-u user] [-o output_file] [-t title]\n" - " [-l syslog_facility] [-s syslog_priority]\n" - " [-T syslog_tag] [-m output_mask] [-R restart_delay_secs]\n" - "command arguments ...\n"); - exit(1); -} From nobody Fri Mar 17 21:01:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4M2L4hz3yqN6; Fri, 17 Mar 2023 21:01: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 4Pdc4M1kKmz3pQs; Fri, 17 Mar 2023 21:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8HkAOcq8iXCuRJPCuKv44A3sOciagTTQCp9gqw8Mj40=; b=uTjxObWWRHEIK3PWbgw0Cca/7f7CYPTRjjydZ2+7CGrnOuPv3nX5IetzovsMB78UTIw80n caMOA/mGVpxlWyJzP0spqY1S21xwKNuhbFG++tC7NydK+kgq2KCKz/xSYnUwiwe+3ZGux+ lrk/KbculRgV/LWcGOcTMXDScTysvXQCacR1/2jEDd5GFK3pKOjsKAhW/LdXSYFJcteu0/ wdykwcd5OW1vEiX5aCYeeT4tjxOT2J/DQu4UTW2+VHH5dsbJUihyRc4Pas2saBLPAUBa+o cKYD2C6/GQ2qArCgeHNV3L/DysYCZi+ly7HtWfqGMwKF7tzb2ihjN4cyNbpThg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8HkAOcq8iXCuRJPCuKv44A3sOciagTTQCp9gqw8Mj40=; b=ENkPAmwboJSxtLO7k0fONjdMnHfbH933sdwx7jraAOzZdBOWNxotnyUWbCkFNxPY2te6GJ /8j1+Hy1Li/qBkPzTkYjApaTaAz+hj+4wnRVjGvnrigqHeWAyNABYsCIt8vkminl+lPShd xLSX1CkHajtSQmF0f7ZqTe2N/FsMIwv+ZJovo6Z8OUTS3oYi1ozBIX1gGiUOQf6pNlRZui 5is1+P+N0HNS2JJMv46yqNg8O4TpSA7X372ry6BoCTMGwlWF9JeyKCZmeo/wifFXGSl+fb 57wC119K8rU/nYo2GFDPQ693G4w5aY1jhDwx59+pObzFLbe4hEbN/FLgh2Iz9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086883; a=rsa-sha256; cv=none; b=sbNPEF5VH3dXc3QBg6zfGWrKL6yVZwHHLIz+3guYXshslcG3qEPeyjRGd30hnS1gwhWWDh 5G33X2JEbies567Z9Ku6EbZdMYfiU3IfRAfYWYhV5wSwI/GWM6f+UxztdKgqUZY+iltl5e wDHwUM1yYrOhJgT3wzt7o+ZauGBHMnMsh5a3xqXfJBI2lHPmawzQ16K2AMan3/LosI8jd8 HrE2Dz+zSZjdbQZvh+ZIj9wxPU67RAC+GZU3k65oefb1rEUtY1RVIwkI5Nhe8EogfTk3Sd ij8bulG+dL1y4059BooZY+1RhrFTwjHt/P3FWt7CmHEBMBtO+hbKfEeffAyVVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4M0QR3zgNW; Fri, 17 Mar 2023 21:01: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 32HL1Mx1014953; Fri, 17 Mar 2023 21:01:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1MDk014952; Fri, 17 Mar 2023 21:01:22 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:22 GMT Message-Id: <202303172101.32HL1MDk014952@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 488cf4bb6fa1 - stable/13 - daemon: use braces with 'if' consistently List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 488cf4bb6fa1e43dfe923067fdde660a625948c6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=488cf4bb6fa1e43dfe923067fdde660a625948c6 commit 488cf4bb6fa1e43dfe923067fdde660a625948c6 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:41 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: use braces with 'if' consistently Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 6b4ef4b16a6930d91d0d99c4ceb75cd43a7526c1) --- usr.sbin/daemon/daemon.c | 81 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 27 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index edcdf3141fcc..f9c1f73e193c 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -173,14 +173,16 @@ main(int argc, char *argv[]) break; case 'l': logfac = get_log_mapping(optarg, facilitynames); - if (logfac == -1) + if (logfac == -1) { errx(5, "unrecognized syslog facility"); + } dosyslog = 1; break; case 'm': stdmask = strtol(optarg, &p, 10); - if (p == optarg || stdmask < 0 || stdmask > 3) + if (p == optarg || stdmask < 0 || stdmask > 3) { errx(6, "unrecognized listening mask"); + } break; case 'o': outfn = optarg; @@ -196,13 +198,15 @@ main(int argc, char *argv[]) break; case 'R': restart = strtol(optarg, &p, 0); - if (p == optarg || restart < 1) + if (p == optarg || restart < 1) { errx(6, "invalid restart delay"); + } break; case 's': logpri = get_log_mapping(optarg, prioritynames); - if (logpri == -1) + if (logpri == -1) { errx(4, "unrecognized syslog priority"); + } dosyslog = 1; break; case 'S': @@ -228,20 +232,24 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; - if (argc == 0) + if (argc == 0) { usage(1); + } - if (!title) + if (!title) { title = argv[0]; + } if (outfn) { outfd = open_log(outfn); - if (outfd == -1) + if (outfd == -1) { err(7, "open"); + } } - if (dosyslog) + if (dosyslog) { openlog(logtag, LOG_PID | LOG_NDELAY, logfac); + } ppfh = pfh = NULL; /* @@ -329,8 +337,9 @@ main(int argc, char *argv[]) goto exit; } restart: - if (pipe(pfd)) + if (pipe(pfd)) { err(1, "pipe"); + } /* * Spawn a child to exec the command. */ @@ -356,27 +365,32 @@ restart: /* Now that we are the child, write out the pid. */ pidfile_write(pfh); - if (user != NULL) + if (user != NULL) { restrict_process(user); + } /* * When forking, the child gets the original sigmask, * and dup'd pipes. */ if (pid == 0) { close(pfd[0]); - if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) + if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { err(1, "sigprogmask"); + } if (stdmask & STDERR_FILENO) { - if (dup2(pfd[1], STDERR_FILENO) == -1) + if (dup2(pfd[1], STDERR_FILENO) == -1) { err(1, "dup2"); + } } if (stdmask & STDOUT_FILENO) { - if (dup2(pfd[1], STDOUT_FILENO) == -1) + if (dup2(pfd[1], STDOUT_FILENO) == -1) { err(1, "dup2"); + } } if (pfd[1] != STDERR_FILENO && - pfd[1] != STDOUT_FILENO) + pfd[1] != STDOUT_FILENO) { close(pfd[1]); + } } execvp(argv[0], argv); /* @@ -436,8 +450,9 @@ restart: } } } - if (restart && !terminate) + if (restart && !terminate) { daemon_sleep(restart, 0); + } if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { warn("sigprocmask"); goto exit; @@ -451,8 +466,9 @@ exit: close(outfd); close(pfd[0]); close(pfd[1]); - if (dosyslog) + if (dosyslog) { closelog(); + } pidfile_remove(pfh); pidfile_remove(ppfh); exit(1); /* If daemon(3) succeeded exit status does not matter. */ @@ -464,8 +480,9 @@ daemon_sleep(time_t secs, long nsecs) struct timespec ts = { secs, nsecs }; while (!terminate && nanosleep(&ts, &ts) == -1) { - if (errno != EINTR) + if (errno != EINTR) { err(1, "nanosleep"); + } } } @@ -507,8 +524,9 @@ get_log_mapping(const char *str, const CODE *c) { const CODE *cp; for (cp = c; cp->c_name; cp++) - if (strcmp(cp->c_name, str) == 0) + if (strcmp(cp->c_name, str) == 0) { return cp->c_val; + } return -1; } @@ -518,11 +536,13 @@ restrict_process(const char *user) struct passwd *pw = NULL; pw = getpwnam(user); - if (pw == NULL) + if (pw == NULL) { errx(1, "unknown user: %s", user); + } - if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) + if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) { errx(1, "failed to set user environment"); + } setenv("USER", pw->pw_name, 1); setenv("HOME", pw->pw_dir, 1); @@ -546,8 +566,9 @@ listen_child(int fd, struct log_params *logpar) assert(logpar); assert(bytes_read < LBUF_SIZE - 1); - if (do_log_reopen) + if (do_log_reopen) { reopen_log(logpar); + } rv = read(fd, buf + bytes_read, LBUF_SIZE - bytes_read - 1); if (rv > 0) { unsigned char *cp; @@ -568,8 +589,9 @@ listen_child(int fd, struct log_params *logpar) memmove(buf, cp + 1, bytes_read); } /* Wait until the buffer is full. */ - if (bytes_read < LBUF_SIZE - 1) + if (bytes_read < LBUF_SIZE - 1) { return 1; + } do_output(buf, bytes_read, logpar); bytes_read = 0; return 1; @@ -601,16 +623,19 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) assert(len <= LBUF_SIZE); assert(logpar); - if (len < 1) + if (len < 1) { return; - if (logpar->dosyslog) + } + if (logpar->dosyslog) { syslog(logpar->logpri, "%.*s", (int)len, buf); + } if (logpar->outfd != -1) { if (write(logpar->outfd, buf, len) == -1) warn("write"); } - if (logpar->noclose && !logpar->dosyslog && logpar->outfd == -1) + if (logpar->noclose && !logpar->dosyslog && logpar->outfd == -1) { printf("%.*s", (int)len, buf); + } } /* @@ -620,8 +645,9 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) static void handle_term(int signo) { - if (pid > 0 && !child_gone) + if (pid > 0 && !child_gone) { kill(pid, signo); + } terminate = 1; } @@ -662,8 +688,9 @@ reopen_log(struct log_params *lpp) do_log_reopen = 0; outfd = open_log(lpp->outfn); - if (lpp->outfd >= 0) + if (lpp->outfd >= 0) { close(lpp->outfd); + } lpp->outfd = outfd; } From nobody Fri Mar 17 21:01:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4N3hplz3yqmd; Fri, 17 Mar 2023 21:01: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 4Pdc4N2XHtz3pWm; Fri, 17 Mar 2023 21:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RwSGAE5AD2Wrkh8GYdillLVV9WfyMZ0qVwxdu8C0sNI=; b=CxAG2alwfBevkuaI0Me03oVCDscEUeSYqGSl1dCzGWhe8CF26k2S79pGmnfDQoskioJJVg gs97uU/kq3T3uDQ/2NNyW25b30j+4DK2ur6ArOhnBt542JMV9Gw1CmCNuH8ozNXp7yUGvj tcjqeJjoK8S4zqHpv1gCGL1c6jOHCPwCS8rG4YgXPPhb3bsgeGdnE7ny5upe53WLTssOP3 jyrv6367MBIvO3anzHIUFtrIxJOY24cxBbLRXdZkyERLntifa8ypzXMTMvFa6Of3EsMiZe +6Khza2wSAx8nl0M+Rbr+CHTqHy86GZ3+7DreP7C4kDh0Mdo2D/FBjuqWAus4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RwSGAE5AD2Wrkh8GYdillLVV9WfyMZ0qVwxdu8C0sNI=; b=BCd+eYJwJukEiaa6LT7ef3U7NwTH9Jct7odc7AxKHbbIUmiP93Mci5KJzx45vVZ564M7Vi LAPow+D4J+nGM37mu0WKhCCttddB5tceIp+ysCZjC7g0CJCVlAUlTrCMObwTjDRLGOcukQ 0/gp0liuc174GmmzmWQjnl1RZPjbJj1EJcnXU9UQGb/ksPA4Fgao0uSEz5s9FajeGiaBV4 +DUugbNNpuLiPe8FviRGoHzv3TzVPrNVp/PYa2e7kvOjV5sn8zh3XPfd3hNjXCTqt5Dz98 xNB34Jw4ZC/767KfIDesbk2haQygeYtQkP/NGWQaiz/MvUexr6uAgdYZnNjbVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086884; a=rsa-sha256; cv=none; b=k5/M+WVhBf8r7OhlI3A44pH4JLSZhGwS1kTFlg4bb+t2Rw++lZDwAUX0Iq2OT+XLIvGt/c 2aeacq5QOk1YcpAb8P2m1SQwK2hPIgfnaLPXJrq6HJ/1g2DWaUyZLTNulPWyVNX3Z1B+es l0IuXqZb2ufJ7ZFUJ3yVTgvL7ipcy0Gu7mDBZs2FfuMcM4TYj7g/D8vgCR+sLhMUlT5u3u 2EqkYwJENsMN65qOt+zPEaboZmwOtq788DIxRMEDolTWkpfat0bw1zzxfIQo6WKP8HYIO/ LErxKmkhord+frP3J6Cr2DBqJQQPg+Aaw3ynaapTaru74NcC6VOXv2HZV1gTsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4N1GsdzgbP; Fri, 17 Mar 2023 21:01: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 32HL1OCC014979; Fri, 17 Mar 2023 21:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1OJa014978; Fri, 17 Mar 2023 21:01:24 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:24 GMT Message-Id: <202303172101.32HL1OJa014978@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: d24c97ebfb86 - stable/13 - daemon: consolidate variable declarations and initializaions List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d24c97ebfb86040436acdc63b9b0e8bc6ef10078 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d24c97ebfb86040436acdc63b9b0e8bc6ef10078 commit d24c97ebfb86040436acdc63b9b0e8bc6ef10078 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:41 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: consolidate variable declarations and initializaions - improve readability by breaking apart single-line multi-variable declarations - initialize simple variables at declaration site - move other top-level variable initializations closer declarations to avoid potential UB and unclutter the use-site. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit e745dc2287ac4844c1a21aaa31d0bc3dad6b1b06) --- usr.sbin/daemon/daemon.c | 63 +++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index f9c1f73e193c..c8ccd8f892fa 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -79,8 +79,10 @@ static void open_pid_files(const char *, const char *, struct pidfh **, static void do_output(const unsigned char *, size_t, struct log_params *); static void daemon_sleep(time_t, long); -static volatile sig_atomic_t terminate = 0, child_gone = 0, pid = 0, - do_log_reopen = 0; +static volatile sig_atomic_t terminate = 0; +static volatile sig_atomic_t child_gone = 0; +static volatile sig_atomic_t pid = 0; +static volatile sig_atomic_t do_log_reopen = 0; static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; @@ -139,27 +141,37 @@ usage(int exitcode) int main(int argc, char *argv[]) { - const char *pidfile, *ppidfile, *title, *user, *outfn, *logtag; - int ch, nochdir, noclose, restart, dosyslog, child_eof; - sigset_t mask_susp, mask_orig, mask_read, mask_term; - struct log_params logpar; - int pfd[2] = { -1, -1 }, outfd = -1; - int stdmask, logpri, logfac, log_reopen; - struct pidfh *ppfh, *pfh; - char *p; - - memset(&logpar, 0, sizeof(logpar)); - stdmask = STDOUT_FILENO | STDERR_FILENO; - ppidfile = pidfile = user = NULL; - nochdir = noclose = 1; - logpri = LOG_NOTICE; - logfac = LOG_DAEMON; - logtag = "daemon"; - restart = 0; - dosyslog = 0; - log_reopen = 0; - outfn = NULL; - title = NULL; + char *p = NULL; + const char *pidfile = NULL; + const char *logtag = "daemon"; + const char *outfn = NULL; + const char *ppidfile = NULL; + const char *title = NULL; + const char *user = NULL; + int ch = 0; + int child_eof = 0; + int dosyslog = 0; + int log_reopen = 0; + int logfac = LOG_DAEMON; + int logpri = LOG_NOTICE; + int nochdir = 1; + int noclose = 1; + int outfd = -1; + int pfd[2] = { -1, -1 }; + int restart = 0; + int stdmask = STDOUT_FILENO | STDERR_FILENO; + struct log_params logpar = { 0 }; + struct pidfh *ppfh = NULL; + struct pidfh *pfh = NULL; + sigset_t mask_orig; + sigset_t mask_read; + sigset_t mask_term; + sigset_t mask_susp; + + sigemptyset(&mask_susp); + sigemptyset(&mask_read); + sigemptyset(&mask_term); + while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': @@ -251,7 +263,6 @@ main(int argc, char *argv[]) openlog(logtag, LOG_PID | LOG_NDELAY, logfac); } - ppfh = pfh = NULL; /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently @@ -294,18 +305,15 @@ main(int argc, char *argv[]) sigemptyset(&act_hup.sa_mask); /* Block these when avoiding racing before sigsuspend(). */ - sigemptyset(&mask_susp); sigaddset(&mask_susp, SIGTERM); sigaddset(&mask_susp, SIGCHLD); /* Block SIGTERM when we lack a valid child PID. */ - sigemptyset(&mask_term); sigaddset(&mask_term, SIGTERM); /* * When reading, we wish to avoid SIGCHLD. SIGTERM * has to be caught, otherwise we'll be stuck until * the read() returns - if it returns. */ - sigemptyset(&mask_read); sigaddset(&mask_read, SIGCHLD); /* Block SIGTERM to avoid racing until we have forked. */ if (sigprocmask(SIG_BLOCK, &mask_term, &mask_orig)) { @@ -406,7 +414,6 @@ restart: * might have closed its stdout and stderr, so we must wait for * the SIGCHLD to ensure that the process is actually gone. */ - child_eof = 0; for (;;) { /* * We block SIGCHLD when listening, but SIGTERM we accept From nobody Fri Mar 17 21:01:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4P40FWz3yqdp; Fri, 17 Mar 2023 21:01: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 4Pdc4P35Qvz3pRW; Fri, 17 Mar 2023 21:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QB93CKTVOX02fsA0tcibetOyNM9kqN6+57s0/9FDzJo=; b=WbGWZErtGUTZyoMmyNxUag3julGjy19ZtpqkVQIvdQLihOzX+3ED9UXpv93KpZ6circV6z 9UeAQma2pIf8b11jSaY1118cqqvkkD2Uo3vM7/L+OdH4EdyVe6/bNJOwBMmg5cSGCmIAV2 tTGZCuozK1aOLtvEfYT0lhqyUQDxjUwCxmcK93G2Kt3LtLZ4d1Cz0xa13WzI2l9VGqm6Pw i81PfIWdtgtHwYPqf8ovn2z1KCwVFFgyBgemrm3WTECsXfHktICwEJbMX0WiVoDOcVPed3 gkuZKSCNoqQw8QuZbrSB5C7LULb82Hbw/jzQVVQAWfmvTSBW+EFSRxH4zGgQXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QB93CKTVOX02fsA0tcibetOyNM9kqN6+57s0/9FDzJo=; b=mmzaevY0u+WL12lVp5PmoH4ORbbzdoQUVB/LUxKPqXU1WkcLl5IEYXObJnakjS4qHI/842 mmTPTjBvRytmOmcnv8HuDGYMtezkK7Qc5W86HPWQxSJ6WEHHbEQbn+E2Db4Hlyl/Vu5GDs gy4ACT6aW5JwxhzcCuiuQ68yzfJn7hRTOKyQPn8+Y+REZ1vNi/iQh/0/kBH/2bnv19kHbT JnDXtgAmjDccYdwwCKoSVLFAUybTJi87cE+Byh4oFFhlfeFR7KfYQUVOa6Qf3kXl1dKR0b 8Dw07HSMnZzR16usdaZMzkVSIhcM37UDDcegcUoVfP+fKD/LbDPLgfq5oun4AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086885; a=rsa-sha256; cv=none; b=rkpAYh7FmZ3Rld2eTqLRxlnNcBtkw6IMGfcPhSDH5gU2Prji7lWeUYRLD3v3egTpRS8X5p nECU8Hd85gdHVvxetaCF7blYFoZUq9gUDlQeqT28q1soPWRuVIG58Y+ZJ0gTwsLNR2raSv iVYdab5YSmI98rVsP0AoKEzDCw/Gj2EN6DNQ+/918vP3NVxDksazQ+aDeh5VughgJDVNB1 jd7cqRV/0iYJ65k/PyngjvApOSqfIZn9vGdIF+t/rQTsuRVN2hu8A5vuKnMBseliSruotz EoM5tQrMyfsqpGeFsAAiUo6NAzy54mJ24Focs634JLZWPuGHhD1Tx6J7kZQgIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4P2BqrzgNX; Fri, 17 Mar 2023 21:01: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 32HL1Pj6014998; Fri, 17 Mar 2023 21:01:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1PFA014997; Fri, 17 Mar 2023 21:01:25 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:25 GMT Message-Id: <202303172101.32HL1PFA014997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: cc123f0dba83 - stable/13 - daemon: initialize mask_orig with sigemptyset() List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc123f0dba83a403db6978cae2232cbbf6ec7f48 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cc123f0dba83a403db6978cae2232cbbf6ec7f48 commit cc123f0dba83a403db6978cae2232cbbf6ec7f48 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:41 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: initialize mask_orig with sigemptyset() consolidation of variable declarations and initializations in previous commit allowed me to detect that one of the signal masks is not properly initialized with sigemptyset (as man 3 sigsetops demands) Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 84866cefdfb78488543056173aea78748b77159b) --- usr.sbin/daemon/daemon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index c8ccd8f892fa..9477b2a415e8 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -171,6 +171,7 @@ main(int argc, char *argv[]) sigemptyset(&mask_susp); sigemptyset(&mask_read); sigemptyset(&mask_term); + sigemptyset(&mask_orig); while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { From nobody Fri Mar 17 21:01:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4Q4Pd8z3yqdt; Fri, 17 Mar 2023 21:01: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 4Pdc4Q3lqMz3pjs; Fri, 17 Mar 2023 21:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ae/Hht4QOjnSyORFXAMe0gLrgNG9J0x64makHwXenvg=; b=O8cVuC/sKbZeCiQnXK8ldxjfnshHaHZDOZTThBmasE71HFyTmQ+/79+cFjkYZFI31zSy4J vdax7Ml0tW3MmDA4tTwGuCXbma5ZouPJWCyeRhLgScDIVD6XC0xAwsJovw7nqxRmfOfxUz OuMPtgwPvjwyySZoEXBSU+DCkS8Kbkk8Qpd/Lgc4AOu8J5uKTGwq16r0ieTfhyWtfC9Tnz 7TSCZDgkhH/Fz1SoDiUIeHIzWiXxNFHHGV9LFi+eEreXYirkCpS3awQtWPpuSkqwc0vCPG Ttd4zI3Etoc5rC1pIylmr2Sg7rHouoAWKj8JYweJS1vJyzMnmmVobicKWB3snw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ae/Hht4QOjnSyORFXAMe0gLrgNG9J0x64makHwXenvg=; b=dAIygeiGeaTcZI6tnEETh+w/Heqy9db6OgcVWz03hh0QJKtOKCnNTA0oPf42wDOBvJWW0c iNzuA/0xIgFWGAkFFHsK6KIG6e3mZpdiJn8wE9HM1jDTRbziAseRcEG1DO80ef6v8zj1h2 oa/IAgo01Sv3Z8xS9SOLsw2huISOCnHJdFLolyDxWksBAtJZDrEzaOUGG1c8g57fOWkngD Yh2X/IU8uSDc7enKkxZxHRymCUHjanto/kOsAi8tXLUb2lWKRzQCVH+pitaVZbcnKp+6sH d9qjQRkvifk52/lQmrsr68ZGjul7wBa5i0qPEwmI6QYuu73aOD6jaqIjlR3WZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086886; a=rsa-sha256; cv=none; b=p24PDrAXoZ1HkHE6KBrLUp3T3N9r1K8Gv24MoG9KL/CUHb6UghpYpS8Xj9gvhcidrbszbn 9pHixpJrEikmAZSnXooVuw4pvHNqANCGgf9w/WF4xCj/9m9Men2xdOy3H06dY2zisRTrn5 iNQ7lE/8W8irTD2JMNwbiqrawrvwDsNvjzs3XSgdB74YuwthfISrVNsDI6uCF2n7T+dMbR pMz40GQjPDu/ok/ZxWKum61pbJD8WTQJea7yI7OR012/OQt1EN1PHCKp30Fkln3MPxbPLi 4zWAaaG8F796GBic5Qf1fU24lm5PzC7xGTTgevOxRXGDlFBOgJiy6IUuoohZeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4Q2sxSzgjt; Fri, 17 Mar 2023 21:01: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 32HL1QOW015017; Fri, 17 Mar 2023 21:01:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1Qol015016; Fri, 17 Mar 2023 21:01:26 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:26 GMT Message-Id: <202303172101.32HL1Qol015016@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 93871c6cff22 - stable/13 - daemon: fix double init of pid variable List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 93871c6cff22231c94f14455f7896334d0547627 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=93871c6cff22231c94f14455f7896334d0547627 commit 93871c6cff22231c94f14455f7896334d0547627 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: fix double init of pid variable Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 91b921c7d4684599d1d983f77dcc3df90900adc0) --- usr.sbin/daemon/daemon.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 9477b2a415e8..4fe749d9e5fa 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -81,7 +81,7 @@ static void daemon_sleep(time_t, long); static volatile sig_atomic_t terminate = 0; static volatile sig_atomic_t child_gone = 0; -static volatile sig_atomic_t pid = 0; +static volatile sig_atomic_t pid = -1; static volatile sig_atomic_t do_log_reopen = 0; static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; @@ -286,7 +286,6 @@ main(int argc, char *argv[]) * readable pipe with the child for writing to a log file * and syslog. */ - pid = -1; if (pidfile || ppidfile || restart || outfd != -1 || dosyslog) { struct sigaction act_term, act_chld, act_hup; From nobody Fri Mar 17 21:01:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4R5hJTz3yqsN; Fri, 17 Mar 2023 21:01: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 4Pdc4R5Fv3z3q0p; Fri, 17 Mar 2023 21:01:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kd/Tipx5ZMcNf3Cb4aLgnzV57NC5MKrN9h3YEj/UOpI=; b=PBhrrj/vSrPRumyy2M/VgD9pt1reJnE1r4tAtgbZksUm+ZBGa5LPkQ/7BZqB3r3nM8A3UM Tb/gqJ1RVyBDOOz/KkNXUkW2mI20bmM7X6laX3Y4P5VEXNnhNKf0X+0Mh2op37nwq0vkIP abrZ70wg8uMsihNAOj1gPBl5Re5ZAR6jZ4Rlsc7eh43xT1v/0gLlqLkGaf0OP0o/Jh0wHb tztD2Rm71/HQ9bfdObWDz2vBcQF+CySH/1xcHCmRJSSd97UClpz5y1Mzdb0Gfybiuc3SMA COenxCI+nB5vVihLChi2SGPe6VJqkkD6vXiFWs95qCtT+gaqEDbtn7kK9QQGRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kd/Tipx5ZMcNf3Cb4aLgnzV57NC5MKrN9h3YEj/UOpI=; b=k+VFJZjZhwyFK84taNBZhRU/mFUpphNs4ZjbTE/6iGgwsSEdSBp/+PbFtD2rHf0AuIngOz kaVKJNAzw9q61J/sMX+f1cVgcL79WDCIOxkzM58bqvBFsNiJuG7i1XrOqHT1E/R6gDb3uR 6trUHSjPF9STlef7ARVA+3HN/dV02T0JqbYDRDNaHTPCmnZ7H68dBt06uqRiTbEqCTtaKz Pqe/CPuXq3sH6PHcfzlLQtQBEJ9BgPoa0XPHpfBUVIgPAJO8RjQAKhD0M7vyMSkWgXtgJ/ AY1iObLWx1R4EW97DCuBGOt//giuuqHOVj7rBEsQWWx3gv8Xl8PfmZ3EQLsrWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086887; a=rsa-sha256; cv=none; b=eUhk++yskTac2qa12vsJ5O+1DPVaKARyU1Olz5ovxn0sSrjjj1jVq26shovZ+6t/dOPZ1Y V6qe1daFxGL02M8bc9LF30fqL1SFUi356Z+unrKlKyR/Ft4Ji1NdWR4krbu3dM2mqqQ9M1 FZ+WzvG2lpG2z/z9YSyk9SYYZL3ZUHrmaNK7cjSkbodIDxh015k/a4r24aPFXgf24+J046 drUG+6AZlnVRt5HcguYkCO071hY82qNKsgr4+/dmo9ULzw3Uapjdwf64FkC2vQfhtOSS9w fsoNQtVCtTrTySlDzPpWEI14aTkGR2vnhPVNzOPCDU7bszlbVv5U8A8V32RYfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4R43k7zgbR; Fri, 17 Mar 2023 21:01: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 32HL1RX7015036; Fri, 17 Mar 2023 21:01:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1RTG015035; Fri, 17 Mar 2023 21:01:27 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:27 GMT Message-Id: <202303172101.32HL1RTG015035@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 52f302f1361f - stable/13 - daemon: initialize struct sigaction at declaration site List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 52f302f1361feb0d1888219b897465693bf64177 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=52f302f1361feb0d1888219b897465693bf64177 commit 52f302f1361feb0d1888219b897465693bf64177 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: initialize struct sigaction at declaration site This improves readability by uncluttering the code Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 259ed21d21f81b656f06447716d41c190576477e) --- usr.sbin/daemon/daemon.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 4fe749d9e5fa..0925d16a27a0 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -287,20 +287,19 @@ main(int argc, char *argv[]) * and syslog. */ if (pidfile || ppidfile || restart || outfd != -1 || dosyslog) { - struct sigaction act_term, act_chld, act_hup; + struct sigaction act_term = { 0 }; + struct sigaction act_chld = { 0 }; + struct sigaction act_hup = { 0 }; /* Avoid PID racing with SIGCHLD and SIGTERM. */ - memset(&act_term, 0, sizeof(act_term)); act_term.sa_handler = handle_term; sigemptyset(&act_term.sa_mask); sigaddset(&act_term.sa_mask, SIGCHLD); - memset(&act_chld, 0, sizeof(act_chld)); act_chld.sa_handler = handle_chld; sigemptyset(&act_chld.sa_mask); sigaddset(&act_chld.sa_mask, SIGTERM); - memset(&act_hup, 0, sizeof(act_hup)); act_hup.sa_handler = handle_hup; sigemptyset(&act_hup.sa_mask); From nobody Fri Mar 17 21:01:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4T2xf6z3yqsR; Fri, 17 Mar 2023 21:01: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 4Pdc4S5sdNz3py8; Fri, 17 Mar 2023 21:01:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WEjex8I5tpI4Yyl2DkZvlgR/c8od9wZ+NhvHqHF0bc=; b=oI2uhhMb8uDC+MaRgRX5rCkI29oi2rwzbLOBHAbEBozba0u9uaQwLhIPY3LORccgxQYbem saDvdgBmFYKvGpDVIpkJ/Y49QysTq8S8vVfwChZGp4ln0p2SiU3LL4Ikhr27e1NA3Cm3Jk xdoBrlZUCigxNJtl2LYRd0UmpIQsxUt30vvdu0mLnjbd/ikbrfHo7gl8V4YoPan1PfM4Hm BG98KFCmz2rpIkTc/fTed0euzCtatnKo3be4y8SIHm6yoUFtEu54InzDENQNYjOPE/z2Sy Q9eN4mFAIq33yu6XHhnBtbOrDfmTM41LmxOxFAKpe9yN8x2CObfwdDfwgPrAHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WEjex8I5tpI4Yyl2DkZvlgR/c8od9wZ+NhvHqHF0bc=; b=e0cMCYeh9bNRcJ5VvHAZSO/za7LtFiYF7KtGaKnEfDJooz39Bcg0b4tBEZQ76B2sT0za7q DK0GUbhTmeRlflWQrtBJYBidaYxYZWa1ausHg2p7c5gxkS36nvnRBDKFFq8I1nrRHdwf+h +yVCopp6oIDLbjgMBzpMxLtT9vbmimdIvAGWDt3m+Ih+A8Ga9Jzot6b9/fnXCAdR3WJdPf Tgg/5ELfIPyBWWLaKzijwtAdDN9biXRPREi9vTGw1GmVOGda8uabLCLNgA2hGWHMMs66yM qUICIYTEX3cXBRwwd7PBMz9NOhdYy8ex5uD92ZYaM/mb6q/8afVAnx/rc4NS8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086888; a=rsa-sha256; cv=none; b=aMS4qCg1YZ2aVKpNCs7gWqKUNefxi+Ahh+jt02FZeJwlxXw4DXnYCywMbSALkn9lf2K6xy AjDR2QZ9aozZfAX0XUOJIkaZtJibc6mT/3LENA8KaRx+9Xobzq2WqQco31U89URpOINwf3 ioSCAlRxiOX2B1dI2bdgTmKsEOO805kLw4FoSKrri1M8523VjkBae869g6buyMD9QC+3ik m+8AjDitAfmb/oXECOg82iPsx0lbdQIhxAqyE+VZiD1C7LBVGouCbj+653u8tpTmuuEj3n m7UGxuAkzx+3+r4v8WsaS3jVS8hihn4bwi/1jo3nFwvWDrohe/rgUxBUH/7Vsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4S4ztdzgrv; Fri, 17 Mar 2023 21:01: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 32HL1SkJ015055; Fri, 17 Mar 2023 21:01:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1SAD015054; Fri, 17 Mar 2023 21:01:28 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:28 GMT Message-Id: <202303172101.32HL1SAD015054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 6f71a684560f - stable/13 - daemon: add supervision_enabled var List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6f71a684560f77086932cfd1403528b212969ddd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=6f71a684560f77086932cfd1403528b212969ddd commit 6f71a684560f77086932cfd1403528b212969ddd Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: add supervision_enabled var explicitly name a bunch of boolean checks that enable supervison mode and improve comments Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 203df05b692b5e2b92c990d8971f5797e3a7a139) --- usr.sbin/daemon/daemon.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 0925d16a27a0..f15a3f567a8c 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include <pwd.h> #include <signal.h> #include <stdio.h> +#include <stdbool.h> #include <stdlib.h> #include <unistd.h> #include <string.h> @@ -141,6 +142,7 @@ usage(int exitcode) int main(int argc, char *argv[]) { + bool supervision_enabled = false; char *p = NULL; const char *pidfile = NULL; const char *logtag = "daemon"; @@ -275,18 +277,31 @@ main(int argc, char *argv[]) } /* Write out parent pidfile if needed. */ pidfile_write(ppfh); + /* - * If the pidfile or restart option is specified the daemon - * executes the command in a forked process and wait on child - * exit to remove the pidfile or restart the command. Normally - * we don't want the monitoring daemon to be terminated - * leaving the running process and the stale pidfile, so we - * catch SIGTERM and forward it to the children expecting to - * get SIGCHLD eventually. We also must fork() to obtain a - * readable pipe with the child for writing to a log file - * and syslog. + * Supervision mode is enabled if one of the following options are used: + * --child-pidfile -p + * --supervisor-pidfile -P + * --restart -r / --restart-delay -R + * --syslog -S + * --syslog-facility -l + * --syslog-priority -s + * --syslog-tag -T + * + * In supervision mode daemon executes the command in a forked process + * and observes the child by waiting for SIGCHILD. In supervision mode + * daemon must never exit before the child, this is necessary to prevent + * orphaning the child and leaving a stale pid file. + * To achieve this daemon catches SIGTERM and + * forwards it to the child, expecting to get SIGCHLD eventually. */ - if (pidfile || ppidfile || restart || outfd != -1 || dosyslog) { + supervision_enabled = pidfile != NULL || + ppidfile != NULL || + restart != 0 || + outfd != -1 || + dosyslog != 0; + + if (supervision_enabled) { struct sigaction act_term = { 0 }; struct sigaction act_chld = { 0 }; struct sigaction act_hup = { 0 }; From nobody Fri Mar 17 21:01:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4V0G2Wz3yqvy; Fri, 17 Mar 2023 21:01: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 4Pdc4T6qdVz3pvZ; Fri, 17 Mar 2023 21:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aNNwxT0DVQ0JEIZ6fUmr8RkRo3rCMkgTZo0NY5Fks4w=; b=Kzohgl6qSM/c9IsM5MAAUuyTS72ziMBqaSwUw0m2FfCKhSR6+3AEFw3uf5+iLxLYfqBxSb 40fgahpkgH5qJCDpHzFNeJavbfaWFUAACHwQc+tqqHeIzC5+mZ5a+LI8S9BR7uuibgKOVB 5a+4xWmNhNN+m79BRH8AcHHxFT7E3iqAu+iM3JAVEvCop0MJhDfZhDrL9y/+QRZkgvnP7K 0zYs9bWVtfnpc1rhSpj3EqnJzjprE5KdK69flB1ITmuTnVVoo52jaq8GJOjIjgZwnc9l3t FSLqCajZiycgbU4JWq/uHBtJkVV/Tp7tOQPamvbNc0oST9SzQu1C4IylpQu0AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aNNwxT0DVQ0JEIZ6fUmr8RkRo3rCMkgTZo0NY5Fks4w=; b=CiC2sG3yzxN92eG7rJp3lRmZA+AEmVETFA7dbE8oGrMpkxidUeFcrkl6nFQad9Ypz8uiJP /lW5+8KHi1FL7+A7S7GB8g4XBSsUutO/thUJcxeGJWkUuLUG3SACNwOk7NvbwsCgo4L3eW OUt2NdLhWxFfYcTNgLm0vDA9itVix1Lgk5MKEBhnAj52nTdMKwaZh2r3ig7WmzUQtWLJLx ZmPzIhdLVlJ1UpF/M5zhhkSoc31cT1SKDOtLjyg+ic8EfQJS8IQF9gTanyrRPRL48dn7N6 /2GEMxm1TGNIF/x4VqYoYqFKyp5hkNVE+qkR6EMr98KyolkvnY3o+zVHE8FlNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086890; a=rsa-sha256; cv=none; b=RwK0ixOu2/xU3D5GMounpNRttA2/MvFMQo35XE26MTRQJYp4JwWeKu8biTXfndRdVOzlhx z0Gt3QFVkwtWjmtrB9+6kIGwm0NWu/dHLw3Q7kfI+hsUi3Kn/4VxC2h3YIPYpIXL1LH/EA B7TeYwhXqKsbnie3NSXR8ztPDKFRSi7HIv+M7qGAvu1bwepwW2ODKTyjudDJ9e03LwnkMA 8/BA6aCCVxXDtw0TomsU1lBN796M5c3gThld5Q7/Gxkl0+aCK2nts71p9QGsHesNoyBXji dxeKMEdrKmxDwVZiy2IQVo3md95RmkfqWWO4zEpE9XtzyCk8s/PC5p2XLF3uhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4T5x8gzgcp; Fri, 17 Mar 2023 21:01: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 32HL1TaC015080; Fri, 17 Mar 2023 21:01:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1T7m015079; Fri, 17 Mar 2023 21:01:29 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:29 GMT Message-Id: <202303172101.32HL1T7m015079@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: d394c80f4950 - stable/13 - daemon: make dosyslog variable a bool and give it a better name List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d394c80f4950b1aeb4161582dcafaae57d7e5893 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d394c80f4950b1aeb4161582dcafaae57d7e5893 commit d394c80f4950b1aeb4161582dcafaae57d7e5893 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:01 +0000 daemon: make dosyslog variable a bool and give it a better name Following style(9) and C99 recommendation use bool instead of int for boolean operations. Also give the variable a more descriptive name that follows boolean naming convention. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit f2f9d31d9f9f7f319edb95874b41af0733a26624) --- usr.sbin/daemon/daemon.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index f15a3f567a8c..344b914d464b 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -60,11 +60,11 @@ __FBSDID("$FreeBSD$"); #define LBUF_SIZE 4096 struct log_params { - int dosyslog; int logpri; int noclose; int outfd; const char *outfn; + bool syslog_enabled; }; static void restrict_process(const char *); @@ -143,6 +143,7 @@ int main(int argc, char *argv[]) { bool supervision_enabled = false; + bool syslog_enabled = false; char *p = NULL; const char *pidfile = NULL; const char *logtag = "daemon"; @@ -152,7 +153,6 @@ main(int argc, char *argv[]) const char *user = NULL; int ch = 0; int child_eof = 0; - int dosyslog = 0; int log_reopen = 0; int logfac = LOG_DAEMON; int logpri = LOG_NOTICE; @@ -191,7 +191,7 @@ main(int argc, char *argv[]) if (logfac == -1) { errx(5, "unrecognized syslog facility"); } - dosyslog = 1; + syslog_enabled = true; break; case 'm': stdmask = strtol(optarg, &p, 10); @@ -222,17 +222,17 @@ main(int argc, char *argv[]) if (logpri == -1) { errx(4, "unrecognized syslog priority"); } - dosyslog = 1; + syslog_enabled = true; break; case 'S': - dosyslog = 1; + syslog_enabled = true; break; case 't': title = optarg; break; case 'T': logtag = optarg; - dosyslog = 1; + syslog_enabled = true; break; case 'u': user = optarg; @@ -262,7 +262,7 @@ main(int argc, char *argv[]) } } - if (dosyslog) { + if (syslog_enabled) { openlog(logtag, LOG_PID | LOG_NDELAY, logfac); } @@ -299,7 +299,7 @@ main(int argc, char *argv[]) ppidfile != NULL || restart != 0 || outfd != -1 || - dosyslog != 0; + syslog_enabled == true; if (supervision_enabled) { struct sigaction act_term = { 0 }; @@ -349,7 +349,7 @@ main(int argc, char *argv[]) */ (void)madvise(NULL, 0, MADV_PROTECT); logpar.outfd = outfd; - logpar.dosyslog = dosyslog; + logpar.syslog_enabled = syslog_enabled; logpar.logpri = logpri; logpar.noclose = noclose; logpar.outfn = outfn; @@ -487,7 +487,7 @@ exit: close(outfd); close(pfd[0]); close(pfd[1]); - if (dosyslog) { + if (syslog_enabled) { closelog(); } pidfile_remove(pfh); @@ -647,14 +647,14 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) if (len < 1) { return; } - if (logpar->dosyslog) { + if (logpar->syslog_enabled) { syslog(logpar->logpri, "%.*s", (int)len, buf); } if (logpar->outfd != -1) { if (write(logpar->outfd, buf, len) == -1) warn("write"); } - if (logpar->noclose && !logpar->dosyslog && logpar->outfd == -1) { + if (logpar->noclose && !logpar->syslog_enabled && logpar->outfd == -1) { printf("%.*s", (int)len, buf); } } From nobody Fri Mar 17 21:01:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4W1dz6z3yqcd; Fri, 17 Mar 2023 21:01: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 4Pdc4W0l0Kz3q8H; Fri, 17 Mar 2023 21:01:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZiXzBnoeZbHOrU60uThA+X+42i27pkkiTBqpWfxOy1k=; b=YRLVzPeaSh8UK8ezN0hylFeuF2D7OdCCHqiRexOV1ugVhWorvXc5RpqOD0QPEbXZuD/CMR wWmLbaH9z8qRoRA1F91kDzjd59sE+I1t4jQqy/7Fj8Qfdi2vp7BboELwnhHyxENV9lAVLn r8MfukeiKClgpIque3RuFLI8am1jdAqyiM8A5BjFbjbjEPlfguJwda7/pGieZNaJL+jkZ/ OSfW8ENP/L6vVvP2BaEknINu+bVY8k//n6ZMwkL6AduuA5Bt7Vw80JoUaE2aSpj7pk5IJQ Os728vX7EUm+zWeX4wCzfd583Df/cIaE0FYnAFs+hFO+PshjRuZIUDAhhLKfBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZiXzBnoeZbHOrU60uThA+X+42i27pkkiTBqpWfxOy1k=; b=UmAmyUdEYJ9lwvOxTDbehxDPjpdM24x9dAkweGeICaAlovrAez1nsfZu7ELMK8i03pjxrA WAsLwwj5HVN343t99dpmH7OWulR+o48T3nAUPFhr3AtZzy4jsDFohE45cJ+o+RvPCMCjyT 4WCok23tHBVIFlcoIyV2hhk/RARDioUo6v9/iYJpx2V82qLLIsMKJbdlHVswY8n5qCObk4 fBpW8thinEzafufS7zMGpA5mMuUr5/7M2Gf4mP+o/H6gJ0VBJ0b7YPBmOmP4mMZNLYGgSs qPGG3IEhBqUqjfl1CHwkGr4w7HSrClopSFGdqetg6EBIEHJVxVleg0TXqFpXpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086891; a=rsa-sha256; cv=none; b=PpbMXL3El6WFF5zyCT7SojEfjfYXPojP+YhhK/vVHjJELSzA+SqI/D+xZ3snNYF9wxUdeg BSxwIEcpRp6x9v00eAdVbQvp0iLqrmRj/1SS8RoMVYgFM0ipWuivRSHN3tIBhDcuIXUjO8 E7hDTaOA4vSMlBWKX1mr1ShtDco+1sYpD75+DH/BBIv3ADoQSNiW0UKCeaksSYnjK50EjI JRTNFr8v9TvChPtoCcz3qgUQBj/zvYHLe1jVbHAkl8DgpnGiJsKDeu3rwxZdrGj8fEuuNX /j96PRpudMEsf+nipDHFFukbyMWUcFZXDh/P7zdqWGph9HG1WNaxrR7IJ4aYnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4V6y94zgbS; Fri, 17 Mar 2023 21:01: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 32HL1UfD015099; Fri, 17 Mar 2023 21:01:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1UiI015098; Fri, 17 Mar 2023 21:01:30 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:30 GMT Message-Id: <202303172101.32HL1UiI015098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 5e46ebc5d0a4 - stable/13 - daemon: make log_reopen variable a bool List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5e46ebc5d0a4351145338f259d8dbf1fd4210756 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5e46ebc5d0a4351145338f259d8dbf1fd4210756 commit 5e46ebc5d0a4351145338f259d8dbf1fd4210756 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: make log_reopen variable a bool Following style(9) and C99 recommendation use bool instead of int for boolean operations. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 97022e90c3693ad1180bd26ebc909ce27893b227) --- usr.sbin/daemon/daemon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 344b914d464b..2db2594041e7 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -144,6 +144,7 @@ main(int argc, char *argv[]) { bool supervision_enabled = false; bool syslog_enabled = false; + bool log_reopen = false; char *p = NULL; const char *pidfile = NULL; const char *logtag = "daemon"; @@ -153,7 +154,6 @@ main(int argc, char *argv[]) const char *user = NULL; int ch = 0; int child_eof = 0; - int log_reopen = 0; int logfac = LOG_DAEMON; int logpri = LOG_NOTICE; int nochdir = 1; @@ -184,7 +184,7 @@ main(int argc, char *argv[]) noclose = 0; break; case 'H': - log_reopen = 1; + log_reopen = true; break; case 'l': logfac = get_log_mapping(optarg, facilitynames); From nobody Fri Mar 17 21:01:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4X3HfBz3yqfM; Fri, 17 Mar 2023 21:01: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 4Pdc4X1TmXz3q8Q; Fri, 17 Mar 2023 21:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKHtV8UeGlqkswGzeoTQZ4YkRLooG7BtkefAdqKg38w=; b=aOQeWyPwMQx1fFbDFHVPlo+iZvkL5o1hHMGl41Ma36ysdMLzMZ54Xq1aoKpM52/NKgXafg H++dvQRs3XYMVDoCO7vJSRKtZyLZnHM1723UifGbBiL9dKU9HEcdCcPJVKAFtFpmW93oji /B9uCLwpruFVIFul6YAdCeLz8YqPu6coP9Xy0ICqZhNO7QIj1+UVibdnVhy1emer/9Uuxd x+QwmksIBh0TQn9reu4hQJ+I+ZhLryvB+wX/jopMV1n9/83fUvEG8uLjDpCbnGX51fTFuH yH68zFmX5+3MF9xYRCZNoeCFzVFc/3gtnzAaggmKSQ2QP3opEQcs7WX2JpWsEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKHtV8UeGlqkswGzeoTQZ4YkRLooG7BtkefAdqKg38w=; b=S+WJKEnS46iYITUqNggCkSLq0KFFPfshq3SD9EUiPJAlPI2MzPbGbEJZHYU3+iiUunt43x 9nylm/zk39sncaWCxLQzBMYIsm7ejS3e3675+etHXXY1LHmdAVBBqbg9laePUDSpMuwig2 Z36mqPNSrVPfcxjnabEPcPQwyUWUXwfaSwVgFdNrSmETCPVft5nDDnu7nP/OVaU8ogWcCr Bq7Pi1gEM+peuEBXgWkI0/sP4URtqpXAbtzwsFeiX+Q7I391Cl1NcaDN7xZ4Iel5GXPqsJ JbF7MOKlGn6vY/uEcA2oCQQPDE6w1daUN0uv8/fTy5w3qyCZ0p25b+uHqdCXjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086892; a=rsa-sha256; cv=none; b=IWDpMSIRdTeYSErs/dltgWCmtWS4ZNTF1ncK7V/jqBoV0bj4ECXKUfstBajFSbG+1bDA52 uWHmvC0q6EYUbG17BuOu/yqF4UsJZciRMBUQZDX92CuYBt+pFCZnWj3dTj9Gv92dXo9atp ojj7kDhDS5jnK2MmHyUvxhPXaE/9dvRVQec43VxJgpzXhIqy9ZLyhEljkLqLe2gujhqhAQ xmn/4PGhequFmm9UJh5Pht/bCp6EIPuRPTaLG5SZZd5ezhB6ysMs+f++88+YiLar5V62Wt 9Jvee349Yhw2hx5MZWJjIHLYrFb6dfpJCTPFIvRwycDWQKi6kPljBQZRRgqR7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4X0T2jzgjv; Fri, 17 Mar 2023 21:01: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 32HL1VUu015119; Fri, 17 Mar 2023 21:01:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1VsG015118; Fri, 17 Mar 2023 21:01:31 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:31 GMT Message-Id: <202303172101.32HL1VsG015118@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: b71a65870f4d - stable/13 - daemon: deduplicate log_params varaibles List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b71a65870f4dc181539157bc004caf889e12d924 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b71a65870f4dc181539157bc004caf889e12d924 commit b71a65870f4dc181539157bc004caf889e12d924 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: deduplicate log_params varaibles While we're here, sort log_params by size. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit e70444c622a97e02fb5a76c06f9a48b4a07aa963) --- usr.sbin/daemon/daemon.c | 92 +++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 2db2594041e7..379c31a0a221 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -60,10 +60,10 @@ __FBSDID("$FreeBSD$"); #define LBUF_SIZE 4096 struct log_params { - int logpri; + const char *output_filename; + int syslog_priority; int noclose; - int outfd; - const char *outfn; + int output_fd; bool syslog_enabled; }; @@ -143,26 +143,27 @@ int main(int argc, char *argv[]) { bool supervision_enabled = false; - bool syslog_enabled = false; bool log_reopen = false; char *p = NULL; const char *pidfile = NULL; - const char *logtag = "daemon"; - const char *outfn = NULL; + const char *syslog_tag = "daemon"; const char *ppidfile = NULL; const char *title = NULL; const char *user = NULL; int ch = 0; int child_eof = 0; - int logfac = LOG_DAEMON; - int logpri = LOG_NOTICE; + int syslog_facility = LOG_DAEMON; int nochdir = 1; - int noclose = 1; - int outfd = -1; int pfd[2] = { -1, -1 }; int restart = 0; int stdmask = STDOUT_FILENO | STDERR_FILENO; - struct log_params logpar = { 0 }; + struct log_params logpar = { + .syslog_enabled = false, + .syslog_priority = LOG_NOTICE, + .noclose = 1, + .output_fd = -1, + .output_filename = NULL + }; struct pidfh *ppfh = NULL; struct pidfh *pfh = NULL; sigset_t mask_orig; @@ -181,17 +182,17 @@ main(int argc, char *argv[]) nochdir = 0; break; case 'f': - noclose = 0; + logpar.noclose = 0; break; case 'H': log_reopen = true; break; case 'l': - logfac = get_log_mapping(optarg, facilitynames); - if (logfac == -1) { + syslog_facility = get_log_mapping(optarg, facilitynames); + if (syslog_facility == -1) { errx(5, "unrecognized syslog facility"); } - syslog_enabled = true; + logpar.syslog_enabled = true; break; case 'm': stdmask = strtol(optarg, &p, 10); @@ -200,7 +201,7 @@ main(int argc, char *argv[]) } break; case 'o': - outfn = optarg; + logpar.output_filename = optarg; break; case 'p': pidfile = optarg; @@ -218,21 +219,21 @@ main(int argc, char *argv[]) } break; case 's': - logpri = get_log_mapping(optarg, prioritynames); - if (logpri == -1) { + logpar.syslog_priority = get_log_mapping(optarg, prioritynames); + if (logpar.syslog_priority == -1) { errx(4, "unrecognized syslog priority"); } - syslog_enabled = true; + logpar.syslog_enabled = true; break; case 'S': - syslog_enabled = true; + logpar.syslog_enabled = true; break; case 't': title = optarg; break; case 'T': - logtag = optarg; - syslog_enabled = true; + syslog_tag = optarg; + logpar.syslog_enabled = true; break; case 'u': user = optarg; @@ -255,15 +256,15 @@ main(int argc, char *argv[]) title = argv[0]; } - if (outfn) { - outfd = open_log(outfn); - if (outfd == -1) { + if (logpar.output_filename) { + logpar.output_fd = open_log(logpar.output_filename); + if (logpar.output_fd == -1) { err(7, "open"); } } - if (syslog_enabled) { - openlog(logtag, LOG_PID | LOG_NDELAY, logfac); + if (logpar.syslog_enabled) { + openlog(syslog_tag, LOG_PID | LOG_NDELAY, syslog_facility); } /* @@ -271,7 +272,7 @@ main(int argc, char *argv[]) * to be able to report the error intelligently */ open_pid_files(pidfile, ppidfile, &pfh, &ppfh); - if (daemon(nochdir, noclose) == -1) { + if (daemon(nochdir, logpar.noclose) == -1) { warn("daemon"); goto exit; } @@ -295,11 +296,11 @@ main(int argc, char *argv[]) * To achieve this daemon catches SIGTERM and * forwards it to the child, expecting to get SIGCHLD eventually. */ - supervision_enabled = pidfile != NULL || + supervision_enabled = pidfile != NULL || ppidfile != NULL || - restart != 0 || - outfd != -1 || - syslog_enabled == true; + restart != 0 || + logpar.output_fd != -1 || + logpar.syslog_enabled == true; if (supervision_enabled) { struct sigaction act_term = { 0 }; @@ -348,12 +349,7 @@ main(int argc, char *argv[]) * not have superuser privileges. */ (void)madvise(NULL, 0, MADV_PROTECT); - logpar.outfd = outfd; - logpar.syslog_enabled = syslog_enabled; - logpar.logpri = logpri; - logpar.noclose = noclose; - logpar.outfn = outfn; - if (log_reopen && outfd >= 0 && + if (log_reopen && logpar.output_fd >= 0 && sigaction(SIGHUP, &act_hup, NULL) == -1) { warn("sigaction"); goto exit; @@ -484,10 +480,10 @@ restart: goto restart; } exit: - close(outfd); + close(logpar.output_fd); close(pfd[0]); close(pfd[1]); - if (syslog_enabled) { + if (logpar.syslog_enabled) { closelog(); } pidfile_remove(pfh); @@ -648,13 +644,13 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) return; } if (logpar->syslog_enabled) { - syslog(logpar->logpri, "%.*s", (int)len, buf); + syslog(logpar->syslog_priority, "%.*s", (int)len, buf); } - if (logpar->outfd != -1) { - if (write(logpar->outfd, buf, len) == -1) + if (logpar->output_fd != -1) { + if (write(logpar->output_fd, buf, len) == -1) warn("write"); } - if (logpar->noclose && !logpar->syslog_enabled && logpar->outfd == -1) { + if (logpar->noclose && !logpar->syslog_enabled && logpar->output_fd == -1) { printf("%.*s", (int)len, buf); } } @@ -708,10 +704,10 @@ reopen_log(struct log_params *lpp) int outfd; do_log_reopen = 0; - outfd = open_log(lpp->outfn); - if (lpp->outfd >= 0) { - close(lpp->outfd); + outfd = open_log(lpp->output_filename); + if (lpp->output_fd >= 0) { + close(lpp->output_fd); } - lpp->outfd = outfd; + lpp->output_fd = outfd; } From nobody Fri Mar 17 21:01:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4Y3QPCz3yqp1; Fri, 17 Mar 2023 21:01: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 4Pdc4Y2Wtmz3qFP; Fri, 17 Mar 2023 21:01:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmfHdVS21p3BLx0Ymt3efgJxVU37qp2dBaJ51iTRglU=; b=ZuH1jZ0EXYYEJqxcwBBzOy8FiaLz1zQn8DvqyAA2bQkDTcqnudOo0Nnj1KG9Zmzntwv2Kt R2RidmIGDkmA2GCOKycBjQI/h0wVsqqUWx7vCeaVwzWjyKiHRVPUjAtzwwfCTBRjfsv0VM vB6xNNbygCtBm92SeKWKRWFBVaBwZOp9kfrZebIZj6V2YGpwHv0Reo2oxiO7CXqUkOWERM lYp7hv+tXPgjuO9WBm3aQUSNRbD/7tLT8wZVp3WiiD9YZ7TM/UvSRMPHPJNRGvqjI80odT MwcZZcBTnTx47y7wOrUbFpusjkp49p9qI5gyX6kUHggCo9EflV1PQSTi6hj8fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmfHdVS21p3BLx0Ymt3efgJxVU37qp2dBaJ51iTRglU=; b=gpp9CzZtXvuMxY4a9NpbeAq6s37EFXUYZKnVqQcUseD+0uaZNtZ/73kNUVkLQMLsZG0Dho 2/N2+qdLS7sfjPJnrGgVG7TjVfYxincyTlkd/M3K5x5bZ3esHO0YrcUiavGNXZALiYk1OT VG8NmM7cwfLEpAL0hOWbU2FCadwz2T5C5uYE79Ou8oglxzisNZb2a0iSBcMunDGfokC7nD WVwvV5Qm2ywPH6FIErLkptnVz4YMuIIXoeyoFojxsjx68fo6B4aD0v4me00ODYNdhiS9+p 4SnDKF9eZ5uxPUNnKdFo0M64VMJ1y1bz7DDR+ejrCIUnkfE/pERUjZws3e5OdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086893; a=rsa-sha256; cv=none; b=Im4OQQldDp2eQG8kVXd9ESpxiICUpj3nSZPglS91QRbaSfgvJ+HlsSKDg0+7qZu4MqCMdI s3G/Yys4FpxdnzVlMFywzLgdxdDwapoO9HOAQvBCvhncuyfPJzwVoe2rEawDwUrLEt2Zzo eTowZ4+rQSl42UJUZmnjUnMK5WjqHvnhuaNrWBLs7OybqakrxxsJrchNS5GbNHsxNu1JKq KD69AKj693J5jXrG7BEH7J64S0VDQbofVy8S0jYcKO7/KtvaTE2P8dQL6F4YRAJkP4civr gyTvIlZso0cRvLFZUfDZzdoRI8z2hl41yZJt3T/EIH+t6xr8s1zwcVLktI3I8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4Y1XXQzgcq; Fri, 17 Mar 2023 21:01: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 32HL1X1e015138; Fri, 17 Mar 2023 21:01:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1X49015137; Fri, 17 Mar 2023 21:01:33 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:33 GMT Message-Id: <202303172101.32HL1X49015137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: d8b8a0316ed7 - stable/13 - daemon: move syslog facility and syslog tag into log_params List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d8b8a0316ed758bf7b5bea78487f2f842433c3d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d8b8a0316ed758bf7b5bea78487f2f842433c3d3 commit d8b8a0316ed758bf7b5bea78487f2f842433c3d3 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:42 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: move syslog facility and syslog tag into log_params Since struct log_params already contains logging-related varaiables, including syslog-related, move remaining syslog-related variables into struct log_params as well Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 6f0636728b53c74d3327a8da8c51efee810fbff0) --- usr.sbin/daemon/daemon.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 379c31a0a221..6904dfa1896f 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -61,7 +61,9 @@ __FBSDID("$FreeBSD$"); struct log_params { const char *output_filename; + const char *syslog_tag; int syslog_priority; + int syslog_facility; int noclose; int output_fd; bool syslog_enabled; @@ -146,13 +148,11 @@ main(int argc, char *argv[]) bool log_reopen = false; char *p = NULL; const char *pidfile = NULL; - const char *syslog_tag = "daemon"; const char *ppidfile = NULL; const char *title = NULL; const char *user = NULL; int ch = 0; int child_eof = 0; - int syslog_facility = LOG_DAEMON; int nochdir = 1; int pfd[2] = { -1, -1 }; int restart = 0; @@ -160,6 +160,8 @@ main(int argc, char *argv[]) struct log_params logpar = { .syslog_enabled = false, .syslog_priority = LOG_NOTICE, + .syslog_tag = "daemon", + .syslog_facility = LOG_DAEMON, .noclose = 1, .output_fd = -1, .output_filename = NULL @@ -188,8 +190,8 @@ main(int argc, char *argv[]) log_reopen = true; break; case 'l': - syslog_facility = get_log_mapping(optarg, facilitynames); - if (syslog_facility == -1) { + logpar.syslog_facility = get_log_mapping(optarg, facilitynames); + if (logpar.syslog_facility == -1) { errx(5, "unrecognized syslog facility"); } logpar.syslog_enabled = true; @@ -232,7 +234,7 @@ main(int argc, char *argv[]) title = optarg; break; case 'T': - syslog_tag = optarg; + logpar.syslog_tag = optarg; logpar.syslog_enabled = true; break; case 'u': @@ -264,7 +266,7 @@ main(int argc, char *argv[]) } if (logpar.syslog_enabled) { - openlog(syslog_tag, LOG_PID | LOG_NDELAY, syslog_facility); + openlog(logpar.syslog_tag, LOG_PID | LOG_NDELAY, logpar.syslog_facility); } /* From nobody Fri Mar 17 21:01:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4Z3nNYz3yqfS; Fri, 17 Mar 2023 21:01: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 4Pdc4Z2zkkz3q6r; Fri, 17 Mar 2023 21:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hEb/t6YN0hwUTOmv3ykrbKBEevsoxdyixJM3n/fnceA=; b=fUDuTpBQtlWPU7OreIHGVNw+LVxgFzj5yHw7eVZFLROk2PFtvhjVQx50vLvp8uff2+YjvY qnLRBwWW1dwxx/inyecwT1C6zMlJITR1vem4MME2Yi+sRa2NHIu+PPD+tBS6QS6XrQmKck OenuCJJYpMt2Z0BlW3tXs+79OxY5ijBac20ou5LAbDvYZH9hoVyk5YoobPrZzJWgh0s5B1 us6TeNa4IuyHH/GOaOVPHbYT4gICYswL9POrCdhDAxw01bjuVkjhJmctzRoQjaxmIDVjbF 6bHdh3BqeaDcm/oZAo8Q0cGtJaAbLl+5ABrX9KA12dzJH/y0a+33FZcmF0Ecnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hEb/t6YN0hwUTOmv3ykrbKBEevsoxdyixJM3n/fnceA=; b=JnyWcpmLbw8iVp7bilicUdqdOp1bjG7x4OHORzF0oYrqm2GltTtFhglDGBOR8RuJ+4+3y5 rU5oJI9DQ5Ag7pxK//nKLsDVAiL3T178iXqzJW6heHBD/FFCK27mvNjq9vYDeqHpL9Kp2V lDYOR9JW17/neBl84AL/WIAZ4G2x0wRatWl3U8Av+UwVwEZbkT1VZEwlWP/rJHK43QenVw mENnxA/r/dFFXnQRTutAUOj+D7/0Aj6j02W2I5V8I/ZoargjEXX6dFjiHdhyzw/32HUfar r/nVOzROexlkdHgOe6KeNfzK/nPXaSLLCG4UH7e0LdzDMTw7UpM4R/mVLaRRQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086894; a=rsa-sha256; cv=none; b=M/EAKAgLQIRlkjCX+K6PRX2Pp3I5WKQlOnYVY2ZzoIXZU/P35bZ+TwXzCCmf9Jd/V0SIDt jpeIKj8nfId9le1mth9zREaMvSyOQwsd6AUYCwY36RRWo6RiX+Zk7m4EE/0/usnK9QcquC np9lgKxiE7Iajd6YIj6JpcfY+KLGe81SXqV69sxN3KOrNnOcQWllTcPI2/FM+vPO3XiX3G xM8pwhb60U00uB9Pl+IeBSiQYM22qmicmRCuSzEnGyCbUAE48vqRVPPCXibHiKwR1l3u5s SQcwIIEipL9WrdZWGKrtQnPJsmdAxDOIF6CMA96l2wqJYFhyzl+d7+w5dKFhQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4Z24jqzgcr; Fri, 17 Mar 2023 21:01: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 32HL1YE9015157; Fri, 17 Mar 2023 21:01:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1Yq5015156; Fri, 17 Mar 2023 21:01:34 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:34 GMT Message-Id: <202303172101.32HL1Yq5015156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 8eb1e5dd77ca - stable/13 - daemon: more human-friendly variable names List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8eb1e5dd77ca4a631f3114d24b8a8c8a158571ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8eb1e5dd77ca4a631f3114d24b8a8c8a158571ac commit 8eb1e5dd77ca4a631f3114d24b8a8c8a158571ac Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-02 03:00:43 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: more human-friendly variable names Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 (cherry picked from commit 129ec8f4805ec3f33480873dc9cf3b8404c9ece8) --- usr.sbin/daemon/daemon.c | 94 ++++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 6904dfa1896f..af387574c4b5 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -64,7 +64,7 @@ struct log_params { const char *syslog_tag; int syslog_priority; int syslog_facility; - int noclose; + int keep_fds_open; int output_fd; bool syslog_enabled; }; @@ -147,27 +147,27 @@ main(int argc, char *argv[]) bool supervision_enabled = false; bool log_reopen = false; char *p = NULL; - const char *pidfile = NULL; - const char *ppidfile = NULL; + const char *child_pidfile = NULL; + const char *parent_pidfile = NULL; const char *title = NULL; const char *user = NULL; int ch = 0; int child_eof = 0; - int nochdir = 1; + int keep_cur_workdir = 1; int pfd[2] = { -1, -1 }; int restart = 0; int stdmask = STDOUT_FILENO | STDERR_FILENO; - struct log_params logpar = { + struct log_params logparams = { .syslog_enabled = false, .syslog_priority = LOG_NOTICE, .syslog_tag = "daemon", .syslog_facility = LOG_DAEMON, - .noclose = 1, + .keep_fds_open = 1, .output_fd = -1, .output_filename = NULL }; - struct pidfh *ppfh = NULL; - struct pidfh *pfh = NULL; + struct pidfh *parent_pidfh = NULL; + struct pidfh *child_pidfh = NULL; sigset_t mask_orig; sigset_t mask_read; sigset_t mask_term; @@ -181,20 +181,20 @@ main(int argc, char *argv[]) while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': - nochdir = 0; + keep_cur_workdir = 0; break; case 'f': - logpar.noclose = 0; + logparams.keep_fds_open = 0; break; case 'H': log_reopen = true; break; case 'l': - logpar.syslog_facility = get_log_mapping(optarg, facilitynames); - if (logpar.syslog_facility == -1) { + logparams.syslog_facility = get_log_mapping(optarg, facilitynames); + if (logparams.syslog_facility == -1) { errx(5, "unrecognized syslog facility"); } - logpar.syslog_enabled = true; + logparams.syslog_enabled = true; break; case 'm': stdmask = strtol(optarg, &p, 10); @@ -203,13 +203,13 @@ main(int argc, char *argv[]) } break; case 'o': - logpar.output_filename = optarg; + logparams.output_filename = optarg; break; case 'p': - pidfile = optarg; + child_pidfile = optarg; break; case 'P': - ppidfile = optarg; + parent_pidfile = optarg; break; case 'r': restart = 1; @@ -221,21 +221,21 @@ main(int argc, char *argv[]) } break; case 's': - logpar.syslog_priority = get_log_mapping(optarg, prioritynames); - if (logpar.syslog_priority == -1) { + logparams.syslog_priority = get_log_mapping(optarg, prioritynames); + if (logparams.syslog_priority == -1) { errx(4, "unrecognized syslog priority"); } - logpar.syslog_enabled = true; + logparams.syslog_enabled = true; break; case 'S': - logpar.syslog_enabled = true; + logparams.syslog_enabled = true; break; case 't': title = optarg; break; case 'T': - logpar.syslog_tag = optarg; - logpar.syslog_enabled = true; + logparams.syslog_tag = optarg; + logparams.syslog_enabled = true; break; case 'u': user = optarg; @@ -258,28 +258,28 @@ main(int argc, char *argv[]) title = argv[0]; } - if (logpar.output_filename) { - logpar.output_fd = open_log(logpar.output_filename); - if (logpar.output_fd == -1) { + if (logparams.output_filename) { + logparams.output_fd = open_log(logparams.output_filename); + if (logparams.output_fd == -1) { err(7, "open"); } } - if (logpar.syslog_enabled) { - openlog(logpar.syslog_tag, LOG_PID | LOG_NDELAY, logpar.syslog_facility); + if (logparams.syslog_enabled) { + openlog(logparams.syslog_tag, LOG_PID | LOG_NDELAY, logparams.syslog_facility); } /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently */ - open_pid_files(pidfile, ppidfile, &pfh, &ppfh); - if (daemon(nochdir, logpar.noclose) == -1) { + open_pid_files(child_pidfile, parent_pidfile, &child_pidfh, &parent_pidfh); + if (daemon(keep_cur_workdir, logparams.keep_fds_open) == -1) { warn("daemon"); goto exit; } /* Write out parent pidfile if needed. */ - pidfile_write(ppfh); + pidfile_write(parent_pidfh); /* * Supervision mode is enabled if one of the following options are used: @@ -298,11 +298,11 @@ main(int argc, char *argv[]) * To achieve this daemon catches SIGTERM and * forwards it to the child, expecting to get SIGCHLD eventually. */ - supervision_enabled = pidfile != NULL || - ppidfile != NULL || + supervision_enabled = child_pidfile != NULL || + parent_pidfile != NULL || restart != 0 || - logpar.output_fd != -1 || - logpar.syslog_enabled == true; + logparams.output_fd != -1 || + logparams.syslog_enabled == true; if (supervision_enabled) { struct sigaction act_term = { 0 }; @@ -351,7 +351,7 @@ main(int argc, char *argv[]) * not have superuser privileges. */ (void)madvise(NULL, 0, MADV_PROTECT); - if (log_reopen && logpar.output_fd >= 0 && + if (log_reopen && logparams.output_fd >= 0 && sigaction(SIGHUP, &act_hup, NULL) == -1) { warn("sigaction"); goto exit; @@ -383,7 +383,7 @@ restart: } if (pid <= 0) { /* Now that we are the child, write out the pid. */ - pidfile_write(pfh); + pidfile_write(child_pidfh); if (user != NULL) { restrict_process(user); @@ -451,7 +451,7 @@ restart: warn("sigprocmask"); goto exit; } - child_eof = !listen_child(pfd[0], &logpar); + child_eof = !listen_child(pfd[0], &logparams); if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { warn("sigprocmask"); goto exit; @@ -482,14 +482,14 @@ restart: goto restart; } exit: - close(logpar.output_fd); + close(logparams.output_fd); close(pfd[0]); close(pfd[1]); - if (logpar.syslog_enabled) { + if (logparams.syslog_enabled) { closelog(); } - pidfile_remove(pfh); - pidfile_remove(ppfh); + pidfile_remove(child_pidfh); + pidfile_remove(parent_pidfh); exit(1); /* If daemon(3) succeeded exit status does not matter. */ } @@ -652,7 +652,7 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) if (write(logpar->output_fd, buf, len) == -1) warn("write"); } - if (logpar->noclose && !logpar->syslog_enabled && logpar->output_fd == -1) { + if (logpar->keep_fds_open && !logpar->syslog_enabled && logpar->output_fd == -1) { printf("%.*s", (int)len, buf); } } @@ -701,15 +701,15 @@ open_log(const char *outfn) } static void -reopen_log(struct log_params *lpp) +reopen_log(struct log_params *logparams) { int outfd; do_log_reopen = 0; - outfd = open_log(lpp->output_filename); - if (lpp->output_fd >= 0) { - close(lpp->output_fd); + outfd = open_log(logparams->output_filename); + if (logparams->output_fd >= 0) { + close(logparams->output_fd); } - lpp->output_fd = outfd; + logparams->output_fd = outfd; } From nobody Fri Mar 17 21:01:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4b6yr1z3yqp5; Fri, 17 Mar 2023 21:01: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 4Pdc4b4G1bz3qLW; Fri, 17 Mar 2023 21:01:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MuQSO9XtFz7nA02emrJ3OVMI8q5wAwF2kXLu+AmXY5U=; b=U0Ue755ivQt0dYfgFF9/fehaN4QFCvgkkYOxqrUxEXjXXHX9JZf5A2eeV7LTIswv5kWekZ Fylwc9W1uJXSlXyMomFtByBvP324MITIA0RuCWxO4pMDR2LWYMiqYTkO4kdWj9H9OmjEPB 2T+3J9xQsAP9G7rHmXxz4yNc0CDUpvWtrecnAeBXVcsi/2d2gsFrc32Go++em3vKoRMFDP FoZvUIUkhrArvXBofeZMzB5wELMywb6PPJ5c91oPAq6ETIGNQVEYdGtA9hcRjcIeDdIz11 LeAjf1tUyYtsIk7AC18NicF98bCfKohyGlojtkAQRXcprr0AiCYL+gOcYYR6OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MuQSO9XtFz7nA02emrJ3OVMI8q5wAwF2kXLu+AmXY5U=; b=PclT1YCVBp4K/9qCuR24odbaAqwLfp2B7j05ySE9Lm2e/U5TiZSTbyyujPUoZ8+/hnA47w q48nYGvxO5V7td9I3YJ4HMpVJ+tpPISxeZlZyXVieqNtoi0jPZd3rv+4EkT4gJH6KxU4FH km631Rkzs/q3Kc+d4ifE2L7ib0FmSrEzjtFZcTEFO4Zm0Ifh5lySsfG2hn11glMEKSX6pJ VKmWlJHTSPEYV6bq5bwtky4eJ8gcEcFqAzuLCtE0e7fWKelOGD7A+g+m1HwG76NHar4cpJ mU9EolXov3OT9dzWx7zQC+NSlFjx7OH4CYkq7DoHK+Kr7RJu2h3cflsWetoswQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086895; a=rsa-sha256; cv=none; b=XmqIGhSU8LNYWzXMaMjxePhOqWc0jSEvc7Q7aB0glkI6SU3NYRCOmQGqlZLG/+isPBzQGF Sn1pOadowFGvx7sktCr5a9cL+T9O1yHyKbJUGLAwFuz0OEgeVR1Kj3WNfmJxTZxlLW+XPn oJFmgO2oW6i83Aoxrewcwe5DlA+s/AlNwlgxna6dBKCOT8pgK/xU2ILBp1Bqwhn0jpv3si 9YAlkgu2PYsDYK9YIupK04olmFnj5R8dQ5y9HxPHFIz7m2U6+pjQlz89YRdMZIXssNQhY0 j139G9CNz5gQJ/HpgTZ2cmD0A4fxTbuxZg/5KwQTz24DiXflDJQcbgCN2qb4cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4b34xPzgjy; Fri, 17 Mar 2023 21:01: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 32HL1ZE2015182; Fri, 17 Mar 2023 21:01:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1Zoa015181; Fri, 17 Mar 2023 21:01:35 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:35 GMT Message-Id: <202303172101.32HL1Zoa015181@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 05578dd5218d - stable/13 - daemon: style changes List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 05578dd5218d3255eee2faccc0d5facd7dff10b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=05578dd5218d3255eee2faccc0d5facd7dff10b5 commit 05578dd5218d3255eee2faccc0d5facd7dff10b5 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:01 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: style changes This is not a functional change. - Clean up whitespace (spaces where there should be tabs) - Break up lines that are longer than 80 Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit 39ea4280e4c5e41f237e55770f4f62b04b24d899) --- usr.sbin/daemon/daemon.c | 75 ++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index af387574c4b5..16e22efed68e 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -138,7 +138,7 @@ usage(int exitcode) " --syslog-tag -T <tag> Set syslog tag\n" " --help -h Show this help\n"); - exit(exitcode); + exit(exitcode); } int @@ -165,7 +165,7 @@ main(int argc, char *argv[]) .keep_fds_open = 1, .output_fd = -1, .output_filename = NULL - }; + }; struct pidfh *parent_pidfh = NULL; struct pidfh *child_pidfh = NULL; sigset_t mask_orig; @@ -190,17 +190,18 @@ main(int argc, char *argv[]) log_reopen = true; break; case 'l': - logparams.syslog_facility = get_log_mapping(optarg, facilitynames); + logparams.syslog_facility = get_log_mapping(optarg, + facilitynames); if (logparams.syslog_facility == -1) { errx(5, "unrecognized syslog facility"); - } + } logparams.syslog_enabled = true; break; case 'm': stdmask = strtol(optarg, &p, 10); if (p == optarg || stdmask < 0 || stdmask > 3) { errx(6, "unrecognized listening mask"); - } + } break; case 'o': logparams.output_filename = optarg; @@ -218,13 +219,14 @@ main(int argc, char *argv[]) restart = strtol(optarg, &p, 0); if (p == optarg || restart < 1) { errx(6, "invalid restart delay"); - } + } break; case 's': - logparams.syslog_priority = get_log_mapping(optarg, prioritynames); + logparams.syslog_priority = get_log_mapping(optarg, + prioritynames); if (logparams.syslog_priority == -1) { errx(4, "unrecognized syslog priority"); - } + } logparams.syslog_enabled = true; break; case 'S': @@ -240,9 +242,9 @@ main(int argc, char *argv[]) case 'u': user = optarg; break; - case 'h': + case 'h': usage(0); - __builtin_unreachable(); + __builtin_unreachable(); default: usage(1); } @@ -252,22 +254,23 @@ main(int argc, char *argv[]) if (argc == 0) { usage(1); - } + } if (!title) { title = argv[0]; - } + } if (logparams.output_filename) { logparams.output_fd = open_log(logparams.output_filename); if (logparams.output_fd == -1) { err(7, "open"); - } + } } if (logparams.syslog_enabled) { - openlog(logparams.syslog_tag, LOG_PID | LOG_NDELAY, logparams.syslog_facility); - } + openlog(logparams.syslog_tag, LOG_PID | LOG_NDELAY, + logparams.syslog_facility); + } /* * Try to open the pidfile before calling daemon(3), @@ -359,7 +362,7 @@ main(int argc, char *argv[]) restart: if (pipe(pfd)) { err(1, "pipe"); - } + } /* * Spawn a child to exec the command. */ @@ -387,7 +390,7 @@ restart: if (user != NULL) { restrict_process(user); - } + } /* * When forking, the child gets the original sigmask, * and dup'd pipes. @@ -396,21 +399,21 @@ restart: close(pfd[0]); if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { err(1, "sigprogmask"); - } + } if (stdmask & STDERR_FILENO) { if (dup2(pfd[1], STDERR_FILENO) == -1) { err(1, "dup2"); - } + } } if (stdmask & STDOUT_FILENO) { if (dup2(pfd[1], STDOUT_FILENO) == -1) { err(1, "dup2"); - } + } } if (pfd[1] != STDERR_FILENO && pfd[1] != STDOUT_FILENO) { close(pfd[1]); - } + } } execvp(argv[0], argv); /* @@ -471,7 +474,7 @@ restart: } if (restart && !terminate) { daemon_sleep(restart, 0); - } + } if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { warn("sigprocmask"); goto exit; @@ -487,7 +490,7 @@ exit: close(pfd[1]); if (logparams.syslog_enabled) { closelog(); - } + } pidfile_remove(child_pidfh); pidfile_remove(parent_pidfh); exit(1); /* If daemon(3) succeeded exit status does not matter. */ @@ -501,7 +504,7 @@ daemon_sleep(time_t secs, long nsecs) while (!terminate && nanosleep(&ts, &ts) == -1) { if (errno != EINTR) { err(1, "nanosleep"); - } + } } } @@ -545,7 +548,7 @@ get_log_mapping(const char *str, const CODE *c) for (cp = c; cp->c_name; cp++) if (strcmp(cp->c_name, str) == 0) { return cp->c_val; - } + } return -1; } @@ -557,11 +560,11 @@ restrict_process(const char *user) pw = getpwnam(user); if (pw == NULL) { errx(1, "unknown user: %s", user); - } + } if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) { errx(1, "failed to set user environment"); - } + } setenv("USER", pw->pw_name, 1); setenv("HOME", pw->pw_dir, 1); @@ -587,7 +590,7 @@ listen_child(int fd, struct log_params *logpar) if (do_log_reopen) { reopen_log(logpar); - } + } rv = read(fd, buf + bytes_read, LBUF_SIZE - bytes_read - 1); if (rv > 0) { unsigned char *cp; @@ -610,7 +613,7 @@ listen_child(int fd, struct log_params *logpar) /* Wait until the buffer is full. */ if (bytes_read < LBUF_SIZE - 1) { return 1; - } + } do_output(buf, bytes_read, logpar); bytes_read = 0; return 1; @@ -644,17 +647,19 @@ do_output(const unsigned char *buf, size_t len, struct log_params *logpar) if (len < 1) { return; - } + } if (logpar->syslog_enabled) { syslog(logpar->syslog_priority, "%.*s", (int)len, buf); - } + } if (logpar->output_fd != -1) { if (write(logpar->output_fd, buf, len) == -1) warn("write"); } - if (logpar->keep_fds_open && !logpar->syslog_enabled && logpar->output_fd == -1) { + if (logpar->keep_fds_open && + !logpar->syslog_enabled && + logpar->output_fd == -1) { printf("%.*s", (int)len, buf); - } + } } /* @@ -666,7 +671,7 @@ handle_term(int signo) { if (pid > 0 && !child_gone) { kill(pid, signo); - } + } terminate = 1; } @@ -709,7 +714,7 @@ reopen_log(struct log_params *logparams) outfd = open_log(logparams->output_filename); if (logparams->output_fd >= 0) { close(logparams->output_fd); - } + } logparams->output_fd = outfd; } From nobody Fri Mar 17 21:01:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4c6T8Xz3yqpB; Fri, 17 Mar 2023 21:01: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 4Pdc4c5RlZz3q7d; Fri, 17 Mar 2023 21:01:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqtmyKVnvTQ2nqh12OCTAcNAKCHqg3X9xDb76vVi5CE=; b=MFFQqNmd4t+7nG79RXre94J+Z0kdQN5qjIhm3JXazJ7xGbjNHdt/EZPdAEImwe0UIJVtEt BSUbMuxYlpSFkCLh8RAPfvFjbiCIYCSswo6elv/hc62c0Nj21421KOatjq5M9gvrv2+4cZ yLiPxJwf8rm+iNKBQQZz/1CC3c8kVYLHsq7nnN1qEDofNRyxonI8FFFJ9LgupTq75XdbvJ /YaT0I+sGJ7OS4RkH1lVMTw81uEwy1iPwTcebdDwMiyHUCEMkbO/YfB0hnXxk4UivMnIlc TgtBlAIbplpXNlfxa3CEjI3WkbBtjf1N+IKknFga3vGDEcWXaOAeGaiEQPTJqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqtmyKVnvTQ2nqh12OCTAcNAKCHqg3X9xDb76vVi5CE=; b=OdEdVrG3GyFSTAsjAxM/PE3X0FHFP6gr2LmVQJ0M/3AWWrckvmpqpg6mMl61Oh+2k+oxRA D0i18YjrodLxIH1bOp/03mcbUO+7NFSuqpOPphJ1uMaQ9hCyG3U/0we2X1qEDGCOH8YERu 5ylkUsL+x+cOZTO4NCr5eJqybsm258RHtBi2iEXCGI7njK3xLRtGcF9iEWvUtga/AlKh9M kPSmrakdSXH2ExznrzWDZNzUV3tQDalt8FyYlZaD4P3aMsdDWzaS9aSB1R6gtUvHvNv9FO 0GyVM5oinIc4HfeXLtP6KOJ3Xla9LHaDZMJHSaMy12MlfhYi2/KG3Zm2G5kRKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086896; a=rsa-sha256; cv=none; b=VZFeexlX2uNbwHEt3CG2tGrhbXfnAsJp0HjaAFA+uPFvn1sf/h16BuaqDzr21JTYwl4x/c 711DqcdY7jO9CbHIqGXvp/aTd7CgQYp+N0kwDu+CU14k6k9mrOMH+MlYGrMStzI2KnMPjI GYnyhYqiBRB/b6nA+6l0ruhq6nF4Ozghl2ApwPa7ywlb2gV/ciB0FL2fnmr8ikoiCz6lAG vjhk3rqWJWbRIVKPshYufi1gDtuUkg1V+e6Zs2R6DL/TfnlYHAUgCseJN5FM1WZvKIu+CN c9Wh2DleACCuro/8faVdpj4sQhCoWeX/csCW7O6EdIChAW3r50yQswEG6LeloA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4c4SCszgcs; Fri, 17 Mar 2023 21:01: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 32HL1aNi015205; Fri, 17 Mar 2023 21:01:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1aNU015204; Fri, 17 Mar 2023 21:01:36 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:36 GMT Message-Id: <202303172101.32HL1aNU015204@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 204306b0532a - stable/13 - daemon: flatten and simplify fork() logic List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 204306b0532a9c9d2fdf07b88e33ef71a921cc29 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=204306b0532a9c9d2fdf07b88e33ef71a921cc29 commit 204306b0532a9c9d2fdf07b88e33ef71a921cc29 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: flatten and simplify fork() logic Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit 75f61ca92098941f73020f46674f0c40db7270fb) --- usr.sbin/daemon/daemon.c | 53 ++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 16e22efed68e..964a77deb0f9 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -84,7 +84,7 @@ static void daemon_sleep(time_t, long); static volatile sig_atomic_t terminate = 0; static volatile sig_atomic_t child_gone = 0; -static volatile sig_atomic_t pid = -1; +static volatile sig_atomic_t pid = 0; static volatile sig_atomic_t do_log_reopen = 0; static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; @@ -368,34 +368,27 @@ restart: */ child_gone = 0; pid = fork(); - if (pid == -1) { - warn("fork"); - goto exit; - } else if (pid > 0) { - /* - * Unblock SIGTERM after we know we have a valid - * child PID to signal. - */ - if (sigprocmask(SIG_UNBLOCK, &mask_term, NULL)) { - warn("sigprocmask"); - goto exit; - } - close(pfd[1]); - pfd[1] = -1; - } } - if (pid <= 0) { - /* Now that we are the child, write out the pid. */ + + /* fork failed, this can only happen when supervision is enabled */ + if (pid == -1) { + warn("fork"); + goto exit; + } + + + /* fork succeeded, this is child's branch or supervision is disabled */ + if (pid == 0) { pidfile_write(child_pidfh); if (user != NULL) { restrict_process(user); } /* - * When forking, the child gets the original sigmask, + * In supervision mode, the child gets the original sigmask, * and dup'd pipes. */ - if (pid == 0) { + if (supervision_enabled) { close(pfd[0]); if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { err(1, "sigprogmask"); @@ -416,12 +409,24 @@ restart: } } execvp(argv[0], argv); - /* - * execvp() failed -- report the error. The child is - * now running, so the exit status doesn't matter. - */ + /* execvp() failed - report error and exit this process */ err(1, "%s", argv[0]); } + + /* + * else: pid > 0 + * fork succeeded, this is the parent branch, this can only happen when + * supervision is enabled + * + * Unblock SIGTERM after we know we have a valid child PID to signal. + */ + if (sigprocmask(SIG_UNBLOCK, &mask_term, NULL)) { + warn("sigprocmask"); + goto exit; + } + close(pfd[1]); + pfd[1] = -1; + setproctitle("%s[%d]", title, (int)pid); /* * As we have closed the write end of pipe for parent process, From nobody Fri Mar 17 21:01:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4f00Dmz3yqpD; Fri, 17 Mar 2023 21:01: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 4Pdc4d6FFJz3qSm; Fri, 17 Mar 2023 21:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bMBE/rl556JWR3j1MolKXKDQ36Ip3zhWPivTSoJ8MGo=; b=ONvWIA610E1LuJO8JzEvsH42+oT6Nz70tSnOMqTG9/SyFq8coc+b3RTbGeAYrFGp66myV3 2OrDfEDqio2PMApzRgcuzH1ziTdCathj+0+bFLRhFG4yroKP9zHFggpRin1axLGAfhJ7Lg iNJ2StHpsja3ZBgjquVpEL/qiGodcF/xt+izqXhtTBCHQJNitD3TAdbhaNaa3u7KsaOZpd tjEdZ4/Tiu6//b71L5UOLN7ciemzZoDOz+HSS6PI1LGOT7Kyk5QQXyM4prMRN61bYrLK3I V4vVT9Uy5ki7PAVJh54SulK0DAznNgqNCVGRfTM8VkqAp68aIsVznjO+/mUv0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bMBE/rl556JWR3j1MolKXKDQ36Ip3zhWPivTSoJ8MGo=; b=tMg9F0dUPlxB4Uk2Uu/PZX1WUA6+A71iXvm2c6koIXW4B4mnbtqi8Tkv776da1ybdWn64i uXewe5AoDHS8r38d9baa04ARtW0faJPsBThfB2palVFfY1NDaIjpThGwgXZgFAN5z8ynYP 3NETZRM9C+tFKrovFbX9sf63yl1D+TeNg2LKrRq8dG3kc/qdhh+psBBVBaTWxAfkryIrrC zbvs9qEDmxEebriKt0+tI2CNLZDiiiNR27MHGgcv8H0OfoGY3V9LZvO2T79v7ZMBOt1V0W tBGG7nBlv6ax34oGLd8bcAwUQBbgMAYyuRh0VcqEN1n3mX34shpq4EBkTew9/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086897; a=rsa-sha256; cv=none; b=FD20HSja9YbHtsOZ6/zSoZPu7AkTkrb2pzQflIv++WOadrMH7l+lxb4ZVjL8Htjgrovkef E0Puze21Mi5MpUwoiIOJJUVf/yr2dph+83yJLYxnyE2KspQ9EmW0MpsFXduhi4SIzP4/8N ITw/SwbSBSVOU7+HCN89wLUfXo6J7nWiuwF80PEzThuHYtOEmMoMWe0/smmtrq4Chv3CyX tiyrEdyh01AEa1ephrGntEWTZRudtHjXtqDMw1jt/Bnd6ePLYQvb4k121VOQBz2OFPuFUx ApzbAr99oOoR+8AU/5SlQ5uNf/UfZw/zeXrgp3WIyD0ViftmEnUUMfcSdrbATQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4d5Gc0zgk1; Fri, 17 Mar 2023 21:01: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 32HL1bEb015224; Fri, 17 Mar 2023 21:01:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1baR015223; Fri, 17 Mar 2023 21:01:37 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:37 GMT Message-Id: <202303172101.32HL1baR015223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: bb2e206cae8b - stable/13 - daemon: change type of listen_child() to C99 bool List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bb2e206cae8ba120f9d1ef78149e61ff3f003fb0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bb2e206cae8ba120f9d1ef78149e61ff3f003fb0 commit bb2e206cae8ba120f9d1ef78149e61ff3f003fb0 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: change type of listen_child() to C99 bool Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit bc43a9a7157a8249a492ee3efd8589369dd94228) --- usr.sbin/daemon/daemon.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 964a77deb0f9..5c636bcd0a03 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -73,9 +73,9 @@ static void restrict_process(const char *); static void handle_term(int); static void handle_chld(int); static void handle_hup(int); -static int open_log(const char *); +static int open_log(const char *); static void reopen_log(struct log_params *); -static int listen_child(int, struct log_params *); +static bool listen_child(int, struct log_params *); static int get_log_mapping(const char *, const CODE *); static void open_pid_files(const char *, const char *, struct pidfh **, struct pidfh **); @@ -146,13 +146,13 @@ main(int argc, char *argv[]) { bool supervision_enabled = false; bool log_reopen = false; + bool child_eof = false; char *p = NULL; const char *child_pidfile = NULL; const char *parent_pidfile = NULL; const char *title = NULL; const char *user = NULL; int ch = 0; - int child_eof = 0; int keep_cur_workdir = 1; int pfd[2] = { -1, -1 }; int restart = 0; @@ -580,10 +580,10 @@ restrict_process(const char *user) * We try to collect whole lines terminated by '\n'. Otherwise we collect a * full buffer, and then output it. * - * Return value of 0 is assumed to mean EOF or error, and 1 indicates to + * Return value of false is assumed to mean EOF or error, and true indicates to * continue reading. */ -static int +static bool listen_child(int fd, struct log_params *logpar) { static unsigned char buf[LBUF_SIZE]; @@ -617,18 +617,18 @@ listen_child(int fd, struct log_params *logpar) } /* Wait until the buffer is full. */ if (bytes_read < LBUF_SIZE - 1) { - return 1; + return true; } do_output(buf, bytes_read, logpar); bytes_read = 0; - return 1; + return true; } else if (rv == -1) { /* EINTR should trigger another read. */ if (errno == EINTR) { - return 1; + return true; } else { warn("read"); - return 0; + return false; } } /* Upon EOF, we have to flush what's left of the buffer. */ @@ -636,7 +636,7 @@ listen_child(int fd, struct log_params *logpar) do_output(buf, bytes_read, logpar); bytes_read = 0; } - return 0; + return false; } /* From nobody Fri Mar 17 21:01:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4g0hbbz3yqtV; Fri, 17 Mar 2023 21:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pdc4g0F3Qz3qVQ; Fri, 17 Mar 2023 21:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMiSD0saxnL2kLczMkwME0tzQCWEhDSBTdHPXvkQrt0=; b=dzjaJETfqwR/toR4UPFYPnlJpbWrB9ZbG9TB2/M3cvSme9sMGCzJhQzUuEzAOuJQuqAN0w XmJ1teJA3bq9T2vVCYy/6p2XZx9AXvcNhxyv/+NLswuYRalCHiFMJheZZbTi5URCNxEGyj d3OwT3FMrA6DKaz1Gm+wyyS0/1/P3FpG9RzDC2ISPcEm27k4TG6T9vbRe+cnYqdOLk4iop EhsaanPNpihzhKPXCL5fKzUn39Tie6HY+QQ+AV2ONR1C3sr/RY4GwYs+SW/KcoQRniaI1u jA3cE1VYsRFxvyFynB0a2QLM2kwMtakajDKLCm2i61+GySx2b4lAqFOT0JpnUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMiSD0saxnL2kLczMkwME0tzQCWEhDSBTdHPXvkQrt0=; b=R9FMp0QKpQXl5JybzGhOV9nmH9wEQl7xOuJgH0QqYQq6xt4RBPaEHY+1LkWYvgpXu6onjz LTFkhzvw+dZbTpWcIsZVProwyiO9glwuqDVxNxW36kpc4gveOqSx1ZuJM0hyS2yq8EkXpq xKBchZUbcHxeOsVwT38EWihJw6dcL/+FKlS54zWjedGuik4BJJbgdl5Nc2TwBDEW6jh8S7 6WueG4Xcg8kxQTODsTey/JLFK4uLb7DWWYqsP/16hw6lC7ijDxrCTRRoWw302X+I8Emkkb sFAeaSyq1XiXWs4YHrXkyHi/iMYxZdKKnUj2OqWo4goCV68EKuFg7jiuqeVh7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086899; a=rsa-sha256; cv=none; b=hLCkFnk8QyQld3ZAp4P5DLS/0B/LbTKYiQJoAE4hMP3J+4HKsg64lp/VXx2ez/3xMRzIlr bLa4yWXMuedrqYNHT3VdHSKquHH+fCE7FYEv4e6cf36g5szK44uZX20XowP5BYUN+6pYOf mXBR+5tb5WjOIbqeN+3MxE8nh77UdIOSGddV/PWKl2uFGN8t/+xYQPOM6zUFXaZsI+PdFk zebqTxR9hKubEwgKo7elQwmXGq2YgmPmaFT3L5q6De5WOT/+Bll3tTiRcBfpGNKL/tKMb0 PNQHiJxRLfp7uZ8iHr8xWSv/eeZPt1IAsNW7mCZbQ+1kJRNRt06/nuxTx/7QkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4f6K5xzgcw; Fri, 17 Mar 2023 21:01: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 32HL1cGL015246; Fri, 17 Mar 2023 21:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1c3x015245; Fri, 17 Mar 2023 21:01:38 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:38 GMT Message-Id: <202303172101.32HL1c3x015245@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: bc9d2ee0a7ac - stable/13 - daemon: simplify if/else chain List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bc9d2ee0a7acab55e2625d10f937305b8ba4231a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bc9d2ee0a7acab55e2625d10f937305b8ba4231a commit bc9d2ee0a7acab55e2625d10f937305b8ba4231a Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:02 +0000 daemon: simplify if/else chain Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de) --- usr.sbin/daemon/daemon.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 5c636bcd0a03..2274a3e253a0 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -452,22 +452,16 @@ restart: */ if (child_gone && child_eof) { break; - } else if (terminate) { + } + + if (terminate) { goto exit; - } else if (!child_eof) { - if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { - warn("sigprocmask"); - goto exit; - } - child_eof = !listen_child(pfd[0], &logparams); - if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { - warn("sigprocmask"); - goto exit; - } - } else { + } + + if (child_eof) { if (sigprocmask(SIG_BLOCK, &mask_susp, NULL)) { warn("sigprocmask"); - goto exit; + goto exit; } while (!terminate && !child_gone) sigsuspend(&mask_orig); @@ -475,7 +469,21 @@ restart: warn("sigprocmask"); goto exit; } + continue; + } + + if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { + warn("sigprocmask"); + goto exit; } + + child_eof = !listen_child(pfd[0], &logparams); + + if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { + warn("sigprocmask"); + goto exit; + } + } if (restart && !terminate) { daemon_sleep(restart, 0); From nobody Fri Mar 17 21:01:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4h5mGFz3yqfb; Fri, 17 Mar 2023 21:01:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pdc4h1jC2z3qQj; Fri, 17 Mar 2023 21:01:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y8m32qozuw8DixSJgNmvOGNfVDt4L5vJGM6EKLweSJw=; b=rSspsmfPA/FxxPg//DKxK5jxXZdAuySrUu98ywJrKu/CT4lkMXJ74w4YRtzaXi0LrFH5jY aFvK5QzqfypwC+nXEZnBg7c/2/RKvsOalXxziOwylHme/If+X6xtT0y6RFizTOcqJX8uLj tX0d/QuVEqcATwEyZM1i5USswZv80H72VIKn+6jqkZJw2ApnidV/qtTqrjXk/Ma8+1LDBm pFyWlEEL10/8rrf/W+rRdrEJ4/e0TZGu4vIJQgWUx3P57zgic6EkfaPnqMF6uX69kGtwWK EOVMsImfstvA147+EI5QGp2M9Yh/42duHTS7xwFuKm6937KTNYK+/abbKK44fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y8m32qozuw8DixSJgNmvOGNfVDt4L5vJGM6EKLweSJw=; b=Zr+diXwlNSfv1mZKXDJ1B013mHS6MJyIq5oaS7d+f7FOAkB5e9P13lDpfwE578mC54mkln eL5hOG3akYHhu3bmwTEhEbnP6KwBXeg2SpbGporzOt7erXqs9UtCmXo2aMRZAmhjSupsCC Hw6a1PAcYUJL/Iu3tHt5aZRpoBwdt32in9DxCHM6Jlvhe1X8dKIyhPCBPzPiT9JAjg+V+j gcC2Cv/lcBDASeRKZuhwGpVwaSfJPXloWb2Cj8XM6SPo5Sp3D5Gw2Jq7nBMOCmzrx0og39 ZP9Nx640L6pxC2XBMe5nCJxzyjq6JsEoNUedgsWeXh2le6IFIE2y3+ixa5n47A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086900; a=rsa-sha256; cv=none; b=dmVhUIGW37N3n0K21TZoNJpiUEl2nwyfmRrxmsWuLp9y9rQl4tVFy2uFR0pL8mHyaXwwvY j3Kh/EsAySXNPQcYHOjm5Ttll5156NgylzNAE8tEP/iOlqP0GryHVJ7wgjPHcJmRZLdtO1 87Dm3Q0vB2fe1RpW9LqxtGAubkoR1v+Dhy4W4QGTUd22G76d3SKLpD+YAmsYkQosiVH7of H1KRRnOgkpzQNXf2s6vyIHAGUrJdooQCTjKaDHfxE9UFZZ4gwNvx7QXHx7eVc9ZirjPp9j jwYrpsf9AwS737jaUlOYHvvoNMwg36TJ7fHFxRYUyKmHn57aPFt7y5ivRbe4pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4h0Lgqzgcx; Fri, 17 Mar 2023 21:01: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 32HL1d0i015265; Fri, 17 Mar 2023 21:01:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1dlf015264; Fri, 17 Mar 2023 21:01:39 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:39 GMT Message-Id: <202303172101.32HL1dlf015264@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 3f0b048a24bc - stable/13 - daemon: add braces to while loop List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f0b048a24bcd0ea691bca5a012d5c5cd5203f51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=3f0b048a24bcd0ea691bca5a012d5c5cd5203f51 commit 3f0b048a24bcd0ea691bca5a012d5c5cd5203f51 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:03 +0000 daemon: add braces to while loop Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit d6c398d882b61e02e6f061be81886b9675f3fb5c) --- usr.sbin/daemon/daemon.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 2274a3e253a0..d1efebd0fcc2 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -154,7 +154,7 @@ main(int argc, char *argv[]) const char *user = NULL; int ch = 0; int keep_cur_workdir = 1; - int pfd[2] = { -1, -1 }; + int pipe_fd[2] = { -1, -1 }; int restart = 0; int stdmask = STDOUT_FILENO | STDERR_FILENO; struct log_params logparams = { @@ -360,7 +360,7 @@ main(int argc, char *argv[]) goto exit; } restart: - if (pipe(pfd)) { + if (pipe(pipe_fd)) { err(1, "pipe"); } /* @@ -389,23 +389,23 @@ restart: * and dup'd pipes. */ if (supervision_enabled) { - close(pfd[0]); + close(pipe_fd[0]); if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { err(1, "sigprogmask"); } if (stdmask & STDERR_FILENO) { - if (dup2(pfd[1], STDERR_FILENO) == -1) { + if (dup2(pipe_fd[1], STDERR_FILENO) == -1) { err(1, "dup2"); } } if (stdmask & STDOUT_FILENO) { - if (dup2(pfd[1], STDOUT_FILENO) == -1) { + if (dup2(pipe_fd[1], STDOUT_FILENO) == -1) { err(1, "dup2"); } } - if (pfd[1] != STDERR_FILENO && - pfd[1] != STDOUT_FILENO) { - close(pfd[1]); + if (pipe_fd[1] != STDERR_FILENO && + pipe_fd[1] != STDOUT_FILENO) { + close(pipe_fd[1]); } } execvp(argv[0], argv); @@ -424,8 +424,8 @@ restart: warn("sigprocmask"); goto exit; } - close(pfd[1]); - pfd[1] = -1; + close(pipe_fd[1]); + pipe_fd[1] = -1; setproctitle("%s[%d]", title, (int)pid); /* @@ -463,8 +463,9 @@ restart: warn("sigprocmask"); goto exit; } - while (!terminate && !child_gone) + while (!terminate && !child_gone) { sigsuspend(&mask_orig); + } if (sigprocmask(SIG_UNBLOCK, &mask_susp, NULL)) { warn("sigprocmask"); goto exit; @@ -477,7 +478,7 @@ restart: goto exit; } - child_eof = !listen_child(pfd[0], &logparams); + child_eof = !listen_child(pipe_fd[0], &logparams); if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { warn("sigprocmask"); @@ -493,14 +494,14 @@ restart: goto exit; } if (restart && !terminate) { - close(pfd[0]); - pfd[0] = -1; + close(pipe_fd[0]); + pipe_fd[0] = -1; goto restart; } exit: close(logparams.output_fd); - close(pfd[0]); - close(pfd[1]); + close(pipe_fd[0]); + close(pipe_fd[1]); if (logparams.syslog_enabled) { closelog(); } From nobody Fri Mar 17 21:01:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4j2xcVz3yqff; Fri, 17 Mar 2023 21:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pdc4j1xncz3qYX; Fri, 17 Mar 2023 21:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=30CCbIcxp1R/w7MHCneZ2NtTePIrbJ69MdhFFLwgu4E=; b=QHJFc7U2PAjHr2XVgkULdp9gf7LpjXSSYL0jhxwXO/arc0/LbiqeDCrKjtNFdVxCSJYsVP GhEXmrtMrivCaAqZHae7Td4TpTmrPbki1jdUrhv3TPJu5Em3Qacr/Ng7V8BHsoqYBm+6xp guROjGtIvk4x9ev4jYoNSjC5JWpsIO4tc27XSeIt2x0sbCBRMXPVhJM7M6f/6rvPH/10x1 69GoKO8VGzvz783z79Ia4SZGseTcQB8hs/RWSWJHdzCSwJ9uVN7jDt4905UBiQDCmgy9SI pSszcO7RnTBlQrjEnLGEOXoIwZZC7336/ECUn8jjZFdptq8ACUEGtWLZC46OqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=30CCbIcxp1R/w7MHCneZ2NtTePIrbJ69MdhFFLwgu4E=; b=cqkMp8Wo6dyxEskGhKQljvsuIbvhwr8oJj2oe9fOvOCcXzqxu5iFqtyQ4Ftr40LWodQoxC y3OzVYt0b8V71HM5q4Mkt+N1ednamrK+jvOXzZzy9Me2KlybMlCnwPvQbSiRMX1xzgNG4A tr2FaIXd5mNDn04SPUgFgeJDFya+VWy5DZ2HY37x8EYdKc9giTlkylNuirTnIoatUWtr+5 Blr+z6eCvtvWbe6rwsTf8FZSU8jjjj9RnPiLtOxcDgsq3YXPSvOF7j5d1p9MkL4UsiSfnO c4MKRKS7p4syWaF8USAvFfNrBwqBvXQ+yobmLcZeU2lAHwgN3mW1K+7mg2Wp6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086901; a=rsa-sha256; cv=none; b=dn0tCS/+rBpSNIBC9jLvxPVGmV5vsVdCA214JoLgi49yAn2awQQodq0xkoYMhX5aaiI92P sAaSOMYdhk64r7Ziy99fWcl0OLPS3WALI7QzjHFPKkhnOHo2ygAa6FO1So7/2IzfefIefA iCIJd0jkcH2npidmXOPMwZlzkWUTgYKZrg3nG9HG02/NewCO5Skocxm4Eom90KR2e3KkCY FpaYHte/AfM5y26JeMfwthPoBw06bwlkBVZrmFS4z2PmpJcSr4aL8a/VzDsHtRomBp/He1 nfZkj7TpYBXYAC7wmcqsnurpkZvbWxTPLaQSOxbWndSGm2NKccPswe3nh7Infw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4j13FVzgbV; Fri, 17 Mar 2023 21:01: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 32HL1fGe015290; Fri, 17 Mar 2023 21:01:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1fOm015289; Fri, 17 Mar 2023 21:01:41 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:41 GMT Message-Id: <202303172101.32HL1fOm015289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: ec3a7d28289f - stable/13 - daemon: decouple restart variable List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ec3a7d28289f40b55ecbd95bdc6c6e2b008de269 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ec3a7d28289f40b55ecbd95bdc6c6e2b008de269 commit ec3a7d28289f40b55ecbd95bdc6c6e2b008de269 Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:03 +0000 daemon: decouple restart variable The 'restart' variable was responsible for enablement of restart behavior and for restart delay. While it may seem convenient it leads to cluttering the exit/restart logic Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit e781739084e9cb120ef4b6657074d2b7336ee405) --- usr.sbin/daemon/daemon.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index d1efebd0fcc2..08ae5c74b8c2 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -147,6 +147,7 @@ main(int argc, char *argv[]) bool supervision_enabled = false; bool log_reopen = false; bool child_eof = false; + bool restart_enabled = false; char *p = NULL; const char *child_pidfile = NULL; const char *parent_pidfile = NULL; @@ -155,7 +156,7 @@ main(int argc, char *argv[]) int ch = 0; int keep_cur_workdir = 1; int pipe_fd[2] = { -1, -1 }; - int restart = 0; + int restart_delay = 1; int stdmask = STDOUT_FILENO | STDERR_FILENO; struct log_params logparams = { .syslog_enabled = false, @@ -213,11 +214,12 @@ main(int argc, char *argv[]) parent_pidfile = optarg; break; case 'r': - restart = 1; + restart_enabled = true; break; case 'R': - restart = strtol(optarg, &p, 0); - if (p == optarg || restart < 1) { + restart_enabled = true; + restart_delay = strtol(optarg, &p, 0); + if (p == optarg || restart_delay < 1) { errx(6, "invalid restart delay"); } break; @@ -303,8 +305,8 @@ main(int argc, char *argv[]) */ supervision_enabled = child_pidfile != NULL || parent_pidfile != NULL || - restart != 0 || - logparams.output_fd != -1 || + restart_enabled == true || + logparams.output_fd != -1 || logparams.syslog_enabled == true; if (supervision_enabled) { @@ -486,14 +488,14 @@ restart: } } - if (restart && !terminate) { - daemon_sleep(restart, 0); + if (restart_enabled && !terminate) { + daemon_sleep(restart_delay, 0); } if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { warn("sigprocmask"); goto exit; } - if (restart && !terminate) { + if (restart_enabled && !terminate) { close(pipe_fd[0]); pipe_fd[0] = -1; goto restart; From nobody Fri Mar 17 21:01:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pdc4k3wSSz3yqrl; Fri, 17 Mar 2023 21:01: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 4Pdc4k36CDz3qcJ; Fri, 17 Mar 2023 21:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fX2RsK0sdXN8orOy04SJ2IhxRmwyBeCcEtKPAg5aNuw=; b=EPX+14EeMRAtm6zoVLq+pX0fAwYOBUV0m74LJsndkH0/O4Y+VQpYgYWZ+MX3pSHRIxdTmA EAvp04dzfJgKwtyLP9n6ypn1VqhSDFsFl8/JE09Lmf+On/o6ZXYo4cyBeiDMzc69CLUpIn llURS3JnQS2xbvWTqgIYmwS2KuGU1+ssh6qHVQP32HYxz/Q1jbEj+IjhYzrBQhiUOmVjZz rXq5w0flh/GxspF8VgL7/LUuc8R1NtifcIY0SAgbQgPl9jLEdU1s2c7ymBZW4mEjUWyVyU +zdKrzO6WB2LaGGP/CFULzMh5ItPIiFnS47P5UF/Ms46flu1w0SeWt3Oc/paJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679086902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fX2RsK0sdXN8orOy04SJ2IhxRmwyBeCcEtKPAg5aNuw=; b=mhvew+FNwOJdozGoY8a7btOCa+iDRWuVRYF0+naeHNtxaoBj2jR78HzfK2AKNT9i6oOTJI gXaDsxYgopZwC/EPODBteL/DCljD4NMiC/HnMFXLZ7YHIO3p51VnYo/j8KOx0jGDESpKxS QllgCoWUiOmnB5+SgnTfYsEzUFh9eCgUYxJItfJAe+rRDf3rXaM3dkOBYwfBff6b1YPYpd F2XcG/9E/6jGkufUay33lL+GsB1ytyaWQ2PPuY88ZKV18QqhkCnUvYffvU7MW6cmRHc+Wx /dR6k/2qXqMyrJ6eHoaIjMXRjz2+9tjSRHUxYxvCqEfhMHK/XxpX9aJdOZmkMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679086902; a=rsa-sha256; cv=none; b=J/1GHsxD0eqjQTag15XtnGrOVitLuJ5f6Pu5DIE7/HUwpJ/eN986UAzFvz++vYRa1U7nqu MXoYhJ8zU71uLcfcPbcUOSotTzmvgkU/Cj9M0ZJlW3xftMiHnlmDAWfAFboSTbUnYTZMuu vxqFZsiT/ZI/N4lsC8iBTnU+gmvVUpNLrca3XHMwGnhXD//pBEvG81dDqlMw10t9vq4TPQ EfT7foegA54mHUGE/NOR63qvm8Z33esk6+LEx8RoFLnqdNkRHfCjHt3BImDiRfLh+ZtuiR l6NBcycHNjwd552o+/xYrGkrWmANKCTpW24LZdTsT6JO5YqjOZd79mtKSCoY7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pdc4k2CKfzgcy; Fri, 17 Mar 2023 21:01: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 32HL1gUH015309; Fri, 17 Mar 2023 21:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32HL1gd0015308; Fri, 17 Mar 2023 21:01:42 GMT (envelope-from git) Date: Fri, 17 Mar 2023 21:01:42 GMT Message-Id: <202303172101.32HL1gd0015308@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: 799d67ec407f - stable/13 - daemon: set supervise_enabled during argument processing List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: <mailto:dev-commits-src-branches+help@freebsd.org> List-Post: <mailto:dev-commits-src-branches@freebsd.org> List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 799d67ec407f6d93b00b7d8a364a3284aeb5d07f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=799d67ec407f6d93b00b7d8a364a3284aeb5d07f commit 799d67ec407f6d93b00b7d8a364a3284aeb5d07f Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-17 21:01:03 +0000 daemon: set supervise_enabled during argument processing Now when supervsion mode has it's own variable there is really no reason to set it separately from the rest of the variables. Move initialization of supervise_enabled var to the argument processing switch loop, where it belongs. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 (cherry picked from commit f907027b49d93170ed2e92cf0d183cd643b1f70e) --- usr.sbin/daemon/daemon.c | 54 +++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 08ae5c74b8c2..3bbf092b500c 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -179,6 +179,23 @@ main(int argc, char *argv[]) sigemptyset(&mask_term); sigemptyset(&mask_orig); + /* + * Supervision mode is enabled if one of the following options are used: + * --child-pidfile -p + * --supervisor-pidfile -P + * --restart -r / --restart-delay -R + * --syslog -S + * --syslog-facility -l + * --syslog-priority -s + * --syslog-tag -T + * + * In supervision mode daemon executes the command in a forked process + * and observes the child by waiting for SIGCHILD. In supervision mode + * daemon must never exit before the child, this is necessary to prevent + * orphaning the child and leaving a stale pid file. + * To achieve this daemon catches SIGTERM and + * forwards it to the child, expecting to get SIGCHLD eventually. + */ while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': @@ -197,6 +214,7 @@ main(int argc, char *argv[]) errx(5, "unrecognized syslog facility"); } logparams.syslog_enabled = true; + supervision_enabled = true; break; case 'm': stdmask = strtol(optarg, &p, 10); @@ -206,15 +224,25 @@ main(int argc, char *argv[]) break; case 'o': logparams.output_filename = optarg; + /* + * TODO: setting output filename doesn't have to turn + * the supervision mode on. For non-supervised mode + * daemon could open the specified file and set it's + * descriptor as both stderr and stout before execve() + */ + supervision_enabled = true; break; case 'p': child_pidfile = optarg; + supervision_enabled = true; break; case 'P': parent_pidfile = optarg; + supervision_enabled = true; break; case 'r': restart_enabled = true; + supervision_enabled = true; break; case 'R': restart_enabled = true; @@ -230,9 +258,11 @@ main(int argc, char *argv[]) errx(4, "unrecognized syslog priority"); } logparams.syslog_enabled = true; + supervision_enabled = true; break; case 'S': logparams.syslog_enabled = true; + supervision_enabled = true; break; case 't': title = optarg; @@ -240,6 +270,7 @@ main(int argc, char *argv[]) case 'T': logparams.syslog_tag = optarg; logparams.syslog_enabled = true; + supervision_enabled = true; break; case 'u': user = optarg; @@ -286,29 +317,6 @@ main(int argc, char *argv[]) /* Write out parent pidfile if needed. */ pidfile_write(parent_pidfh); - /* - * Supervision mode is enabled if one of the following options are used: - * --child-pidfile -p - * --supervisor-pidfile -P - * --restart -r / --restart-delay -R - * --syslog -S - * --syslog-facility -l - * --syslog-priority -s - * --syslog-tag -T - * - * In supervision mode daemon executes the command in a forked process - * and observes the child by waiting for SIGCHILD. In supervision mode - * daemon must never exit before the child, this is necessary to prevent - * orphaning the child and leaving a stale pid file. - * To achieve this daemon catches SIGTERM and - * forwards it to the child, expecting to get SIGCHLD eventually. - */ - supervision_enabled = child_pidfile != NULL || - parent_pidfile != NULL || - restart_enabled == true || - logparams.output_fd != -1 || - logparams.syslog_enabled == true; - if (supervision_enabled) { struct sigaction act_term = { 0 }; struct sigaction act_chld = { 0 };