From nobody Mon Sep 9 01:44:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X28ld07KPz5WpZr; Mon, 09 Sep 2024 01:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X28lc50x4z524f; Mon, 9 Sep 2024 01:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725846284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2DYNrDHIQFUV0IAhf/+bK4CZ1ASGU2l4ZyuWbiGAH8E=; b=VSqZbmAyJCHEim3edH2jzfqEC2HvnAeyrmNrR0hw87iKAzjjWnebI37vwA4bGq+csCUJPj VPVH35WuZ4N+OqLVEikRbnQb2fK1gVHfVLhKUYZojtcdZOXlurHmpVdGB/OmKfsuJb2wo6 HBnTMQxB1go+Ke2NkFwQdCnIHeQEy4Scs9G9UX1RSLFAYsZXX69nkuNMCqEK2qEv/QIlp7 SurXx8ReYqUN1oCTIUJjY7QQf92XPj0hDYfuGjsrtsitkFfTQSfXgI6uMmmybx/mGaZKcM vDbkhB9V+Rkt31IqzHli/4ebWIn8yTT0ZfmqMKDGTHMip8zU5zd5EUdCnoXvwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725846284; a=rsa-sha256; cv=none; b=h1YapGYKHzgLuAAsc5jXqkedEKTgMljVI6T2ky2W7llbtr1Dg+n+tGjGSj8eKbDo982dOU NTFJeEG6Qhn2mdAEZiSCzeHPkwxnRNp5Es/MdeS/OlS+yhmhmWXTWqzmZ/Cy1YPnz9KdrU KctnD9GGcax4JbCThQrTjE966V92r2X/q5Yn567ygMh2EMKTCqcDNJ4xUCrxfP9uGB6q0L ScoQChmObFjAxScUp43f6u9zf4NecIgF523kvEAIgjzrcDyR3s96IZX/wj/JEwXo6T34cJ HAcnXkS6Qhhak9dvkENfLmITo+bJUc1Ux/29TsEkO7uYAjCHQWSDlymr4MyRCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725846284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2DYNrDHIQFUV0IAhf/+bK4CZ1ASGU2l4ZyuWbiGAH8E=; b=I6jzjRJyx1p52ZDLdkIbcj2TtC+LMbwx/k2GLyZBmrI4lgywMeMr9fEZIyGdIBpIRZSeS8 FOwFnrphISlhFcZnPEr2cUaH02OKcE+Jg5uKQW4sw6cO+WcMtgw9ub+5TQSSbB2xgzcKeO DGHyOIUhioPUJQYRIVpG9er2gfYCRfEHkPwvHAfzkwLtHp3ni9+dMti7hxW3nmeE1CeuqJ pm7mStooJ6L0tDq35c6UnBZO4bpVgymXd6kC1KKCVYa8q9w3tGdk1d666PWp/Q+dWCsM84 N2hg2TyXKmqXqHSFT1n9/AlMpLUmX+YGLfP834Czn76oesw2UltTCseSi8mBiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X28lc3zgFzkMY; Mon, 9 Sep 2024 01:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4891iitT078610; Mon, 9 Sep 2024 01:44:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4891ii5e078607; Mon, 9 Sep 2024 01:44:44 GMT (envelope-from git) Date: Mon, 9 Sep 2024 01:44:44 GMT Message-Id: <202409090144.4891ii5e078607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 7eb0b02bc4ed - stable/14 - contrib/tzdata: import tzdata 2024b 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7eb0b02bc4eddee6c916ab6a01ec92e0b9dc867e Auto-Submitted: auto-generated The branch stable/14 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=7eb0b02bc4eddee6c916ab6a01ec92e0b9dc867e commit 7eb0b02bc4eddee6c916ab6a01ec92e0b9dc867e Author: Philip Paeps AuthorDate: 2024-09-06 01:37:36 +0000 Commit: Philip Paeps CommitDate: 2024-09-09 01:44:03 +0000 contrib/tzdata: import tzdata 2024b Changes: https://github.com/eggert/tz/blob/2024b/NEWS (cherry picked from commit e273650f2c538034b45f78e670a89cbf333ab6db) --- contrib/tzdata/CONTRIBUTING | 18 +- contrib/tzdata/Makefile | 412 +++++++++++----------- contrib/tzdata/NEWS | 124 ++++++- contrib/tzdata/africa | 73 ++-- contrib/tzdata/antarctica | 58 ++-- contrib/tzdata/asia | 442 ++++++++++++------------ contrib/tzdata/australasia | 130 +++---- contrib/tzdata/backward | 15 +- contrib/tzdata/backzone | 35 +- contrib/tzdata/checknow.awk | 4 +- contrib/tzdata/etcetera | 54 +-- contrib/tzdata/europe | 713 ++++++++++++++++++++++++--------------- contrib/tzdata/leap-seconds.list | 30 +- contrib/tzdata/leapseconds | 8 +- contrib/tzdata/northamerica | 145 +++++--- contrib/tzdata/southamerica | 486 +++++++++++++------------- contrib/tzdata/theory.html | 214 ++++++++---- contrib/tzdata/version | 2 +- contrib/tzdata/ziguard.awk | 32 +- contrib/tzdata/zone.tab | 3 +- contrib/tzdata/zone1970.tab | 3 +- contrib/tzdata/zonenow.tab | 8 +- 22 files changed, 1768 insertions(+), 1241 deletions(-) diff --git a/contrib/tzdata/CONTRIBUTING b/contrib/tzdata/CONTRIBUTING index 6d800e4c03a3..f6edbd3be7d3 100644 --- a/contrib/tzdata/CONTRIBUTING +++ b/contrib/tzdata/CONTRIBUTING @@ -23,10 +23,10 @@ such as renaming, adding or removing zones, please read "Theory and pragmatics of the tz code and data" . It is also good to browse the mailing list archives - for examples of patches that tend -to work well. Additions to data should contain commentary citing -reliable sources as justification. Citations should use "https:" URLs -if available. + +for examples of patches that tend to work well. +Changes should contain commentary citing reliable sources. +Citations should use "https:" URLs if available. For changes that fix sensitive security-related bugs, please see the distribution's 'SECURITY' file. @@ -63,12 +63,16 @@ If you use Git the following workflow may be helpful: * Edit source files. Include commentary that justifies the changes by citing reliable sources. - * Debug the changes, e.g.: + * Debug the changes locally, e.g.: - make check - make install + make TOPDIR=$PWD/tz clean check install ./zdump -v America/Los_Angeles + Although builds assume only basic POSIX, they use extra features + if available. 'make check' accesses validator.w3.org unless you + lack 'curl' or use 'make CURL=:'. If you have the latest GCC, + "make CFLAGS='$(GCC_DEBUG_FLAGS)'" does extra checking. + * For each separable change, commit it in the new branch, e.g.: git add northamerica diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index d48354c72df4..0087b4596515 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -3,17 +3,17 @@ # 2009-05-17 by Arthur David Olson. # Request POSIX conformance; this must be the first non-comment line. .POSIX: -# On older platforms you may need to scrounge for a POSIX-conforming 'make'. -# For example, on Solaris 10 (2005), use /usr/sfw/bin/gmake or -# /usr/xpg4/bin/make, not /usr/ccs/bin/make. +# On older platforms you may need to scrounge for POSIX conformance. +# For example, on Solaris 10 (2005) with Sun Studio 12 aka Sun C 5.9 (2007), +# use 'PATH=/usr/xpg4/bin:$PATH make CC=c99'. # To affect how this Makefile works, you can run a shell script like this: # # #!/bin/sh -# make CC='gcc -std=gnu11' "$@" +# make CC='gcc -std=gnu23' "$@" # -# This example script is appropriate for a pre-2017 GNU/Linux system -# where a non-default setting is needed to support this package's use of C99. +# This example script is appropriate for a circa 2024 GNU/Linux system +# where a non-default setting enables this package's optional use of C23. # # Alternatively, you can simply edit this Makefile to tailor the following # macro definitions. @@ -53,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ +# The POSIXRULES macro controls interpretation of POSIX-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -132,8 +132,9 @@ LIBDIR = $(TOPDIR)/$(USRDIR)/lib # Types to try, as an alternative to time_t. TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL) -TIME_T_ALTERNATIVES_HEAD = int_least64_t -TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t +TIME_T_ALTERNATIVES_HEAD = int_least64_t.ck +TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \ + uint_least64_t.ck # What kind of TZif data files to generate. (TZif is the binary time # zone data format that zic generates; see Internet RFC 8536.) @@ -219,6 +220,7 @@ LDLIBS= # than what POSIX specifies, assuming local time is UT. # For example, N is 252460800 on AmigaOS. # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r +# on POSIX platforms predating POSIX.1-2024 # -DHAVE_DECL_ENVIRON if declares 'environ' # -DHAVE_DECL_TIMEGM=0 if does not declare timegm # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) @@ -229,7 +231,7 @@ LDLIBS= # where LDLIBS also needs to contain -lintl on some hosts; # -DHAVE_GETTEXT=0 to avoid using gettext # -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares -# ctime_r and asctime_r incompatibly with the POSIX standard +# ctime_r and asctime_r incompatibly with POSIX.1-2017 and earlier # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). # -DHAVE_INTTYPES_H=0 if does not work*+ # -DHAVE_LINK=0 if your system lacks a link function @@ -261,8 +263,11 @@ LDLIBS= # -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers # with external linkage, e.g., applications cannot define 'localtime'. # -Dssize_t=long on hosts like MS-Windows that lack ssize_t -# -DSUPPORT_C89 if the tzcode library should support C89 callers+ -# However, this might trigger latent bugs in C99-or-later callers. +# -DSUPPORT_C89=0 if the tzcode library should not support C89 callers +# Although -DSUPPORT_C89=0 might work around latent bugs in callers, +# it does not conform to POSIX. +# -DSUPPORT_POSIX2008 if the library should support older POSIX callers+ +# However, this might cause problems in POSIX.1-2024-or-later callers. # -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has # security implications and is not recommended for general use # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; @@ -274,7 +279,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX.1-2017-style TZ strings lacking them, +# DST transitions for proleptic format TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -302,23 +307,25 @@ LDLIBS= # # * Options marked "*" can be omitted if your compiler is C23 compatible. # * Options marked "+" are obsolescent and are planned to be removed -# once the code assumes C99 or later, say in the year 2029. +# once the code assumes C99 or later (say in the year 2029) +# and POSIX.1-2024 or later (say in the year 2034). # # Select instrumentation via "make GCC_INSTRUMENT='whatever'". GCC_INSTRUMENT = \ -fsanitize=undefined -fsanitize-address-use-after-scope \ -fsanitize-undefined-trap-on-error -fstack-protector # Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow. -GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ +GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \ $(GCC_INSTRUMENT) \ -Wall -Wextra \ -Walloc-size-larger-than=100000 -Warray-bounds=2 \ -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wdate-time \ -Wdeclaration-after-statement -Wdouble-promotion \ - -Wduplicated-branches -Wduplicated-cond \ + -Wduplicated-branches -Wduplicated-cond -Wflex-array-member-not-at-end \ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op \ - -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ + -Wmissing-declarations -Wmissing-prototypes \ + -Wmissing-variable-declarations -Wnested-externs \ -Wnull-dereference \ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ -Wshadow -Wshift-overflow=2 -Wstrict-overflow \ @@ -327,10 +334,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ -Wsuggest-attribute=const -Wsuggest-attribute=format \ -Wsuggest-attribute=malloc \ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ - -Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \ + -Wtrampolines -Wundef -Wunused-macros -Wuse-after-free=3 \ -Wvariadic-macros -Wvla -Wwrite-strings \ - -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ - -Wno-type-limits + -Wno-format-nonliteral -Wno-sign-compare # # If your system has a "GMT offset" field in its "struct tm"s # (or if you decide to add such a field in your system's "time.h" file), @@ -341,9 +347,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone # and define NO_TM_ZONE to suppress any guessing. -# Although these two fields are not required by POSIX.1-2017, -# POSIX 202x/D4 requires them and they are widely available -# on GNU/Linux and BSD systems. +# Although POSIX.1-2024 requires these fields and they are widely available +# on GNU/Linux and BSD systems, some older systems lack them. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -353,7 +358,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. +# # to the "CFLAGS=" line. Although "tzname" is required by POSIX.1-1988 +# # and later, its contents are unspecified if you use a geographical TZ +# # and the variable is planned to be removed in a future POSIX edition. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -364,7 +371,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables # # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix -# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI), +# # although their contents are unspecified if you use a geographical TZ +# # and the variables are planned to be removed in a future edition of POSIX. # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -428,18 +437,13 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # The name of a POSIX-like library archiver, its flags, C compiler, # linker flags, and 'make' utility. Ordinarily the defaults suffice. -# The commented-out values are the defaults specified by POSIX.1-202x/D4. +# The commented-out values are the defaults specified by POSIX.1-2024. #AR = ar #ARFLAGS = -rv #CC = c17 #LDFLAGS = #MAKE = make -# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in -# submake command lines. The default is no leap seconds. - -LEAPSECONDS= - # Where to fetch leap-seconds.list from. leaplist_URI = \ https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list @@ -461,7 +465,7 @@ ZFLAGS= # How to use zic to install TZif files. -ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS) +ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' # The name of a POSIX-compliant 'awk' on your system. # mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work. @@ -480,6 +484,7 @@ KSHELL= /bin/bash # Name of curl , used for HTML validation # and to fetch leap-seconds.list from upstream. +# Set CURL=: to disable use of the Internet. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -533,21 +538,28 @@ OK_LINE= '^'$(OK_CHAR)'*$$' # Flags to give 'tar' when making a distribution. # Try to use flags appropriate for GNU tar. -GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \ +GNUTARFLAGS= --format=pax --pax-option=delete=atime,delete=ctime \ --numeric-owner --owner=0 --group=0 \ --mode=go+u,go-w --sort=name -TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \ - then echo $(GNUTARFLAGS); \ - else :; \ - fi` +SETUP_TAR= \ + export LC_ALL=C && \ + if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; then \ + TAR='tar $(GNUTARFLAGS)'; \ + else \ + TAR=tar; \ + fi # Flags to give 'gzip' when making a distribution. GZIPFLAGS= -9n # When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported. # This makes it easier to see which Zone has been affected. -DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \ - || echo ' -F^TZ=') +SETUP_DIFF_TZS = \ + if diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1; then \ + DIFF_TZS='diff -u -F^TZ='; \ + else \ + DIFF_TZS='diff -u'; \ + fi # ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. RANLIB= : @@ -561,8 +573,8 @@ RANLIB= : TZCOBJS= zic.o -TZDOBJS= zdump.o localtime.o asctime.o strftime.o -DATEOBJS= date.o localtime.o strftime.o asctime.o +TZDOBJS= zdump.o localtime.o strftime.o +DATEOBJS= date.o localtime.o strftime.o LIBSRCS= localtime.c asctime.c difftime.c strftime.c LIBOBJS= localtime.o asctime.o difftime.o strftime.o HEADERS= tzfile.h private.h @@ -579,8 +591,7 @@ MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \ COMMON= calendars CONTRIBUTING LICENSE Makefile \ NEWS README SECURITY theory.html version WEB_PAGES= tz-art.html tz-how-to.html tz-link.html -CHECK_WEB_PAGES=check_theory.html check_tz-art.html \ - check_tz-how-to.html check_tz-link.html +CHECK_WEB_PAGES=theory.ck tz-art.ck tz-how-to.ck tz-link.ck DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) PRIMARY_YDATA= africa antarctica asia australasia \ europe northamerica southamerica @@ -641,8 +652,7 @@ install: all $(DATA) $(REDO) $(MANS) '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \ '$(DESTDIR)$(MANDIR)/man8' $(ZIC_INSTALL) -l $(LOCALTIME) \ - `case '$(POSIXRULES)' in ?*) echo '-p';; esac \ - ` $(POSIXRULES) \ + -p $(POSIXRULES) \ -t '$(DESTDIR)$(TZDEFAULT)' cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.' cp tzselect '$(DESTDIR)$(BINDIR)/.' @@ -665,10 +675,10 @@ INSTALL: ALL install date.1 # and append "-dirty" if the contents do not already end in "-dirty". version: $(VERSION_DEPS) { (type git) >/dev/null 2>&1 && \ - V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ - --abbrev=7 --dirty` || \ - if test '$(VERSION)' = unknown && V=`cat $@`; then \ - case $$V in *-dirty);; *) V=$$V-dirty;; esac; \ + V=$$(git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ + --abbrev=7 --dirty) || \ + if test '$(VERSION)' = unknown && read -r V <$@; then \ + V=$${V%-dirty}-dirty; \ else \ V='$(VERSION)'; \ fi; } && \ @@ -678,7 +688,7 @@ version: $(VERSION_DEPS) # These files can be tailored by setting BACKWARD, PACKRATDATA, PACKRATLIST. vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) $(AWK) \ - -v DATAFORM=`expr $@ : '\(.*\).zi'` \ + -v DATAFORM=$(@:.zi=) \ -v PACKRATDATA='$(PACKRATDATA)' \ -v PACKRATLIST='$(PACKRATLIST)' \ -f ziguard.awk \ @@ -687,7 +697,7 @@ vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) # This file has a version comment that attempts to capture any tailoring # via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO. tzdata.zi: $(DATAFORM).zi version zishrink.awk - version=`sed 1q version` && \ + read -r version $@ + ./zdump -i $(TZS_CUTOFF_FLAG) "$$PWD/$(@:.zd=)" >$@ TZS_NEW_DEPS = tzdata.zi zdump zic $(TZS_NEW): $(TZS_NEW_DEPS) @@ -812,20 +815,19 @@ $(TZS_NEW): $(TZS_NEW_DEPS) $(zic) -d tzs$(TZS_YEAR).dir tzdata.zi $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ tzdata.zi | LC_ALL=C sort >$@.out - wd=`pwd` && \ - x=`$(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ + x=$$($(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ tzdata.zi \ - | LC_ALL=C sort -t . -k 2,2` && \ + | LC_ALL=C sort -t . -k 2,2) && \ set x $$x && \ shift && \ ZDS=$$* && \ - $(MAKE) wd="$$wd" TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ + $(MAKE) TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ ZDS="$$ZDS" $$ZDS && \ sed 's,^TZ=".*\.dir/,TZ=",' $$ZDS >>$@.out rm -fr tzs$(TZS_YEAR).dir mv $@.out $@ -# If $(TZS) exists but 'make check_tzs' fails, a maintainer should inspect the +# If $(TZS) exists but 'make tzs.ck' fails, a maintainer should inspect the # failed output and fix the inconsistency, perhaps by running 'make force_tzs'. $(TZS): touch $@ @@ -842,7 +844,7 @@ date: $(DATEOBJS) $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS) tzselect: tzselect.ksh version - VERSION=`cat version` && sed \ + read -r VERSION /dev/null 2>&1 \ - || { LC_ALL='$(UTF8_LOCALE)'; export LC_ALL; false; }; } + || { export LC_ALL='$(UTF8_LOCALE)'; false; }; } -check_character_set: $(ENCHILADA) +character-set.ck: $(ENCHILADA) $(UTF8_LOCALE_MISSING) || { \ sharp='#' && \ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ @@ -882,48 +884,55 @@ check_character_set: $(ENCHILADA) } touch $@ -check_white_space: $(ENCHILADA) +white-space.ck: $(ENCHILADA) $(UTF8_LOCALE_MISSING) || { \ - patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ + enchilada='$(ENCHILADA)' && \ + patfmt=' \t|[\f\r\v]' && pat=$$(printf "$$patfmt\\n") && \ ! grep -En "$$pat|[$s]\$$" \ - $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list); \ + $${enchilada%leap-seconds.list*} \ + $${enchilada#*leap-seconds.list}; \ } touch $@ PRECEDES_FILE_NAME = ^(Zone|Link[$s]+[^$s]+)[$s]+ FILE_NAME_COMPONENT_TOO_LONG = $(PRECEDES_FILE_NAME)[^$s]*[^/$s]{15} -check_name_lengths: $(TDATA_TO_CHECK) backzone - ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \ +name-lengths.ck: $(TDATA_TO_CHECK) backzone + :;! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \ $(TDATA_TO_CHECK) backzone touch $@ +mainguard.ck: main.zi + test '$(PACKRATLIST)' || \ + cat $(TDATA) $(PACKRATDATA) | diff -u - main.zi + touch $@ + PRECEDES_STDOFF = ^(Zone[$s]+[^$s]+)?[$s]+ STDOFF = [-+]?[0-9:.]+ RULELESS_SAVE = (-|$(STDOFF)[sd]?) RULELESS_SLASHED_ABBRS = \ $(PRECEDES_STDOFF)$(STDOFF)[$s]+$(RULELESS_SAVE)[$s]+[^$s]*/ -check_slashed_abbrs: $(TDATA_TO_CHECK) - ! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK) +slashed-abbrs.ck: $(TDATA_TO_CHECK) + :;! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK) touch $@ CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } -check_sorted: backward backzone +sorted.ck: backward backzone $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} !/./ {g++}' \ backward | LC_ALL=C sort -cu - $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu + $(AWK) '/^Zone.*\// {print $$2}' backzone | LC_ALL=C sort -cu touch $@ -check_back: checklinks.awk $(TDATA_TO_CHECK) +back.ck: checklinks.awk $(TDATA_TO_CHECK) $(AWK) \ -v DATAFORM=$(DATAFORM) \ -v backcheck=backward \ -f checklinks.awk $(TDATA_TO_CHECK) touch $@ -check_links: checklinks.awk tzdata.zi +links.ck: checklinks.awk tzdata.zi $(AWK) \ -v DATAFORM=$(DATAFORM) \ -f checklinks.awk tzdata.zi @@ -932,26 +941,36 @@ check_links: checklinks.awk tzdata.zi # Check timestamps from now through 28 years from now, to make sure # that zonenow.tab contains all sequences of planned timestamps, # without any duplicate sequences. In theory this might require -# 2800 years but that would take a long time to check. -CHECK_NOW_TIMESTAMP = `./date +%s` +# 2800+ years but that would take a long time to check. +CHECK_NOW_TIMESTAMP = $$(./date +%s) CHECK_NOW_FUTURE_YEARS = 28 -CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) '*' 366 '*' 24 '*' 60 '*' 60 -check_now: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab - rm -fr $@.dir - mkdir $@.dir - ./zic -d $@.dir tzdata.zi +CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) * 366 * 24 * 60 * 60 +now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab + rm -fr $@d + mkdir $@d + ./zic -d $@d tzdata.zi now=$(CHECK_NOW_TIMESTAMP) && \ - future=`expr $(CHECK_NOW_FUTURE_SECS) + $$now` && \ + future=$$(($(CHECK_NOW_FUTURE_SECS) + $$now)) && \ ./zdump -i -t $$now,$$future \ - $$(find $$PWD/$@.dir/????*/ -type f) \ - >$@.dir/zdump.tab + $$(find "$$PWD/$@d"/????*/ -type f) \ + >$@d/zdump-now.tab && \ + ./zdump -i -t 0,$$future \ + $$(find "$$PWD/$@d" -name Etc -prune \ + -o -type f ! -name '*.tab' -print) \ + >$@d/zdump-1970.tab $(AWK) \ - -v zdump_table=$@.dir/zdump.tab \ + -v zdump_table=$@d/zdump-now.tab \ -f checknow.awk zonenow.tab - rm -fr $@.dir + $(AWK) \ + 'BEGIN {print "-\t-\tUTC"} /^Zone/ {print "-\t-\t" $$2}' \ + $(PRIMARY_YDATA) backward factory | \ + $(AWK) \ + -v zdump_table=$@d/zdump-1970.tab \ + -f checknow.awk + rm -fr $@d touch $@ -check_tables: checktab.awk $(YDATA) backward zone.tab zone1970.tab +tables.ck: checktab.awk $(YDATA) backward zone.tab zone1970.tab for tab in $(ZONETABLES); do \ test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \ $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \ @@ -959,26 +978,24 @@ check_tables: checktab.awk $(YDATA) backward zone.tab zone1970.tab done touch $@ -check_tzs: $(TZS) $(TZS_NEW) +tzs.ck: $(TZS) $(TZS_NEW) if test -s $(TZS); then \ - $(DIFF_TZS) $(TZS) $(TZS_NEW); \ + $(SETUP_DIFF_TZS) && $$DIFF_TZS $(TZS) $(TZS_NEW); \ else \ cp $(TZS_NEW) $(TZS); \ fi touch $@ check_web: $(CHECK_WEB_PAGES) -check_theory.html: theory.html -check_tz-art.html: tz-art.html -check_tz-how-to.html: tz-how-to.html -check_tz-link.html: tz-link.html -check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html: - $(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \ - -F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \ +.SUFFIXES: .ck .html +.html.ck: + { ! ($(CURL) --version) >/dev/null 2>&1 || \ + $(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \ + -F file=@$<; } >$@.out && \ test ! -s $@.out || { cat $@.out; exit 1; } mv $@.out $@ -check_ziguard: rearguard.zi vanguard.zi ziguard.awk +ziguard.ck: rearguard.zi vanguard.zi ziguard.awk $(AWK) -v DATAFORM=rearguard -f ziguard.awk vanguard.zi | \ diff -u rearguard.zi - $(AWK) -v DATAFORM=vanguard -f ziguard.awk rearguard.zi | \ @@ -987,36 +1004,35 @@ check_ziguard: rearguard.zi vanguard.zi ziguard.awk # Check that zishrink.awk does not alter the data, and that ziguard.awk # preserves main-format data. -check_zishrink: check_zishrink_posix check_zishrink_right -check_zishrink_posix check_zishrink_right: \ +check_zishrink: zishrink-posix.ck zishrink-right.ck +zishrink-posix.ck zishrink-right.ck: \ zic leapseconds $(PACKRATDATA) $(PACKRATLIST) \ $(TDATA) $(DATAFORM).zi tzdata.zi - rm -fr $@.dir $@-t.dir $@-shrunk.dir - mkdir $@.dir $@-t.dir $@-shrunk.dir + rm -fr $@d t-$@d shrunk-$@d + mkdir $@d t-$@d shrunk-$@d case $@ in \ - *_right) leap='-L leapseconds';; \ + *right*) leap='-L leapseconds';; \ *) leap=;; \ esac && \ - $(ZIC) $$leap -d $@.dir $(DATAFORM).zi && \ - $(ZIC) $$leap -d $@-shrunk.dir tzdata.zi && \ + $(ZIC) $$leap -d $@d $(DATAFORM).zi && \ + $(ZIC) $$leap -d shrunk-$@d tzdata.zi && \ case $(DATAFORM),$(PACKRATLIST) in \ main,) \ - $(ZIC) $$leap -d $@-t.dir $(TDATA) && \ + $(ZIC) $$leap -d t-$@d $(TDATA) && \ $(AWK) '/^Rule/' $(TDATA) | \ - $(ZIC) $$leap -d $@-t.dir - $(PACKRATDATA) && \ - diff -r $@.dir $@-t.dir;; \ + $(ZIC) $$leap -d t-$@d - $(PACKRATDATA) && \ + diff -r $@d t-$@d;; \ esac - diff -r $@.dir $@-shrunk.dir - rm -fr $@.dir $@-t.dir $@-shrunk.dir + diff -r $@d shrunk-$@d + rm -fr $@d t-$@d shrunk-$@d touch $@ clean_misc: - rm -fr check_*.dir typecheck_*.dir - rm -f *.o *.out $(TIME_T_ALTERNATIVES) \ - check_* core typecheck_* \ + rm -fr *.ckd *.dir + rm -f *.ck *.core *.o *.out core core.* \ date tzdir.h tzselect version.h zdump zic libtz.a clean: clean_misc - rm -fr *.dir tzdb-*/ + rm -fr tzdb-*/ rm -f *.zi $(TZS_NEW) maintainer-clean: clean @@ -1027,7 +1043,7 @@ maintainer-clean: clean names: @echo $(ENCHILADA) -public: check check_public $(CHECK_TIME_T_ALTERNATIVES) \ +public: check public.ck $(CHECK_TIME_T_ALTERNATIVES) \ tarballs signatures date.1.txt: date.1 @@ -1041,7 +1057,7 @@ zdump.8.txt: zdump.8 zic.8.txt: zic.8 $(MANTXTS): workman.sh - LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out + LC_ALL=C sh workman.sh $(@:.txt=) >$@.out mv $@.out $@ # Set file timestamps deterministically if possible, @@ -1054,13 +1070,13 @@ SET_TIMESTAMP_N = sh -c '\ n=$$0 dest=$$1; shift; \ <"$$dest" && \ if test $$n != 0 && \ - lsout=`ls -nt --time-style="+%s" "$$@" 2>/dev/null`; then \ + lsout=$$(ls -nt --time-style="+%s" "$$@" 2>/dev/null); then \ set x $$lsout && \ - timestamp=`expr $$7 + $$n` && \ + timestamp=$$(($$7 + $$n)) && \ echo "+ touch -md @$$timestamp $$dest" && \ touch -md @$$timestamp "$$dest"; \ else \ - newest=`ls -t "$$@" | sed 1q` && \ + newest=$$(ls -t "$$@" | sed 1q) && \ echo "+ touch -mr $$newest $$dest" && \ touch -mr "$$newest" "$$dest"; \ fi' @@ -1083,15 +1099,15 @@ SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1 set-timestamps.out: $(EIGHT_YARDS) rm -f $@ if (type git) >/dev/null 2>&1 && \ - files=`git ls-files $(EIGHT_YARDS)` && \ + files=$$(git ls-files $(EIGHT_YARDS)) && \ touch -md @1 test.out; then \ rm -f test.out && \ for file in $$files; do \ if git diff --quiet $$file; then \ - time=`TZ=UTC0 git log -1 \ + time=$$(TZ=UTC0 git log -1 \ --format='tformat:%cd' \ --date='format:%Y-%m-%dT%H:%M:%SZ' \ - $$file` && \ + $$file) && \ echo "+ touch -md $$time $$file" && \ touch -md $$time $$file; \ else \ @@ -1100,8 +1116,8 @@ set-timestamps.out: $(EIGHT_YARDS) done; \ fi $(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS) - for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \ - $(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \ + for file in $(MANTXTS); do \ + $(SET_TIMESTAMP_DEP) $$file $${file%.txt} workman.sh || \ exit; \ done $(SET_TIMESTAMP_DEP) version $(VERSION_DEPS) @@ -1114,30 +1130,29 @@ set-tzs-timestamp.out: $(TZS) # The zics below ensure that each data file can stand on its own. # We also do an all-files run to catch links to links. -check_public: $(VERSION_DEPS) - rm -fr public.dir - mkdir public.dir - ln $(VERSION_DEPS) public.dir - cd public.dir \ +public.ck: $(VERSION_DEPS) + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d + cd $@d \ && $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' TZDIR='$(TZDIR)' ALL - for i in $(TDATA_TO_CHECK) public.dir/tzdata.zi \ - public.dir/vanguard.zi public.dir/main.zi \ - public.dir/rearguard.zi; \ + for i in $(TDATA_TO_CHECK) \ + tzdata.zi vanguard.zi main.zi rearguard.zi; \ do \ - public.dir/zic -v -d public.dir/zoneinfo $$i 2>&1 || exit; \ + $@d/zic -v -d $@d/zoneinfo $@d/$$i || exit; \ done - public.dir/zic -v -d public.dir/zoneinfo-all $(TDATA_TO_CHECK) + $@d/zic -v -d $@d/zoneinfo-all $(TDATA_TO_CHECK) : : Also check 'backzone' syntax. - rm public.dir/main.zi - cd public.dir && $(MAKE) PACKRATDATA=backzone main.zi - public.dir/zic -d public.dir/zoneinfo main.zi - rm public.dir/main.zi - cd public.dir && \ + rm $@d/main.zi + cd $@d && $(MAKE) PACKRATDATA=backzone main.zi + $@d/zic -d $@d/zoneinfo main.zi + rm $@d/main.zi + cd $@d && \ $(MAKE) PACKRATDATA=backzone PACKRATLIST=zone.tab main.zi - public.dir/zic -d public.dir/zoneinfo main.zi + $@d/zic -d $@d/zoneinfo main.zi : - rm -fr public.dir + rm -fr $@d touch $@ # Check that the code works under various alternative @@ -1145,46 +1160,47 @@ check_public: $(VERSION_DEPS) check_time_t_alternatives: $(TIME_T_ALTERNATIVES) $(TIME_T_ALTERNATIVES_TAIL): $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES): $(VERSION_DEPS) - rm -fr $@.dir - mkdir $@.dir - ln $(VERSION_DEPS) $@.dir + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d case $@ in \ - int*32_t) range=-2147483648,2147483648;; \ + *32_t*) range=-2147483648,2147483648;; \ u*) range=0,4294967296;; \ *) range=-4294967296,4294967296;; \ esac && \ - wd=`pwd` && \ - zones=`$(AWK) '/^[^#]/ { print $$3 }' /dev/null; then \ quiet_option='-q'; \ else \ quiet_option=''; \ fi && \ - diff $$quiet_option -r $(TIME_T_ALTERNATIVES_HEAD).dir/etc \ - $@.dir/etc && \ + diff $$quiet_option -r $(TIME_T_ALTERNATIVES_HEAD)d/etc \ + $@d/etc && \ diff $$quiet_option -r \ - $(TIME_T_ALTERNATIVES_HEAD).dir/usr/share \ - $@.dir/usr/share; \ + $(TIME_T_ALTERNATIVES_HEAD)d/usr/share \ + $@d/usr/share; \ } touch $@ @@ -1199,7 +1215,7 @@ ALL_ASC = $(TRADITIONAL_ASC) $(REARGUARD_ASC) \ tarballs rearguard_tarballs tailored_tarballs traditional_tarballs \ signatures rearguard_signatures traditional_signatures: \ version set-timestamps.out rearguard.zi vanguard.zi - VERSION=`cat version` && \ + read -r VERSION $@.out mv $@.out $@ tzdata$(VERSION).tar.gz: set-timestamps.out - LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - $(TZDATA_DIST) | \ + $(SETUP_TAR) && \ + $$TAR -cf - $(TZDATA_DIST) | \ gzip $(GZIPFLAGS) >$@.out mv $@.out $@ @@ -1251,9 +1267,9 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier. $(CREATE_EMPTY) $@.dir/pacificnew touch -mr version $@.dir/version - LC_ALL=C && export LC_ALL && \ + $(SETUP_TAR) && \ (cd $@.dir && \ - tar $(TARFLAGS) -cf - \ + $$TAR -cf - \ $(TZDATA_DIST) pacificnew | \ gzip $(GZIPFLAGS)) >$@.out mv $@.out $@ @@ -1269,9 +1285,14 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out rm -fr $@.dir mkdir $@.dir : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier. + if test $(DATAFORM) = vanguard; then \ + pacificnew=; \ + else \ + pacificnew=pacificnew; \ + fi && \ cd $@.dir && \ $(CREATE_EMPTY) $(PRIMARY_YDATA) $(NDATA) backward \ - `test $(DATAFORM) = vanguard || echo pacificnew` + $$pacificnew (grep '^#' tzdata.zi && echo && cat $(DATAFORM).zi) \ >$@.dir/etcetera touch -mr tzdata.zi $@.dir/etcetera @@ -1291,9 +1312,9 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out test -f $@.dir/$$file || links="$$links $$file"; \ done && \ ln $$links $@.dir - LC_ALL=C && export LC_ALL && \ + $(SETUP_TAR) && \ (cd $@.dir && \ - tar $(TARFLAGS) -cf - * | gzip $(GZIPFLAGS)) >$@.out + $$TAR -cf - * | gzip $(GZIPFLAGS)) >$@.out mv $@.out $@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out @@ -1301,8 +1322,8 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out mkdir tzdb-$(VERSION) ln $(ENCHILADA) tzdb-$(VERSION) $(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/* - LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out + $(SETUP_TAR) && \ + $$TAR -cf - tzdb-$(VERSION) | lzip -9 >$@.out mv $@.out $@ tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz @@ -1313,22 +1334,21 @@ $(ALL_ASC): $(GPG) --armor --detach-sign $? TYPECHECK_CFLAGS = $(CFLAGS) -DTYPECHECK -D__time_t_defined -D_TIME_T -typecheck: typecheck_long_long typecheck_unsigned -typecheck_long_long typecheck_unsigned: $(VERSION_DEPS) - rm -fr $@.dir - mkdir $@.dir - ln $(VERSION_DEPS) $@.dir - cd $@.dir && \ +typecheck: long-long.ck unsigned.ck +long-long.ck unsigned.ck: $(VERSION_DEPS) + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d + cd $@d && \ case $@ in \ - *_long_long) i="long long";; \ - *_unsigned ) i="unsigned" ;; \ + long-long.*) i="long long";; \ + unsigned.* ) i="unsigned" ;; \ esac && \ - typecheck_cflags='' && \ $(MAKE) \ CFLAGS="$(TYPECHECK_CFLAGS) \"-Dtime_t=$$i\"" \ - TOPDIR="`pwd`" \ *** 4277 LINES SKIPPED *** From nobody Mon Sep 9 01:45:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X28m16R3jz5WpPN; Mon, 09 Sep 2024 01:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X28m15xP1z529f; Mon, 9 Sep 2024 01:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725846305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFBjQFz5Psq+CX2PdS4Z2zehQuCNlQQ2zwCFIS0kcxw=; b=Dv49TQI8yj/U+Z1dF+y7gBGnXENg62Kcn0uZF32wFwvVICPp5HZop7jjvDOxEiLWwa9FVK VbrejZfWWmddvXfFrQZVPZDKOoX0QxNscHkxVEXjBzzs68eUTA/UpctaSyxcZqyreWwztw T4xIql7ghU4C1HAILwC1Kytu6xoKT64qmyiyJOHyEFZSVqkWBLucV7VMosPSflp6tVCAgh /LTzpwBzqrVRSePKxcj0XGfH+yo1uVUKB1qeica743Vd88RNgl0kZhHtWnrhwkjmkDaQgx 7uLq30RmHufV3bmOdbNfJA5nAv2mwssx6ZsZmI9dNR4YuNFfvZv/3j3nTRSDQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725846305; a=rsa-sha256; cv=none; b=aASM4RxFwV4i25DJDsPfurf5CMHb1QBGCn4Gj2l8Qn7bTPwImr2QSyTCPosYUJy3HtO1oW kIu0UReaLNJSYFKKYy7ZQJWVHXTL1unkMZs+bfubLzRS/r5jzSLe52FXdGu1HZUFuMOG7g 59q1CsLPWaEE72xtbYP2kGXV7W0zC7CDSIZz3wvZoS5tSeW7Ktz3iWlavt+2pvpwoFdBWm GQNILpScbz3GBWGTdcoBIxJghK/dI2m9mlSASo4WeU1IbPeoU7QO6fVrr65kkljdF7VFua dqkEaJaskUOLeHJvfNcoqHORA2o4l3dF3DcLi4EIEUaW6FTQCREWiiOIE96rbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725846305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFBjQFz5Psq+CX2PdS4Z2zehQuCNlQQ2zwCFIS0kcxw=; b=jFjfzSo43WmOKpUgUFcqa10c6e84iSCGBlcCvvPF9NZdJSaheuWtIFnRCnygGo7DbhmW65 Hu3G0/0DVxskJ69VY12IgXwjJVA7FA59kmeLUSS/Re+EKh6qJ+U+s6hBeKHtyGvk1ri72M umsBsohYiu6WQEpUu0rLki8f71VSWZ1K4TfpjGCcP3viO5PNYM/6YalY5pMkL+5QtAvXbS qTQ8e/n6IT1wyyM8+fJgQFdguCBdPN6yhq0VxYwyHDicSt3+DghT+5HfQYgBgKz+2owkgM 4fhx0+CK8uNJ8PM7N3UoooqFy9514/fbOUCljvUnsor+oFeZmpUmyIAyhBoixw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X28m15KPbzjDl; Mon, 9 Sep 2024 01:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4891j5E5078809; Mon, 9 Sep 2024 01:45:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4891j5wF078806; Mon, 9 Sep 2024 01:45:05 GMT (envelope-from git) Date: Mon, 9 Sep 2024 01:45:05 GMT Message-Id: <202409090145.4891j5wF078806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 59ffae6c0c7a - stable/13 - contrib/tzdata: import tzdata 2024b 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 59ffae6c0c7a8360a49a7db93199f5c19a522ecc Auto-Submitted: auto-generated The branch stable/13 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=59ffae6c0c7a8360a49a7db93199f5c19a522ecc commit 59ffae6c0c7a8360a49a7db93199f5c19a522ecc Author: Philip Paeps AuthorDate: 2024-09-06 01:37:36 +0000 Commit: Philip Paeps CommitDate: 2024-09-09 01:44:52 +0000 contrib/tzdata: import tzdata 2024b Changes: https://github.com/eggert/tz/blob/2024b/NEWS (cherry picked from commit e273650f2c538034b45f78e670a89cbf333ab6db) --- contrib/tzdata/CONTRIBUTING | 18 +- contrib/tzdata/Makefile | 412 +++++++++++----------- contrib/tzdata/NEWS | 124 ++++++- contrib/tzdata/africa | 73 ++-- contrib/tzdata/antarctica | 58 ++-- contrib/tzdata/asia | 442 ++++++++++++------------ contrib/tzdata/australasia | 130 +++---- contrib/tzdata/backward | 15 +- contrib/tzdata/backzone | 35 +- contrib/tzdata/checknow.awk | 4 +- contrib/tzdata/etcetera | 54 +-- contrib/tzdata/europe | 713 ++++++++++++++++++++++++--------------- contrib/tzdata/leap-seconds.list | 30 +- contrib/tzdata/leapseconds | 8 +- contrib/tzdata/northamerica | 145 +++++--- contrib/tzdata/southamerica | 486 +++++++++++++------------- contrib/tzdata/theory.html | 214 ++++++++---- contrib/tzdata/version | 2 +- contrib/tzdata/ziguard.awk | 32 +- contrib/tzdata/zone.tab | 3 +- contrib/tzdata/zone1970.tab | 3 +- contrib/tzdata/zonenow.tab | 8 +- 22 files changed, 1768 insertions(+), 1241 deletions(-) diff --git a/contrib/tzdata/CONTRIBUTING b/contrib/tzdata/CONTRIBUTING index 6d800e4c03a3..f6edbd3be7d3 100644 --- a/contrib/tzdata/CONTRIBUTING +++ b/contrib/tzdata/CONTRIBUTING @@ -23,10 +23,10 @@ such as renaming, adding or removing zones, please read "Theory and pragmatics of the tz code and data" . It is also good to browse the mailing list archives - for examples of patches that tend -to work well. Additions to data should contain commentary citing -reliable sources as justification. Citations should use "https:" URLs -if available. + +for examples of patches that tend to work well. +Changes should contain commentary citing reliable sources. +Citations should use "https:" URLs if available. For changes that fix sensitive security-related bugs, please see the distribution's 'SECURITY' file. @@ -63,12 +63,16 @@ If you use Git the following workflow may be helpful: * Edit source files. Include commentary that justifies the changes by citing reliable sources. - * Debug the changes, e.g.: + * Debug the changes locally, e.g.: - make check - make install + make TOPDIR=$PWD/tz clean check install ./zdump -v America/Los_Angeles + Although builds assume only basic POSIX, they use extra features + if available. 'make check' accesses validator.w3.org unless you + lack 'curl' or use 'make CURL=:'. If you have the latest GCC, + "make CFLAGS='$(GCC_DEBUG_FLAGS)'" does extra checking. + * For each separable change, commit it in the new branch, e.g.: git add northamerica diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index d48354c72df4..0087b4596515 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -3,17 +3,17 @@ # 2009-05-17 by Arthur David Olson. # Request POSIX conformance; this must be the first non-comment line. .POSIX: -# On older platforms you may need to scrounge for a POSIX-conforming 'make'. -# For example, on Solaris 10 (2005), use /usr/sfw/bin/gmake or -# /usr/xpg4/bin/make, not /usr/ccs/bin/make. +# On older platforms you may need to scrounge for POSIX conformance. +# For example, on Solaris 10 (2005) with Sun Studio 12 aka Sun C 5.9 (2007), +# use 'PATH=/usr/xpg4/bin:$PATH make CC=c99'. # To affect how this Makefile works, you can run a shell script like this: # # #!/bin/sh -# make CC='gcc -std=gnu11' "$@" +# make CC='gcc -std=gnu23' "$@" # -# This example script is appropriate for a pre-2017 GNU/Linux system -# where a non-default setting is needed to support this package's use of C99. +# This example script is appropriate for a circa 2024 GNU/Linux system +# where a non-default setting enables this package's optional use of C23. # # Alternatively, you can simply edit this Makefile to tailor the following # macro definitions. @@ -53,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ +# The POSIXRULES macro controls interpretation of POSIX-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -132,8 +132,9 @@ LIBDIR = $(TOPDIR)/$(USRDIR)/lib # Types to try, as an alternative to time_t. TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL) -TIME_T_ALTERNATIVES_HEAD = int_least64_t -TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t +TIME_T_ALTERNATIVES_HEAD = int_least64_t.ck +TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \ + uint_least64_t.ck # What kind of TZif data files to generate. (TZif is the binary time # zone data format that zic generates; see Internet RFC 8536.) @@ -219,6 +220,7 @@ LDLIBS= # than what POSIX specifies, assuming local time is UT. # For example, N is 252460800 on AmigaOS. # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r +# on POSIX platforms predating POSIX.1-2024 # -DHAVE_DECL_ENVIRON if declares 'environ' # -DHAVE_DECL_TIMEGM=0 if does not declare timegm # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) @@ -229,7 +231,7 @@ LDLIBS= # where LDLIBS also needs to contain -lintl on some hosts; # -DHAVE_GETTEXT=0 to avoid using gettext # -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares -# ctime_r and asctime_r incompatibly with the POSIX standard +# ctime_r and asctime_r incompatibly with POSIX.1-2017 and earlier # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). # -DHAVE_INTTYPES_H=0 if does not work*+ # -DHAVE_LINK=0 if your system lacks a link function @@ -261,8 +263,11 @@ LDLIBS= # -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers # with external linkage, e.g., applications cannot define 'localtime'. # -Dssize_t=long on hosts like MS-Windows that lack ssize_t -# -DSUPPORT_C89 if the tzcode library should support C89 callers+ -# However, this might trigger latent bugs in C99-or-later callers. +# -DSUPPORT_C89=0 if the tzcode library should not support C89 callers +# Although -DSUPPORT_C89=0 might work around latent bugs in callers, +# it does not conform to POSIX. +# -DSUPPORT_POSIX2008 if the library should support older POSIX callers+ +# However, this might cause problems in POSIX.1-2024-or-later callers. # -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has # security implications and is not recommended for general use # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; @@ -274,7 +279,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX.1-2017-style TZ strings lacking them, +# DST transitions for proleptic format TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -302,23 +307,25 @@ LDLIBS= # # * Options marked "*" can be omitted if your compiler is C23 compatible. # * Options marked "+" are obsolescent and are planned to be removed -# once the code assumes C99 or later, say in the year 2029. +# once the code assumes C99 or later (say in the year 2029) +# and POSIX.1-2024 or later (say in the year 2034). # # Select instrumentation via "make GCC_INSTRUMENT='whatever'". GCC_INSTRUMENT = \ -fsanitize=undefined -fsanitize-address-use-after-scope \ -fsanitize-undefined-trap-on-error -fstack-protector # Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow. -GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ +GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \ $(GCC_INSTRUMENT) \ -Wall -Wextra \ -Walloc-size-larger-than=100000 -Warray-bounds=2 \ -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wdate-time \ -Wdeclaration-after-statement -Wdouble-promotion \ - -Wduplicated-branches -Wduplicated-cond \ + -Wduplicated-branches -Wduplicated-cond -Wflex-array-member-not-at-end \ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op \ - -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ + -Wmissing-declarations -Wmissing-prototypes \ + -Wmissing-variable-declarations -Wnested-externs \ -Wnull-dereference \ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ -Wshadow -Wshift-overflow=2 -Wstrict-overflow \ @@ -327,10 +334,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ -Wsuggest-attribute=const -Wsuggest-attribute=format \ -Wsuggest-attribute=malloc \ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ - -Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \ + -Wtrampolines -Wundef -Wunused-macros -Wuse-after-free=3 \ -Wvariadic-macros -Wvla -Wwrite-strings \ - -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ - -Wno-type-limits + -Wno-format-nonliteral -Wno-sign-compare # # If your system has a "GMT offset" field in its "struct tm"s # (or if you decide to add such a field in your system's "time.h" file), @@ -341,9 +347,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone # and define NO_TM_ZONE to suppress any guessing. -# Although these two fields are not required by POSIX.1-2017, -# POSIX 202x/D4 requires them and they are widely available -# on GNU/Linux and BSD systems. +# Although POSIX.1-2024 requires these fields and they are widely available +# on GNU/Linux and BSD systems, some older systems lack them. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -353,7 +358,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. +# # to the "CFLAGS=" line. Although "tzname" is required by POSIX.1-1988 +# # and later, its contents are unspecified if you use a geographical TZ +# # and the variable is planned to be removed in a future POSIX edition. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -364,7 +371,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables # # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix -# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI), +# # although their contents are unspecified if you use a geographical TZ +# # and the variables are planned to be removed in a future edition of POSIX. # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -428,18 +437,13 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # The name of a POSIX-like library archiver, its flags, C compiler, # linker flags, and 'make' utility. Ordinarily the defaults suffice. -# The commented-out values are the defaults specified by POSIX.1-202x/D4. +# The commented-out values are the defaults specified by POSIX.1-2024. #AR = ar #ARFLAGS = -rv #CC = c17 #LDFLAGS = #MAKE = make -# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in -# submake command lines. The default is no leap seconds. - -LEAPSECONDS= - # Where to fetch leap-seconds.list from. leaplist_URI = \ https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list @@ -461,7 +465,7 @@ ZFLAGS= # How to use zic to install TZif files. -ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS) +ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' # The name of a POSIX-compliant 'awk' on your system. # mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work. @@ -480,6 +484,7 @@ KSHELL= /bin/bash # Name of curl , used for HTML validation # and to fetch leap-seconds.list from upstream. +# Set CURL=: to disable use of the Internet. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -533,21 +538,28 @@ OK_LINE= '^'$(OK_CHAR)'*$$' # Flags to give 'tar' when making a distribution. # Try to use flags appropriate for GNU tar. -GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \ +GNUTARFLAGS= --format=pax --pax-option=delete=atime,delete=ctime \ --numeric-owner --owner=0 --group=0 \ --mode=go+u,go-w --sort=name -TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \ - then echo $(GNUTARFLAGS); \ - else :; \ - fi` +SETUP_TAR= \ + export LC_ALL=C && \ + if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; then \ + TAR='tar $(GNUTARFLAGS)'; \ + else \ + TAR=tar; \ + fi # Flags to give 'gzip' when making a distribution. GZIPFLAGS= -9n # When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported. # This makes it easier to see which Zone has been affected. -DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \ - || echo ' -F^TZ=') +SETUP_DIFF_TZS = \ + if diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1; then \ + DIFF_TZS='diff -u -F^TZ='; \ + else \ + DIFF_TZS='diff -u'; \ + fi # ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. RANLIB= : @@ -561,8 +573,8 @@ RANLIB= : TZCOBJS= zic.o -TZDOBJS= zdump.o localtime.o asctime.o strftime.o -DATEOBJS= date.o localtime.o strftime.o asctime.o +TZDOBJS= zdump.o localtime.o strftime.o +DATEOBJS= date.o localtime.o strftime.o LIBSRCS= localtime.c asctime.c difftime.c strftime.c LIBOBJS= localtime.o asctime.o difftime.o strftime.o HEADERS= tzfile.h private.h @@ -579,8 +591,7 @@ MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \ COMMON= calendars CONTRIBUTING LICENSE Makefile \ NEWS README SECURITY theory.html version WEB_PAGES= tz-art.html tz-how-to.html tz-link.html -CHECK_WEB_PAGES=check_theory.html check_tz-art.html \ - check_tz-how-to.html check_tz-link.html +CHECK_WEB_PAGES=theory.ck tz-art.ck tz-how-to.ck tz-link.ck DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) PRIMARY_YDATA= africa antarctica asia australasia \ europe northamerica southamerica @@ -641,8 +652,7 @@ install: all $(DATA) $(REDO) $(MANS) '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \ '$(DESTDIR)$(MANDIR)/man8' $(ZIC_INSTALL) -l $(LOCALTIME) \ - `case '$(POSIXRULES)' in ?*) echo '-p';; esac \ - ` $(POSIXRULES) \ + -p $(POSIXRULES) \ -t '$(DESTDIR)$(TZDEFAULT)' cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.' cp tzselect '$(DESTDIR)$(BINDIR)/.' @@ -665,10 +675,10 @@ INSTALL: ALL install date.1 # and append "-dirty" if the contents do not already end in "-dirty". version: $(VERSION_DEPS) { (type git) >/dev/null 2>&1 && \ - V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ - --abbrev=7 --dirty` || \ - if test '$(VERSION)' = unknown && V=`cat $@`; then \ - case $$V in *-dirty);; *) V=$$V-dirty;; esac; \ + V=$$(git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ + --abbrev=7 --dirty) || \ + if test '$(VERSION)' = unknown && read -r V <$@; then \ + V=$${V%-dirty}-dirty; \ else \ V='$(VERSION)'; \ fi; } && \ @@ -678,7 +688,7 @@ version: $(VERSION_DEPS) # These files can be tailored by setting BACKWARD, PACKRATDATA, PACKRATLIST. vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) $(AWK) \ - -v DATAFORM=`expr $@ : '\(.*\).zi'` \ + -v DATAFORM=$(@:.zi=) \ -v PACKRATDATA='$(PACKRATDATA)' \ -v PACKRATLIST='$(PACKRATLIST)' \ -f ziguard.awk \ @@ -687,7 +697,7 @@ vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) # This file has a version comment that attempts to capture any tailoring # via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO. tzdata.zi: $(DATAFORM).zi version zishrink.awk - version=`sed 1q version` && \ + read -r version $@ + ./zdump -i $(TZS_CUTOFF_FLAG) "$$PWD/$(@:.zd=)" >$@ TZS_NEW_DEPS = tzdata.zi zdump zic $(TZS_NEW): $(TZS_NEW_DEPS) @@ -812,20 +815,19 @@ $(TZS_NEW): $(TZS_NEW_DEPS) $(zic) -d tzs$(TZS_YEAR).dir tzdata.zi $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ tzdata.zi | LC_ALL=C sort >$@.out - wd=`pwd` && \ - x=`$(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ + x=$$($(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ tzdata.zi \ - | LC_ALL=C sort -t . -k 2,2` && \ + | LC_ALL=C sort -t . -k 2,2) && \ set x $$x && \ shift && \ ZDS=$$* && \ - $(MAKE) wd="$$wd" TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ + $(MAKE) TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ ZDS="$$ZDS" $$ZDS && \ sed 's,^TZ=".*\.dir/,TZ=",' $$ZDS >>$@.out rm -fr tzs$(TZS_YEAR).dir mv $@.out $@ -# If $(TZS) exists but 'make check_tzs' fails, a maintainer should inspect the +# If $(TZS) exists but 'make tzs.ck' fails, a maintainer should inspect the # failed output and fix the inconsistency, perhaps by running 'make force_tzs'. $(TZS): touch $@ @@ -842,7 +844,7 @@ date: $(DATEOBJS) $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS) tzselect: tzselect.ksh version - VERSION=`cat version` && sed \ + read -r VERSION /dev/null 2>&1 \ - || { LC_ALL='$(UTF8_LOCALE)'; export LC_ALL; false; }; } + || { export LC_ALL='$(UTF8_LOCALE)'; false; }; } -check_character_set: $(ENCHILADA) +character-set.ck: $(ENCHILADA) $(UTF8_LOCALE_MISSING) || { \ sharp='#' && \ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ @@ -882,48 +884,55 @@ check_character_set: $(ENCHILADA) } touch $@ -check_white_space: $(ENCHILADA) +white-space.ck: $(ENCHILADA) $(UTF8_LOCALE_MISSING) || { \ - patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ + enchilada='$(ENCHILADA)' && \ + patfmt=' \t|[\f\r\v]' && pat=$$(printf "$$patfmt\\n") && \ ! grep -En "$$pat|[$s]\$$" \ - $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list); \ + $${enchilada%leap-seconds.list*} \ + $${enchilada#*leap-seconds.list}; \ } touch $@ PRECEDES_FILE_NAME = ^(Zone|Link[$s]+[^$s]+)[$s]+ FILE_NAME_COMPONENT_TOO_LONG = $(PRECEDES_FILE_NAME)[^$s]*[^/$s]{15} -check_name_lengths: $(TDATA_TO_CHECK) backzone - ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \ +name-lengths.ck: $(TDATA_TO_CHECK) backzone + :;! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \ $(TDATA_TO_CHECK) backzone touch $@ +mainguard.ck: main.zi + test '$(PACKRATLIST)' || \ + cat $(TDATA) $(PACKRATDATA) | diff -u - main.zi + touch $@ + PRECEDES_STDOFF = ^(Zone[$s]+[^$s]+)?[$s]+ STDOFF = [-+]?[0-9:.]+ RULELESS_SAVE = (-|$(STDOFF)[sd]?) RULELESS_SLASHED_ABBRS = \ $(PRECEDES_STDOFF)$(STDOFF)[$s]+$(RULELESS_SAVE)[$s]+[^$s]*/ -check_slashed_abbrs: $(TDATA_TO_CHECK) - ! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK) +slashed-abbrs.ck: $(TDATA_TO_CHECK) + :;! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK) touch $@ CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } -check_sorted: backward backzone +sorted.ck: backward backzone $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} !/./ {g++}' \ backward | LC_ALL=C sort -cu - $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu + $(AWK) '/^Zone.*\// {print $$2}' backzone | LC_ALL=C sort -cu touch $@ -check_back: checklinks.awk $(TDATA_TO_CHECK) +back.ck: checklinks.awk $(TDATA_TO_CHECK) $(AWK) \ -v DATAFORM=$(DATAFORM) \ -v backcheck=backward \ -f checklinks.awk $(TDATA_TO_CHECK) touch $@ -check_links: checklinks.awk tzdata.zi +links.ck: checklinks.awk tzdata.zi $(AWK) \ -v DATAFORM=$(DATAFORM) \ -f checklinks.awk tzdata.zi @@ -932,26 +941,36 @@ check_links: checklinks.awk tzdata.zi # Check timestamps from now through 28 years from now, to make sure # that zonenow.tab contains all sequences of planned timestamps, # without any duplicate sequences. In theory this might require -# 2800 years but that would take a long time to check. -CHECK_NOW_TIMESTAMP = `./date +%s` +# 2800+ years but that would take a long time to check. +CHECK_NOW_TIMESTAMP = $$(./date +%s) CHECK_NOW_FUTURE_YEARS = 28 -CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) '*' 366 '*' 24 '*' 60 '*' 60 -check_now: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab - rm -fr $@.dir - mkdir $@.dir - ./zic -d $@.dir tzdata.zi +CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) * 366 * 24 * 60 * 60 +now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab + rm -fr $@d + mkdir $@d + ./zic -d $@d tzdata.zi now=$(CHECK_NOW_TIMESTAMP) && \ - future=`expr $(CHECK_NOW_FUTURE_SECS) + $$now` && \ + future=$$(($(CHECK_NOW_FUTURE_SECS) + $$now)) && \ ./zdump -i -t $$now,$$future \ - $$(find $$PWD/$@.dir/????*/ -type f) \ - >$@.dir/zdump.tab + $$(find "$$PWD/$@d"/????*/ -type f) \ + >$@d/zdump-now.tab && \ + ./zdump -i -t 0,$$future \ + $$(find "$$PWD/$@d" -name Etc -prune \ + -o -type f ! -name '*.tab' -print) \ + >$@d/zdump-1970.tab $(AWK) \ - -v zdump_table=$@.dir/zdump.tab \ + -v zdump_table=$@d/zdump-now.tab \ -f checknow.awk zonenow.tab - rm -fr $@.dir + $(AWK) \ + 'BEGIN {print "-\t-\tUTC"} /^Zone/ {print "-\t-\t" $$2}' \ + $(PRIMARY_YDATA) backward factory | \ + $(AWK) \ + -v zdump_table=$@d/zdump-1970.tab \ + -f checknow.awk + rm -fr $@d touch $@ -check_tables: checktab.awk $(YDATA) backward zone.tab zone1970.tab +tables.ck: checktab.awk $(YDATA) backward zone.tab zone1970.tab for tab in $(ZONETABLES); do \ test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \ $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \ @@ -959,26 +978,24 @@ check_tables: checktab.awk $(YDATA) backward zone.tab zone1970.tab done touch $@ -check_tzs: $(TZS) $(TZS_NEW) +tzs.ck: $(TZS) $(TZS_NEW) if test -s $(TZS); then \ - $(DIFF_TZS) $(TZS) $(TZS_NEW); \ + $(SETUP_DIFF_TZS) && $$DIFF_TZS $(TZS) $(TZS_NEW); \ else \ cp $(TZS_NEW) $(TZS); \ fi touch $@ check_web: $(CHECK_WEB_PAGES) -check_theory.html: theory.html -check_tz-art.html: tz-art.html -check_tz-how-to.html: tz-how-to.html -check_tz-link.html: tz-link.html -check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html: - $(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \ - -F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \ +.SUFFIXES: .ck .html +.html.ck: + { ! ($(CURL) --version) >/dev/null 2>&1 || \ + $(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \ + -F file=@$<; } >$@.out && \ test ! -s $@.out || { cat $@.out; exit 1; } mv $@.out $@ -check_ziguard: rearguard.zi vanguard.zi ziguard.awk +ziguard.ck: rearguard.zi vanguard.zi ziguard.awk $(AWK) -v DATAFORM=rearguard -f ziguard.awk vanguard.zi | \ diff -u rearguard.zi - $(AWK) -v DATAFORM=vanguard -f ziguard.awk rearguard.zi | \ @@ -987,36 +1004,35 @@ check_ziguard: rearguard.zi vanguard.zi ziguard.awk # Check that zishrink.awk does not alter the data, and that ziguard.awk # preserves main-format data. -check_zishrink: check_zishrink_posix check_zishrink_right -check_zishrink_posix check_zishrink_right: \ +check_zishrink: zishrink-posix.ck zishrink-right.ck +zishrink-posix.ck zishrink-right.ck: \ zic leapseconds $(PACKRATDATA) $(PACKRATLIST) \ $(TDATA) $(DATAFORM).zi tzdata.zi - rm -fr $@.dir $@-t.dir $@-shrunk.dir - mkdir $@.dir $@-t.dir $@-shrunk.dir + rm -fr $@d t-$@d shrunk-$@d + mkdir $@d t-$@d shrunk-$@d case $@ in \ - *_right) leap='-L leapseconds';; \ + *right*) leap='-L leapseconds';; \ *) leap=;; \ esac && \ - $(ZIC) $$leap -d $@.dir $(DATAFORM).zi && \ - $(ZIC) $$leap -d $@-shrunk.dir tzdata.zi && \ + $(ZIC) $$leap -d $@d $(DATAFORM).zi && \ + $(ZIC) $$leap -d shrunk-$@d tzdata.zi && \ case $(DATAFORM),$(PACKRATLIST) in \ main,) \ - $(ZIC) $$leap -d $@-t.dir $(TDATA) && \ + $(ZIC) $$leap -d t-$@d $(TDATA) && \ $(AWK) '/^Rule/' $(TDATA) | \ - $(ZIC) $$leap -d $@-t.dir - $(PACKRATDATA) && \ - diff -r $@.dir $@-t.dir;; \ + $(ZIC) $$leap -d t-$@d - $(PACKRATDATA) && \ + diff -r $@d t-$@d;; \ esac - diff -r $@.dir $@-shrunk.dir - rm -fr $@.dir $@-t.dir $@-shrunk.dir + diff -r $@d shrunk-$@d + rm -fr $@d t-$@d shrunk-$@d touch $@ clean_misc: - rm -fr check_*.dir typecheck_*.dir - rm -f *.o *.out $(TIME_T_ALTERNATIVES) \ - check_* core typecheck_* \ + rm -fr *.ckd *.dir + rm -f *.ck *.core *.o *.out core core.* \ date tzdir.h tzselect version.h zdump zic libtz.a clean: clean_misc - rm -fr *.dir tzdb-*/ + rm -fr tzdb-*/ rm -f *.zi $(TZS_NEW) maintainer-clean: clean @@ -1027,7 +1043,7 @@ maintainer-clean: clean names: @echo $(ENCHILADA) -public: check check_public $(CHECK_TIME_T_ALTERNATIVES) \ +public: check public.ck $(CHECK_TIME_T_ALTERNATIVES) \ tarballs signatures date.1.txt: date.1 @@ -1041,7 +1057,7 @@ zdump.8.txt: zdump.8 zic.8.txt: zic.8 $(MANTXTS): workman.sh - LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out + LC_ALL=C sh workman.sh $(@:.txt=) >$@.out mv $@.out $@ # Set file timestamps deterministically if possible, @@ -1054,13 +1070,13 @@ SET_TIMESTAMP_N = sh -c '\ n=$$0 dest=$$1; shift; \ <"$$dest" && \ if test $$n != 0 && \ - lsout=`ls -nt --time-style="+%s" "$$@" 2>/dev/null`; then \ + lsout=$$(ls -nt --time-style="+%s" "$$@" 2>/dev/null); then \ set x $$lsout && \ - timestamp=`expr $$7 + $$n` && \ + timestamp=$$(($$7 + $$n)) && \ echo "+ touch -md @$$timestamp $$dest" && \ touch -md @$$timestamp "$$dest"; \ else \ - newest=`ls -t "$$@" | sed 1q` && \ + newest=$$(ls -t "$$@" | sed 1q) && \ echo "+ touch -mr $$newest $$dest" && \ touch -mr "$$newest" "$$dest"; \ fi' @@ -1083,15 +1099,15 @@ SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1 set-timestamps.out: $(EIGHT_YARDS) rm -f $@ if (type git) >/dev/null 2>&1 && \ - files=`git ls-files $(EIGHT_YARDS)` && \ + files=$$(git ls-files $(EIGHT_YARDS)) && \ touch -md @1 test.out; then \ rm -f test.out && \ for file in $$files; do \ if git diff --quiet $$file; then \ - time=`TZ=UTC0 git log -1 \ + time=$$(TZ=UTC0 git log -1 \ --format='tformat:%cd' \ --date='format:%Y-%m-%dT%H:%M:%SZ' \ - $$file` && \ + $$file) && \ echo "+ touch -md $$time $$file" && \ touch -md $$time $$file; \ else \ @@ -1100,8 +1116,8 @@ set-timestamps.out: $(EIGHT_YARDS) done; \ fi $(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS) - for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \ - $(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \ + for file in $(MANTXTS); do \ + $(SET_TIMESTAMP_DEP) $$file $${file%.txt} workman.sh || \ exit; \ done $(SET_TIMESTAMP_DEP) version $(VERSION_DEPS) @@ -1114,30 +1130,29 @@ set-tzs-timestamp.out: $(TZS) # The zics below ensure that each data file can stand on its own. # We also do an all-files run to catch links to links. -check_public: $(VERSION_DEPS) - rm -fr public.dir - mkdir public.dir - ln $(VERSION_DEPS) public.dir - cd public.dir \ +public.ck: $(VERSION_DEPS) + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d + cd $@d \ && $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' TZDIR='$(TZDIR)' ALL - for i in $(TDATA_TO_CHECK) public.dir/tzdata.zi \ - public.dir/vanguard.zi public.dir/main.zi \ - public.dir/rearguard.zi; \ + for i in $(TDATA_TO_CHECK) \ + tzdata.zi vanguard.zi main.zi rearguard.zi; \ do \ - public.dir/zic -v -d public.dir/zoneinfo $$i 2>&1 || exit; \ + $@d/zic -v -d $@d/zoneinfo $@d/$$i || exit; \ done - public.dir/zic -v -d public.dir/zoneinfo-all $(TDATA_TO_CHECK) + $@d/zic -v -d $@d/zoneinfo-all $(TDATA_TO_CHECK) : : Also check 'backzone' syntax. - rm public.dir/main.zi - cd public.dir && $(MAKE) PACKRATDATA=backzone main.zi - public.dir/zic -d public.dir/zoneinfo main.zi - rm public.dir/main.zi - cd public.dir && \ + rm $@d/main.zi + cd $@d && $(MAKE) PACKRATDATA=backzone main.zi + $@d/zic -d $@d/zoneinfo main.zi + rm $@d/main.zi + cd $@d && \ $(MAKE) PACKRATDATA=backzone PACKRATLIST=zone.tab main.zi - public.dir/zic -d public.dir/zoneinfo main.zi + $@d/zic -d $@d/zoneinfo main.zi : - rm -fr public.dir + rm -fr $@d touch $@ # Check that the code works under various alternative @@ -1145,46 +1160,47 @@ check_public: $(VERSION_DEPS) check_time_t_alternatives: $(TIME_T_ALTERNATIVES) $(TIME_T_ALTERNATIVES_TAIL): $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES): $(VERSION_DEPS) - rm -fr $@.dir - mkdir $@.dir - ln $(VERSION_DEPS) $@.dir + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d case $@ in \ - int*32_t) range=-2147483648,2147483648;; \ + *32_t*) range=-2147483648,2147483648;; \ u*) range=0,4294967296;; \ *) range=-4294967296,4294967296;; \ esac && \ - wd=`pwd` && \ - zones=`$(AWK) '/^[^#]/ { print $$3 }' /dev/null; then \ quiet_option='-q'; \ else \ quiet_option=''; \ fi && \ - diff $$quiet_option -r $(TIME_T_ALTERNATIVES_HEAD).dir/etc \ - $@.dir/etc && \ + diff $$quiet_option -r $(TIME_T_ALTERNATIVES_HEAD)d/etc \ + $@d/etc && \ diff $$quiet_option -r \ - $(TIME_T_ALTERNATIVES_HEAD).dir/usr/share \ - $@.dir/usr/share; \ + $(TIME_T_ALTERNATIVES_HEAD)d/usr/share \ + $@d/usr/share; \ } touch $@ @@ -1199,7 +1215,7 @@ ALL_ASC = $(TRADITIONAL_ASC) $(REARGUARD_ASC) \ tarballs rearguard_tarballs tailored_tarballs traditional_tarballs \ signatures rearguard_signatures traditional_signatures: \ version set-timestamps.out rearguard.zi vanguard.zi - VERSION=`cat version` && \ + read -r VERSION $@.out mv $@.out $@ tzdata$(VERSION).tar.gz: set-timestamps.out - LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - $(TZDATA_DIST) | \ + $(SETUP_TAR) && \ + $$TAR -cf - $(TZDATA_DIST) | \ gzip $(GZIPFLAGS) >$@.out mv $@.out $@ @@ -1251,9 +1267,9 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier. $(CREATE_EMPTY) $@.dir/pacificnew touch -mr version $@.dir/version - LC_ALL=C && export LC_ALL && \ + $(SETUP_TAR) && \ (cd $@.dir && \ - tar $(TARFLAGS) -cf - \ + $$TAR -cf - \ $(TZDATA_DIST) pacificnew | \ gzip $(GZIPFLAGS)) >$@.out mv $@.out $@ @@ -1269,9 +1285,14 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out rm -fr $@.dir mkdir $@.dir : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier. + if test $(DATAFORM) = vanguard; then \ + pacificnew=; \ + else \ + pacificnew=pacificnew; \ + fi && \ cd $@.dir && \ $(CREATE_EMPTY) $(PRIMARY_YDATA) $(NDATA) backward \ - `test $(DATAFORM) = vanguard || echo pacificnew` + $$pacificnew (grep '^#' tzdata.zi && echo && cat $(DATAFORM).zi) \ >$@.dir/etcetera touch -mr tzdata.zi $@.dir/etcetera @@ -1291,9 +1312,9 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out test -f $@.dir/$$file || links="$$links $$file"; \ done && \ ln $$links $@.dir - LC_ALL=C && export LC_ALL && \ + $(SETUP_TAR) && \ (cd $@.dir && \ - tar $(TARFLAGS) -cf - * | gzip $(GZIPFLAGS)) >$@.out + $$TAR -cf - * | gzip $(GZIPFLAGS)) >$@.out mv $@.out $@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out @@ -1301,8 +1322,8 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out mkdir tzdb-$(VERSION) ln $(ENCHILADA) tzdb-$(VERSION) $(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/* - LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out + $(SETUP_TAR) && \ + $$TAR -cf - tzdb-$(VERSION) | lzip -9 >$@.out mv $@.out $@ tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz @@ -1313,22 +1334,21 @@ $(ALL_ASC): $(GPG) --armor --detach-sign $? TYPECHECK_CFLAGS = $(CFLAGS) -DTYPECHECK -D__time_t_defined -D_TIME_T -typecheck: typecheck_long_long typecheck_unsigned -typecheck_long_long typecheck_unsigned: $(VERSION_DEPS) - rm -fr $@.dir - mkdir $@.dir - ln $(VERSION_DEPS) $@.dir - cd $@.dir && \ +typecheck: long-long.ck unsigned.ck +long-long.ck unsigned.ck: $(VERSION_DEPS) + rm -fr $@d + mkdir $@d + ln $(VERSION_DEPS) $@d + cd $@d && \ case $@ in \ - *_long_long) i="long long";; \ - *_unsigned ) i="unsigned" ;; \ + long-long.*) i="long long";; \ + unsigned.* ) i="unsigned" ;; \ esac && \ - typecheck_cflags='' && \ $(MAKE) \ CFLAGS="$(TYPECHECK_CFLAGS) \"-Dtime_t=$$i\"" \ - TOPDIR="`pwd`" \ *** 4277 LINES SKIPPED *** From nobody Mon Sep 9 17:54:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2ZG4752rz5TYMY; Mon, 09 Sep 2024 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2ZG46YVGz4D7h; Mon, 9 Sep 2024 17: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=1725904444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/vGnqnKxYHrY5XREgReXQICz4xlaAZzvA5dq71Na/To=; b=RFd982403gnTKjTEX77ZcCFvC49sQy4Jcpo41to45QqwCfw98/2Btn8CbTa7HIA3SJcFsO qi7+ftz0PIfxZ43tYDjcHyLujUFl038XO94Iz/5Ps//e3dGFBvZtI5z7ngsMjP/0zmMhdN shtf0WwtEwMcfXyL/a4QM8U9Xe7W+99PAkIVdPeIwXNUP6wJcaRz2wsJ2qsn4E72V0/pai IxGWI/a0K0HgBum6Q39zdgJL0ckfDZwFcdCIJzMjExclDTukW5TLmzcpiZpqgmwNhv+hIp n6wWDUfRWozf4tJWidowLg/hYvwOv5ohOqn9KdiTusVRY2NG6sP7+LiSWp9XuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725904444; a=rsa-sha256; cv=none; b=haFhsMwgr7E6ucVGGZQWoXdxKEiju1JofHDhOST/+L2SWqsLrJJIiiE/v1suyqEodubHcb E9Xm14sev8pZ3vRuadeF/rvxICSCAdz9o29zVhaiYprYE2SF3aGgzWGrqwViBPW2UodBWR e8U5D6k9fhnKmVKagpkwWxyhh7duEzhirbSnEgt4NZSxGi2bz7ZoiRChdZXG0UejjcCGTN vEnVuOsYBENN0lmY0LjJ7P3JDly35vE5Ne4apxl60adtno5JTAzfgw4ZfojP/upIhlZ6Vm Ukui6Dwgy6YNXMtRg2umm9IZr1JTKmB5fIbyAEHBDPZzX9gsrLep0VCg8NHppw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725904444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/vGnqnKxYHrY5XREgReXQICz4xlaAZzvA5dq71Na/To=; b=rmvB1TENoquNaYhfkvjm6d/8UahUY2+TxWLDct9695Y96U+/YsTM3ICmZz+D/1DBEeMwcw 7bD1w3nvaxfMeRgn9t/m9LL8x5eBfeMfG19paBSu+jxV8JEvhz5BzrxzoIADPXsD+TAUzu 3h9tOBhgwRyzncIBpXB1hKbgzm4LgnkQ5VRsmZr87VGKjLFl4bot94m804Gpr40bD9B04B FBl/Wql8W5H528x8hfC7ALVSUIQv/fzHYM1OX3EuWzbKM3SsrG9CLvPJ7IUXuoVuHqfub+ OEPuP7Wn/YnD6pnKl8Rp1n/q/k/yaz4cPQGPBib1iOLw5qWmTd71KVx/SDyHtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2ZG4697Rz1CbQ; Mon, 9 Sep 2024 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Hs484028541; Mon, 9 Sep 2024 17:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489Hs4PS028538; Mon, 9 Sep 2024 17:54:04 GMT (envelope-from git) Date: Mon, 9 Sep 2024 17:54:04 GMT Message-Id: <202409091754.489Hs4PS028538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 5096328dd7cb - releng/13.4 - Add UPDATING note about running make delete-old after libc++ 18 upgrade 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 5096328dd7cbe79628098f10ab92eb4ab70d5fce Auto-Submitted: auto-generated The branch releng/13.4 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=5096328dd7cbe79628098f10ab92eb4ab70d5fce commit 5096328dd7cbe79628098f10ab92eb4ab70d5fce Author: Dimitry Andric AuthorDate: 2024-09-05 19:55:44 +0000 Commit: Dimitry Andric CommitDate: 2024-09-09 17:49:39 +0000 Add UPDATING note about running make delete-old after libc++ 18 upgrade PR: 279692 MFC after: 3 days (cherry picked from commit 157802238b5aa7722aff40317fe6d05f5c975d71) (cherry picked from commit 6b147f693b91f16db7ba6193611f6f4d2ed762a5) Approved by: re (cperciva) --- UPDATING | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/UPDATING b/UPDATING index d9e322e4a1a1..f1c2c0d8617e 100644 --- a/UPDATING +++ b/UPDATING @@ -26,6 +26,13 @@ and/or ports. umtx Kernel panic or Use-After-Free [SA-24:14.umtx] +20240419: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 18.1.6. It is important that you run `make delete-old` + as described in the COMMON ITEMS section, otherwise several libc++ + headers that are obsolete and need to be removed can cause compilation + errors in C++ programs. + 20240218: MFC of 713db49d06de changed 'struct ieee80211vap' internals in net80211. Given we do not have enough spares and the struct is allocated by From nobody Mon Sep 9 19:43:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2chV205Pz5TqmR; Mon, 09 Sep 2024 19:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2chV1FrKz4YPp; Mon, 9 Sep 2024 19:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725911018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lwy7VrhY5gb3uUoS7oifigGal88gJoXx7F0SdzElyXE=; b=X8jUFVTiLehHGVqVWlWXAlEcM8Z7TgBkqHqXSdrAJb36G3F4LiqBLHK2YbQe2+nW9xeyHA UZWlGIDxatlUxSpQunws5WZsAoOH6GH9vha5mwrsQw7qPrDCIDojSV+hA/ZxJrvTHwIU91 7ma1VIQn0cnbfoTnVfCfmd3GATnS2RTku4Ytgq3MOfMe1DHDlwV6o6RoJwbshcUbJbUyVY a0GYonYIzu4lAbEKJGwh9FpS2PesQJKCS2VYhJSYlzGvtWs2EYqSGYg14Oi/d5BTiKjodL liUz27Ln7+kqgtXy1k0OL73MwD7vuIGvCWuatihCkltTTncmNX80Cbo6ymoJrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725911018; a=rsa-sha256; cv=none; b=hgBEuaCYUyvhQMjAjbKoEJIz9+q/ntG65TtPYVZsYmxw9Qd4Pl0gzrmiPRc7r1SJqgaewC MFULnYwIgJ3aoEWGpJVkaJOQkEyp7x67Tp1yDOhJle8PV1QWWJ+W0cWefLOa9QJmFf1P7X pD+3JeR0PQnIlL6fuVu4dNFdpL1YlNt8PYDoQKQZ/JPXlmHGYIbLdvvfXHBQcXHTdB2tdI foRwlfjajK2mjlo0UIBCoIeWJMZH/a0rl/xWwukzgpRhuq8J+wv7IBTb2mHx8bCQjAD7nH i5ZHbKsb99agfh5xoaHkGT48tSYHFOFWe2WVyUwUJd8sxKnUWkTiV5s8HC0gZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725911018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lwy7VrhY5gb3uUoS7oifigGal88gJoXx7F0SdzElyXE=; b=L+LdemmPIsymvW0MiP52Tj1gY8PY5KAXzxwlCIyKMuicz7CsK8m2hIMg6319WOHxMDjIPZ 9LFlW+fke7eCkx3MJmI2oy9ipQZPmPxDotRZ4xzBh0KUij1FH2d7cmzB91zXICL1M4nLUG IWPLPHPziteI/Q0y2WPxk3um/tvl7g7vFsFspGFETKGCreNZPifc2TTszUOnIxIT6muyiG Pi0DJGPScX2v0FWph8gCRQOO5Eo8l+3Hi7i75QJUSGWqW+8XVt+BNIynUy4BWbfNB35hdY SzG4/eSM+3NCSgCjO5tXr0Oe/TGh9Flg94jAJ0XFqF+kwiwN6hXmgbbsgzRBzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2chV0sFjzGpy; Mon, 9 Sep 2024 19:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Jhc1M016209; Mon, 9 Sep 2024 19:43:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489JhcWx016206; Mon, 9 Sep 2024 19:43:38 GMT (envelope-from git) Date: Mon, 9 Sep 2024 19:43:38 GMT Message-Id: <202409091943.489JhcWx016206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Joseph Mingrone Subject: git: 508356c03875 - stable/14 - tcpdump: ppp: Use the buffer stack for the de-escaping buffer 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 508356c038759a9f38e372f1dc1402ef764cb723 Auto-Submitted: auto-generated The branch stable/14 has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=508356c038759a9f38e372f1dc1402ef764cb723 commit 508356c038759a9f38e372f1dc1402ef764cb723 Author: Guy Harris AuthorDate: 2024-09-03 17:11:16 +0000 Commit: Joseph Mingrone CommitDate: 2024-09-09 19:38:25 +0000 tcpdump: ppp: Use the buffer stack for the de-escaping buffer This both saves the buffer for freeing later and saves the packet pointer and snapend to be restored when packet processing is complete, even if an exception is thrown with longjmp. This means that the hex/ASCII printing in pretty_print_packet() processes the packet data as captured or read from the savefile, rather than as modified by the PPP printer, so that the bounds checking is correct. That fixes CVE-2024-2397, which was caused by an exception being thrown by the hex/ASCII printer (which should only happen if those routines are called by a packet printer, not if they're called for the -X/-x/-A flag), which jumps back to the setjmp() that surrounds the packet printer. Hilarity^Winfinite looping ensues. Also, restore ndo->ndo_packetp before calling the hex/ASCII printing routine, in case nd_pop_all_packet_info() didn't restore it. Reviewed by: emaste (cherry picked from commit f8860353d4f4c25bacdae5bc1cfb7a95edc9bfe0) --- contrib/tcpdump/print-ppp.c | 31 +++++++++++++++++-------------- contrib/tcpdump/print.c | 8 ++++++-- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/contrib/tcpdump/print-ppp.c b/contrib/tcpdump/print-ppp.c index aba243ddb6f2..e5ae0646ebae 100644 --- a/contrib/tcpdump/print-ppp.c +++ b/contrib/tcpdump/print-ppp.c @@ -42,6 +42,8 @@ #include #endif +#include + #include "netdissect.h" #include "extract.h" #include "addrtoname.h" @@ -1363,7 +1365,6 @@ ppp_hdlc(netdissect_options *ndo, u_char *b, *t, c; const u_char *s; u_int i, proto; - const void *sb, *se; if (caplen == 0) return; @@ -1371,9 +1372,11 @@ ppp_hdlc(netdissect_options *ndo, if (length == 0) return; - b = (u_char *)nd_malloc(ndo, caplen); - if (b == NULL) - return; + b = (u_char *)malloc(caplen); + if (b == NULL) { + (*ndo->ndo_error)(ndo, S_ERR_ND_MEM_ALLOC, + "%s: malloc", __func__); + } /* * Unescape all the data into a temporary, private, buffer. @@ -1394,13 +1397,15 @@ ppp_hdlc(netdissect_options *ndo, } /* - * Change the end pointer, so bounds checks work. - * Change the pointer to packet data to help debugging. + * Switch to the output buffer for dissection, and save it + * on the buffer stack so it can be freed; our caller must + * pop it when done. */ - sb = ndo->ndo_packetp; - se = ndo->ndo_snapend; - ndo->ndo_packetp = b; - ndo->ndo_snapend = t; + if (!nd_push_buffer(ndo, b, b, (u_int)(t - b))) { + free(b); + (*ndo->ndo_error)(ndo, S_ERR_ND_MEM_ALLOC, + "%s: can't push buffer on buffer stack", __func__); + } length = ND_BYTES_AVAILABLE_AFTER(b); /* now lets guess about the payload codepoint format */ @@ -1442,13 +1447,11 @@ ppp_hdlc(netdissect_options *ndo, } cleanup: - ndo->ndo_packetp = sb; - ndo->ndo_snapend = se; + nd_pop_packet_info(ndo); return; trunc: - ndo->ndo_packetp = sb; - ndo->ndo_snapend = se; + nd_pop_packet_info(ndo); nd_print_trunc(ndo); } diff --git a/contrib/tcpdump/print.c b/contrib/tcpdump/print.c index 41a6b524fbf8..96d34b772f08 100644 --- a/contrib/tcpdump/print.c +++ b/contrib/tcpdump/print.c @@ -434,10 +434,14 @@ pretty_print_packet(netdissect_options *ndo, const struct pcap_pkthdr *h, nd_pop_all_packet_info(ndo); /* - * Restore the original snapend, as a printer might have - * changed it. + * Restore the originals snapend and packetp, as a printer + * might have changed them. + * + * XXX - nd_pop_all_packet_info() should have restored the + * original values, but, just in case.... */ ndo->ndo_snapend = sp + h->caplen; + ndo->ndo_packetp = sp; if (ndo->ndo_Xflag) { /* * Print the raw packet data in hex and ASCII. From nobody Mon Sep 9 20:02:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2d5l0Gwvz5TtDJ; Mon, 09 Sep 2024 20:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2d5k6y1Fz4c8H; Mon, 9 Sep 2024 20:02:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zuryAskuorLdXaMfg65CSi8dLf4yewRNOUYV5ITGueU=; b=fTCR6VRFccZjGh8zx6QERcC9eAVXzaGROVZ8+X7oPP7FHeV9bZCzIjmS0f7yqZEN21+iwd Ji7kiWtmt5qYuhmXw9wfo3lmB+SH7kll11KdHUGjn16C0GbU1OxML6sM/NpBypZJC2afVZ H9y3zJVqM9Nrt2jEva8dhjF9y9uBcI2zxax7TQvDsOyLqf5fVEw6dI3pY/6BuoYRaXWNPa EKfSwdRKhXYQnV/tgEPr1sk/CEhDMBXt+OWffIddEM2USVQPHgeifgKSFVmH1Xazcnde26 szStjHE8VxtQbB5wsDSvaoiE7z4+HjdHqvx2uofYumSOyGx9et1WElIKUEirJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725912123; a=rsa-sha256; cv=none; b=TugpGF0zQUPD8koArKJyMNDToBcfwemgXPU5dmWvwVi2fcfvjTN0gVQlYm3852sPglye2Q rNZNNW8J4TLnrMS+lOnH+ahBDu1uK0C4KNJkgx37y8bS+7fGKsDEy/BfLj6Qfqc8v4we38 KNlHWk9v9oF68TVsLN4murRe/29cxOb9kkXdJsyhed8XbCK6oGxMEFN6vnjHxKctzpWGXO niGPt3pRWKD/0JzeYxMkHpCVGgO7FU0XuIOi0LYavmMyszBoJ3+NHBAFTOfTi1xifvIvJi va0idC+MJ+iD/oJPOQbuoeF+bsJnDwT4t1MoYFXQVui7OWhOgaSumq699rvRlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zuryAskuorLdXaMfg65CSi8dLf4yewRNOUYV5ITGueU=; b=AVFEbjoJJ7+8n6mwIhYz8oEMLUH5qPKJrWaT1nZnXHYvXuKFlQryn7GyGtVlqc7RJ+n4xJ r7nVHmEmgmbMovUAkv6WR38/j+yY29pJFINmz0TCa27yOSQ0d7FXv95Rpk0GNyqaoq5Hfo IAnR2iW+ZtEWekiY1NpHWONwWDoIYP4L2yqhmuYZ/yGBowSQVW2OMKeuPCmNSJbrSCKDQC FFKj3otmXbJthyW/Zy5T5tgGLe4ldT1F0O2OBV0qiRqOEjebEmXDj+bvY/X+WnRkORjwn2 05qPOkbXqb94Of+18HCKz5f/Ute77d3EtIi/7faGyvC4vYOPd7kZomnvL0xvqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2d5k6YMtzGwR; Mon, 9 Sep 2024 20:02:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489K22dg049817; Mon, 9 Sep 2024 20:02:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489K22Fc049814; Mon, 9 Sep 2024 20:02:02 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:02:02 GMT Message-Id: <202409092002.489K22Fc049814@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: 9ebdfc41bd34 - stable/14 - mfi: correct typo in sysctl/tunable description List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ebdfc41bd34c355152e554151c92e74fc2f1af0 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9ebdfc41bd34c355152e554151c92e74fc2f1af0 commit 9ebdfc41bd34c355152e554151c92e74fc2f1af0 Author: Ed Maste AuthorDate: 2024-06-03 20:31:16 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:01:47 +0000 mfi: correct typo in sysctl/tunable description Reported by: jrtc27 Reviewed by: lwhsu Sponsored by: The FreeBSD Foundation Event: Kitchener-Waterloo Hackathon 202406 (cherry picked from commit e0dcb9b611d3b3e471d7bc30bcff7cd4e26c6f19) --- sys/dev/mfi/mfi_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mfi/mfi_pci.c b/sys/dev/mfi/mfi_pci.c index de7d88556c8c..82082e6b72cf 100644 --- a/sys/dev/mfi/mfi_pci.c +++ b/sys/dev/mfi/mfi_pci.c @@ -112,7 +112,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0, static int mfi_mrsas_enable; SYSCTL_INT(_hw_mfi, OID_AUTO, mrsas_enable, CTLFLAG_RDTUN, &mfi_mrsas_enable, - 0, "Allow mrasas to take newer cards"); + 0, "Allow mrsas to take newer cards"); struct mfi_ident { uint16_t vendor; From nobody Mon Sep 9 20:05:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2dB92tSmz5Tv28; Mon, 09 Sep 2024 20:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2dB92MhBz4f4r; Mon, 9 Sep 2024 20:05:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpKIgy3K1iO5lavGKOVAskf0EH0nxIUkBF6Yxzlvuqc=; b=REMTLoj9lvBwH9UbJf0cBdx3rqG+FU9a+WYGvVGHxsxYtvzvVXlq7RQ4o7CqIGhkHJfzSS he7303iyzTIhrkuT5tRyP8u49vXws8NuV2Hp1VJQgvB7A2Y25EcIdPP9z2ff0MfCJzOhk1 WqAWFjCv2LkAc7zhA4P2pgHvoofOFIMHQElHVF6djxjSdQeXKkr50EuP6C0h8RJ9XqUwul 3wWUhNEwpQu979Hp/xtf1bL+gszz2JDSkFnw6ADqaspLpp52jJx3cSQnvskejLRzxs55XP NiOs43U3F9EY6bqXWPviROIYC2bgVn1owxgl6K4ilYw+t0gkq9ca7GQYgyVl8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725912353; a=rsa-sha256; cv=none; b=dv2NLnjpsSOdZEw6kULLdzUpRexS8WIZrX3Oj+9KvkiFKDEQSF03gfHqSDH1xrJl/ssv7n 1BRk0tj2EUYX2P3RTCGhYr2DrqorhJD8yUOYgKt6bHrO4/UlXukErGJ7KytGxYyXvdK6q1 bgsiJ7Vb0Y3rYcFeG4coIe9fJMD41ApG4y9B+BXrgZjUViGm9blXXpiWql33dXXqqZMkHS PzFTChTuVdagHGu29oWPn/rTFj7pH/JEh9Oo4YpykpvkyCRn6wZz8VmuYVzBaaSpXvuqK6 KsAiJrcc4+b5JDnvfjIgPG8i3BEllMvnDSJfkcTX45V04N8nYilRn2Ek7nP+kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpKIgy3K1iO5lavGKOVAskf0EH0nxIUkBF6Yxzlvuqc=; b=yIfmH2sA9eQxjBsnrbtcbo2P54RAPhsOeOq+rbp+49MCge2GjtLUBMqj5j0QLc+QS4KXCC NNRhmpJXMEpFt4Iu8Pq5dK8Ryd6X/R8cGC/AR62Ps02KqXoZ1CiwNoMmwzJZ3t6DeGw7ST DEWWXEdKVp+OjpvThLS/MWzwHLOuShak5u0u1EkGRQ7EVSG+o5yNY2ya7lTqdLDKLAzDJA L0j3MCsiHT7DXRQkTXQ8r2yhOXLCCPYB6C3dA6opUhuqqrK1sNcb6MAll6YHHy0ewP1VUV WReBRbNDGrzU/UBkZW3e5dXARqeKHTTrLa4SgQNPelKo2gJ/sEG0zRfvVhbbYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2dB91sGMzHJB; Mon, 9 Sep 2024 20:05:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489K5rZT051729; Mon, 9 Sep 2024 20:05:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489K5rcV051726; Mon, 9 Sep 2024 20:05:53 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:05:53 GMT Message-Id: <202409092005.489K5rcV051726@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: 65c70eb58bbe - stable/14 - development.7: markup nits, tag spdx 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 65c70eb58bbe81b1b191cf82d0a36b9ba280b5e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=65c70eb58bbe81b1b191cf82d0a36b9ba280b5e7 commit 65c70eb58bbe81b1b191cf82d0a36b9ba280b5e7 Author: Alexander Ziaee AuthorDate: 2024-06-02 13:47:44 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:04:46 +0000 development.7: markup nits, tag spdx Using quoted literals is a mistake in roff(7). Please escape with `\&`, the zero-width-space. Reviewed by: emaste MFC after: 3 days (cherry picked from commit f354ca7383f709f8380e11b2192eb62312d4139f) --- share/man/man7/development.7 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man7/development.7 b/share/man/man7/development.7 index c12ab2b885a3..eb5a57a464fc 100644 --- a/share/man/man7/development.7 +++ b/share/man/man7/development.7 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2018 Edward Tomasz Napierala .\" .\" Redistribution and use in source and binary forms, with or without @@ -89,7 +92,7 @@ and .Xr release 7 . Kernel programming interfaces (KPIs) are documented in section 9 manual pages; use -.Ql "apropos -s 9 ." +.Ql apropos -s 9 \&. for a list. Regression test suite is described in .Xr tests 7 . @@ -194,8 +197,7 @@ The .Nm manual page was originally written by .An Matthew Dillon Aq Mt dillon@FreeBSD.org -and first appeared -in +and first appeared in .Fx 5.0 , December 2002. It was since extensively modified by From nobody Mon Sep 9 20:09:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2dFv6jShz5TvZH; Mon, 09 Sep 2024 20:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2dFv5vkrz4fPJ; Mon, 9 Sep 2024 20:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dncOwhptPEAWoDjf55eZHQi716b5mkkO5IPIairSyPA=; b=BhmZIC/bdKTw9ZENsvFDV26qPsRmQ/GgK0K71tlGy4gmxG9nNxk5OmIKEYm77Nmd4G5RiX Gpnf69Vlxyymhd2uT46e7ebThFjBDOgM6sd2RP3Q3sxGbAZgNG8ZT/2dI7y/HV2PlPl6yp q4EZaK6D0g8nFr+hGUN2+AH1zZkeJ+1DS+i3IMz7uSL2CEvXE9RnKU1zh/HcflEYkMCZX/ 4favzyGpe9SjmC7TJdk0lcL4Cdv3GbgjNtFWx/njdLodwILCWKhbQpbCkFvfY0Vs2znYkm Hn7yyZmNgIPZPZ3efCQskouAWLNe0seG/KUfpoXbiL5vcuYucNldiCMkVu39Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725912547; a=rsa-sha256; cv=none; b=RQ2qfib4V0U6T2cX23f7IGZWjvVPujWnM+CcDpYj2NYFPEW9EMAtfln6U9SUoXVw3cA6It FBjMaVjofn0+BK0KM1UieI2Zwv/qqgT15UhQctR2R6uNW6JlA9v84CWjikV60j/TYB3gMx 0QYi/W1LSzgTVtu/Nith3lh8723rLM0Du8gKXyXrdwX03cwmJCC51n6Y8DXWcgUkY7TZU4 3MKBUwXnulDJIoP/lyelQ5bIy9YD+gEEhmAouOgywoH/Dj2WKYEbOd1A7X/yX7vL7PQjtf 6afZtNcP+oUZlbHFyudltr4jhUY1tALFvqCoYCg7u/mBZT2Ot2ViO0xNCKD1Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dncOwhptPEAWoDjf55eZHQi716b5mkkO5IPIairSyPA=; b=P250Rwhh5Px4uAbTsFx313fGs9sddcPNdjxkfNaqCJ0mgk/sVvrvUurAwJ00fljhT1VPOP 95xUv3PDrD5T+hKiLhfmHjQFi+YgcePyReaw/NfFwD2hwU5DP5K2rwxOjvbQ590hn1qOSp ELHbkUctbm/Nw/whDmUiyOSWArbNqePd5AnRXehm7UJrC8gDt5rQ3+QuhPPrKWquQJxFtB zWwGJnu9XBEy8KnyBcvltDadaMrr8DUYwh1cB6swrAWDeRkcPv9H0x99NwvkuFal9K/9T5 pvuj40FJC36ywoMmVJfOqyzaEfbfQ+2P4mFBN4KZyCiQo5RUkw7Hc/xPKB3+Gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2dFv5P00zHH0; Mon, 9 Sep 2024 20:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489K9764052321; Mon, 9 Sep 2024 20:09:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489K97eI052318; Mon, 9 Sep 2024 20:09:07 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:09:07 GMT Message-Id: <202409092009.489K97eI052318@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: f6c2926aa3ff - stable/13 - man/man7/development.7: correct typo in manpage. 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: f6c2926aa3ffca28bf23703a1dc491548433eae4 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f6c2926aa3ffca28bf23703a1dc491548433eae4 commit f6c2926aa3ffca28bf23703a1dc491548433eae4 Author: Ceri Davies AuthorDate: 2021-07-22 15:16:43 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:08:45 +0000 man/man7/development.7: correct typo in manpage. (cherry picked from commit b578d2a77eaca6c3b2c76bd90161e32433892723) --- share/man/man7/development.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man7/development.7 b/share/man/man7/development.7 index 3c8442e36e2f..0eb5377bd07b 100644 --- a/share/man/man7/development.7 +++ b/share/man/man7/development.7 @@ -31,7 +31,7 @@ development process .Sh DESCRIPTION .Fx -development is split into three major suprojects: doc, ports, and src. +development is split into three major subprojects: doc, ports, and src. Doc is the documentation, such as the .Fx Handbook. From nobody Mon Sep 9 20:09:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2dFx0Wvnz5TvSb; Mon, 09 Sep 2024 20:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2dFw6T5pz4fXS; Mon, 9 Sep 2024 20:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8vZPnvLLLTscg1lNcZlnHha9uv7UDctkpf7QMh+kUQ=; b=tkC8qjh/L7YmwKQ8fu0Wv0bmS80KHpxFTD01fEkFy3F0tJjcPp/Ma1h27oYZOcsIb5Mpij m91SDlbNoUjn/gE0aOxys6TtIqTvGLRtSX9CRiMOyu9Kc9lqcN9Ng2fhuGyporz8rhtc6x 8mTUsDiZmmJQf+QiW7yBIASeLQKWSc6bDR4B7uM5dw+x2gScpBGRKN5WR8pp4Ez4J6BhAt OZwt1qDMuE+yx1OBKrUILCO7yTgklCiR36sjVU1EoamW4kiMAuYCVf1tjY6nZjAUrzLpzM w0dMnbTHo3AWnoqS3KmgEw0NvNFmvRIwY6dR426BR0pCSWbjWqWbkItDM660eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725912548; a=rsa-sha256; cv=none; b=xspiPd9nOl5CWwEtC1Z4YHSeDnY4aVr151YceBGUrite1jT7ot+w4fg3xkKpUeLiuMtNsN m/OzRYQlXMjHFIhY4QlRSlTSj5KvaLXL5hxC3p/xbQ47TN2Amo0R3GzWHcnmO6WCqhEFlB dX2i7ssdE63vleW0WPEvk8YxrK/6LfgHKDB3xOndlqr8DKrhWNIA+meN5K53aUVO0pcl56 gcUs7uADMAJOWZiiB73emX8EWcgoIetWIw+St3riG4sHKRMCY3GTOvPmZ46QhgSgJTMY8z O6VfEy3bjds6AdiSpDxX+4C1wpKsgf94lysB++NOxTJw8lu/rhwjfBpcgK2DGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8vZPnvLLLTscg1lNcZlnHha9uv7UDctkpf7QMh+kUQ=; b=kaSHcjgVI/+3c0ifVL9npP44gtYHlnQo0+KepkcLCW3u8oJzvbElp7JixmCXF9nXIPHJ8p wK9SXsLSUWz/b9MffjHOwviaLz5A7J8A5UDqmAZLuxnEt/rgXrt7xtZ0ShoOvIopZ56QW6 D0ztKXCJR/wYVmBG9N6Y1lfbCgZHSm4l9FvsSF9o8biVY/pwcaz+QInlyBVyLc69QZFtil 8TkZByLyTOlsx3YBTO+pfPchkN4HM5TKZMp3+CxInzRDrSzhIphyy8x2enL4v7266flWHN GD6CYTzZFzgOqEI/dFY+1iV4EYTROzoQp68IF2DbsK0Qmz6YvELiy+3uBG84sA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2dFw65L8zGwg; Mon, 9 Sep 2024 20:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489K98O5052364; Mon, 9 Sep 2024 20:09:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489K98kM052361; Mon, 9 Sep 2024 20:09:08 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:09:08 GMT Message-Id: <202409092009.489K98kM052361@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: 224dcabfcd91 - stable/13 - development.7: markup nits, tag spdx 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: 224dcabfcd91fa0f071ad1b14b554669caf7656a Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=224dcabfcd91fa0f071ad1b14b554669caf7656a commit 224dcabfcd91fa0f071ad1b14b554669caf7656a Author: Alexander Ziaee AuthorDate: 2024-06-02 13:47:44 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:08:45 +0000 development.7: markup nits, tag spdx Using quoted literals is a mistake in roff(7). Please escape with `\&`, the zero-width-space. Reviewed by: emaste MFC after: 3 days (cherry picked from commit f354ca7383f709f8380e11b2192eb62312d4139f) (cherry picked from commit 65c70eb58bbe81b1b191cf82d0a36b9ba280b5e7) --- share/man/man7/development.7 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man7/development.7 b/share/man/man7/development.7 index 0eb5377bd07b..6448d24aa957 100644 --- a/share/man/man7/development.7 +++ b/share/man/man7/development.7 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2018 Edward Tomasz Napierala .\" .\" Redistribution and use in source and binary forms, with or without @@ -89,7 +92,7 @@ and .Xr release 7 . Kernel programming interfaces (KPIs) are documented in section 9 manual pages; use -.Ql "apropos -s 9 ." +.Ql apropos -s 9 \&. for a list. Regression test suite is described in .Xr tests 7 . @@ -187,8 +190,7 @@ The .Nm manual page was originally written by .An Matthew Dillon Aq Mt dillon@FreeBSD.org -and first appeared -in +and first appeared in .Fx 5.0 , December 2002. It was since extensively modified by From nobody Mon Sep 9 20:09:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2dFy1h5hz5TvX3; Mon, 09 Sep 2024 20:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2dFy0GjVz4fRK; Mon, 9 Sep 2024 20:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGf3uLq9tkQykZgp1UUWdi2N4q6eujPW0ZMpejYwLVE=; b=OEfBbBLFZ7np5PAaO0fbKIjp/xpabiZy3EHG+d5V7621PWA2IZ0MMLDH+L96LlDqsbY/v9 zAisxfSblIDvBa647xplFkTlyaJeZSyJHt3OynAuhVrIsEuQsjrhjfZ8fvXoMNW8JpXqvH yA2C3QAYATifSQxUWdfnMIUaknPZ9Jz8P/yRUBHcULuVY6mYpn6YdXAqTRhT+GeKqzD6qb zPykUaMjfwGfWJ0MR9uQ8VLaGCg3hQx9d64HU/D0CUo4BxM9ApzJES/fqHPB1odCb0h2em NY9yZzFVuM3WNn151jZTq7uNZaHJFDgl5j0RgRJIFh2CNXk2kIsxi7O6ftfX3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725912550; a=rsa-sha256; cv=none; b=XgBsanm8MqElWmIATsNC83PqufdGi6C84X3sHoQovzFx+UT/FftFFGnq6KlS7zgE6VlW2y HTkX/au15SdfUve1UUMeh2fzeLeXga44Hv1kppQ3PIAgQpl/AbI3AXoCk7kUpZnnN1xa9V 1FXXPGG5414a2gEIQrovgq4z7cm7qrJV/Xehd2NWvtVv18ZvqEO/kR9NBkFu+3qpLvMQyL 7BESpx33rg/iziQIcu3wO9fKyGBqtEcz2L/UzYv8AOrcE3ygF32Fz4cQdo+oeznRItj6s9 lL/0eFqIwhb6blaV3aGM7vkJA8aRMvf0lo/j4ekkKy3N9bHoqnJwLvu43EBMFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725912550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGf3uLq9tkQykZgp1UUWdi2N4q6eujPW0ZMpejYwLVE=; b=pxQy0NC9doJPyNiQCL8cT77BrY3k86gDDCNc62S0Qna0ZvejogIdXUuFTmNRF/1BL6/sfe 4L3ZjMdjBNqx4kyzTOjUrlSXYS86vZQnGGWECWBocYbbls3eJrfEns6EG7WSuwfRJKsCIB ivtLFzqCiE6fXa4OXEfjIhfee4uYPF+2gVK4Ss02eevsw4AjZLQKBD93hw6Vh5QEDr9GPc ExBoLzedO/FTd2Dv4CdsBWbcjikHeSBzMzs4sCR6VjGuMivuogLOblB1dv352KxGnx9nEw JgH0plFoxrRJGnKPg4rBQPSt/mq15Tmu+x0E3exhfRBaAxgIFm0RB4IO9TpdjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2dFx70WVzHXC; Mon, 9 Sep 2024 20:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489K99RU052406; Mon, 9 Sep 2024 20:09:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489K99T0052403; Mon, 9 Sep 2024 20:09:09 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:09:09 GMT Message-Id: <202409092009.489K99T0052403@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: 34f5366d0493 - stable/13 - development.7/FILES: add CONTRIBUTING + git-arc.sh 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: 34f5366d049383e94250c451853e98cf53a3e526 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=34f5366d049383e94250c451853e98cf53a3e526 commit 34f5366d049383e94250c451853e98cf53a3e526 Author: Alexander Ziaee AuthorDate: 2024-06-18 11:02:42 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:08:45 +0000 development.7/FILES: add CONTRIBUTING + git-arc.sh MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1300 (cherry picked from commit c2c6f08c8b47cfda79529e0a1016b8f7803c0ec8) (cherry picked from commit 29020ea39d6c55983dfa49b3c2928acdd851c1d3) --- share/man/man7/development.7 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/man/man7/development.7 b/share/man/man7/development.7 index 6448d24aa957..eb5a57a464fc 100644 --- a/share/man/man7/development.7 +++ b/share/man/man7/development.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 1, 2022 +.Dd July 7, 2024 .Dt DEVELOPMENT 7 .Os .Sh NAME @@ -119,7 +119,14 @@ build and test status of CURRENT and STABLE branches, the continuous integration system is at: .Pp .Lk https://ci.FreeBSD.org -.Pp +.Sh FILES +.Bl -compact -tag -width "/usr/src/tools/tools/git/git-arc.sh" +.It Pa /usr/src/CONTRIBUTING.md +.Fx +contribution guidelines +.It Pa /usr/src/tools/tools/git/git-arc.sh +Phabricator review tooling +.El .Sh EXAMPLES Check out the CURRENT branch, build it, and install, overwriting the current system: From nobody Mon Sep 9 20:55:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2fHj1LbMz5V2LX; Mon, 09 Sep 2024 20:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2fHh6MFnz4lj6; Mon, 9 Sep 2024 20:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725915344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ry4afYF1Me5/9t0FaqMPU6DXgbEVnWlqBLrRVBxm+0=; b=NCNR9Gmbhyqfk5gamBSdNUjcdlVNUuImrkRBxdLduhYhUWqkWVYz6ov/e6OHDTrTADTR2t ZgyK3MpT2/iHTLJsS8XpBiS5f2cXk0Jurc1z2YsBzXqDz5Sl3pQWYT0Pzu5bCh2FXMmAgy LbIib//mDyEKdfi15wBRRFtjL6GO6zUhINEL8wo84YuLReOy0EAf/DamNxxugbo/LXvVFP Sv6qcIIW6OI5VOgbaQoESl60tGraEjRGPfxcf5nOMim1k+ridQzrbIVLDmcf+Z6BwqZe4n xkjmZogNF8pRMufp8pXM84MtLS1GhFgQWlTj5JIFzWpawow5VzFlnXZJcOA3gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725915344; a=rsa-sha256; cv=none; b=Iy49MPjzg5bFP+7v0/nP40gaaocDtUrT2iM3Ec/WDeI0stI4ln1N/HgklVhP4VssmrMMew N42Q9BDS9ggygXosR3LzvUItctv90Hj+QEyR0Ihl+ySAw4yKU9JNLOkyXyxmrHACnuOJFe 8vBN4ht1ifZs/VkJP8H2eMA3PInqm7CTRGxy8NzyPs0taWZO6aNinEUTX9wLzOyvnVfqBb p3ByHQcDCyndeodn54RkXJCNM6SVInSHCTmDNEH/l0aRUZDVLI8G5LALAZFb1lpVrG017/ mu7Bgk4Fesq+w9sY2pi7erDSvQxdVQAIbZdXTQ4is+/gEZnrGZiF69ScNpLfCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725915344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ry4afYF1Me5/9t0FaqMPU6DXgbEVnWlqBLrRVBxm+0=; b=gYk7wgSb3SHLHGTUYRUbWteGs74CZdeC0TbvBV0VYVvhvKzDljj5zdlUUY/+XnvWMX3yEt XTD+TFnJueNsiaS6U74tRYzyXxzqdIMmpPku8rssI1DTfJ+SIa+lq7bBYpYzm2aWu18Jub ZsfWTuFM6HoiNVxNHfQWp+oPyaMytjlFpU4VWYqdH6tFgP10ImEuvRhJOXcUAm1IXpDZXH bt19jK9H4/2PVHmetiXJDmHMo/7/TbH9A8KsxjOA/pgv6pEDUx3TXYA/bFZ136JXAsnQuj MUlMZcjRydjix56YWEe36MijKnM9I4/hhUCbqgyPL0LNAVR8Q0Qp/cbizURaxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2fHh5rc4zJZP; Mon, 9 Sep 2024 20:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Kti9e036509; Mon, 9 Sep 2024 20:55:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489KtiZf036506; Mon, 9 Sep 2024 20:55:44 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:55:44 GMT Message-Id: <202409092055.489KtiZf036506@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: b6d5bda21fca - stable/13 - mfi: correct typo in sysctl/tunable description List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: b6d5bda21fca54a3204c4978958abe29d20df33c Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b6d5bda21fca54a3204c4978958abe29d20df33c commit b6d5bda21fca54a3204c4978958abe29d20df33c Author: Ed Maste AuthorDate: 2024-06-03 20:31:16 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:09:35 +0000 mfi: correct typo in sysctl/tunable description Reported by: jrtc27 Reviewed by: lwhsu Sponsored by: The FreeBSD Foundation Event: Kitchener-Waterloo Hackathon 202406 (cherry picked from commit e0dcb9b611d3b3e471d7bc30bcff7cd4e26c6f19) (cherry picked from commit 9ebdfc41bd34c355152e554151c92e74fc2f1af0) --- sys/dev/mfi/mfi_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mfi/mfi_pci.c b/sys/dev/mfi/mfi_pci.c index af5c844a1e09..942503100610 100644 --- a/sys/dev/mfi/mfi_pci.c +++ b/sys/dev/mfi/mfi_pci.c @@ -114,7 +114,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0, static int mfi_mrsas_enable; SYSCTL_INT(_hw_mfi, OID_AUTO, mrsas_enable, CTLFLAG_RDTUN, &mfi_mrsas_enable, - 0, "Allow mrasas to take newer cards"); + 0, "Allow mrsas to take newer cards"); struct mfi_ident { uint16_t vendor; From nobody Mon Sep 9 20:59:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2fN54hh6z5V2Tv; Mon, 09 Sep 2024 20:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2fN54T9cz4lxs; Mon, 9 Sep 2024 20:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725915573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5eaOqEZ+NcMzZIyuGcePGEiqU/GBJkewZDEL6ouDt5Q=; b=jKf7zjIihasmWjBo8gl6+URf5eeFCwuean0JMwdBKgsjUjCpXYmUgHcfoMxz8Fq8ZRGmDU s4r3V/JlkyL73B3JQOSyUtRsjK0WnvGE3JRqD+/XPaPZUYn62ohtERmVgtBYmsXIX+82ID IksWVMNRPpC4gzm2v+uaF+OXd2sXPOcvHdLis47UeFk/Gq4th+LHkIxpAbbzkgnvzTeLXq tUw8hCli5arbQspt6hrI2kF7KZ/berprJ7F2NJAvDJKGrvXSIgm/m4DU78jKZXB6sbAFgs owtr3nyYHJ86eOGNM+YyhCodSlAs+NYTmmCPKnVhLhGP72Yf/I0YZlFnnA+Obw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725915573; a=rsa-sha256; cv=none; b=CCC75CrWlKkmBxkp2b9eOd4qbln3cHCXm9Zr9NW3NYEmtxwvQ7O0fFHFnDMGGonbXaSScm 8midb6OSMIIANkGYHfEsHKxxPfQd+5Cf+TGDrQlV7FiSOd13LVwaeeKAiwICFUIX+NiGUp 6usPeDA3Iucs6b3KIAJPP9w6f0taRvLbqElmEYgaLNo5RSG5wl3Q7k0pY0njtD6uH4mbaj wJskW08p16FGl79NgDVrTeSaaHORJ1sX/Q0y1zlsaQnaQKZvqQOUQGKKjcN6dE1Bj0F/Rp L+iivTTWbjoqnPos8v4P8rmc7wjW4ByjNDBRtTm9R6qT9LTeYP8qjt184+f53g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725915573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5eaOqEZ+NcMzZIyuGcePGEiqU/GBJkewZDEL6ouDt5Q=; b=AaVert+olFrMfb6bFANEXKB/uugkCFQhTBLSA7tf1jMmwtVNlckp+kKvoGC+0E+0mX3Vg1 O3Z3y2lkqaJV7sXIIlJ36hVBiqbyP6+thWxHM43crj5o+ljD/bWTuoIJeNYIRXsyXIkCFk UTz1UFDTYp1iKzmyQ0IDRa6IDA2DMfqqeJcvLdKHeIzCJi47JWUMiQN4XBfuBTKgknwjep 4ursHPLoCT7fskv1pfcvjzPYXkPHxwf0EM52ohqd6JY3vaRUvW/7A/0TG4G1723204NWm1 Yanw9q6SFYOhAGfU4RmBisTLrvGmvdDbyf3+kPCvSwRk3Ec7Pye7MTzLqBWGHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2fN53wrHzJZQ; Mon, 9 Sep 2024 20:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489KxX86037167; Mon, 9 Sep 2024 20:59:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489KxUEF037148; Mon, 9 Sep 2024 20:59:30 GMT (envelope-from git) Date: Mon, 9 Sep 2024 20:59:30 GMT Message-Id: <202409092059.489KxUEF037148@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: 755e773877e9 - stable/14 - zfs: merge openzfs/zfs@33174af15 (zfs-2.2-release) into stable/14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 755e773877e9f3abab3bed2d46d9d87978e303d9 Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=755e773877e9f3abab3bed2d46d9d87978e303d9 commit 755e773877e9f3abab3bed2d46d9d87978e303d9 Merge: 65c70eb58bbe baa50314567a Author: Martin Matuska AuthorDate: 2024-09-09 20:40:58 +0000 Commit: Martin Matuska CommitDate: 2024-09-09 20:41:36 +0000 zfs: merge openzfs/zfs@33174af15 (zfs-2.2-release) into stable/14 OpenZFS release 2.2.6 Notable upstream pull request merges: #15557 bce36e21c module/icp/asm-arm/sha2: auto detect __ARM_ARCH #15623 2ca151537 module/icp/asm-arm/sha2: enable non-SIMD asm kernels on armv5/6 #16308 ac6500389 zfs: add bounds checking to zil_parse #16316 859f906a4 Fix null ptr deref when renaming a zvol with snaps and snapdev=visible #16343 cd42e992b Enable L2 cache of all (MRU+MFU) metadata but MFU data only #16382 3a36797ad FreeBSD: Fix RLIMIT_FSIZE handling for block cloning Obtained from: OpenZFS OpenZFS commit: 33174af15112ed5c53299da2d28e763b0163f428 OpenZFS tag: zfs-2.2.6 sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/config/kernel-blk-queue.m4 | 28 ++++++ .../openzfs/config/kernel-make-request-fn.m4 | 21 +++++ sys/contrib/openzfs/config/kernel-mm-page-size.m4 | 17 ---- sys/contrib/openzfs/config/kernel-mm-pagemap.m4 | 36 ++++++++ .../openzfs/config/kernel-register_sysctl_table.m4 | 59 +++++++++++++ sys/contrib/openzfs/config/kernel.m4 | 6 ++ .../openzfs/contrib/bash_completion.d/.gitignore | 1 + .../openzfs/contrib/bash_completion.d/Makefile.am | 12 ++- .../include/os/linux/kernel/linux/blkdev_compat.h | 35 +++++--- .../include/os/linux/kernel/linux/mm_compat.h | 7 ++ sys/contrib/openzfs/man/man4/zfs.4 | 14 ++- sys/contrib/openzfs/module/Kbuild.in | 4 +- .../openzfs/module/icp/algs/sha2/sha256_impl.c | 22 +++-- .../openzfs/module/icp/algs/sha2/sha512_impl.c | 19 ++--- .../openzfs/module/icp/asm-arm/sha2/sha256-armv7.S | 11 ++- .../openzfs/module/icp/asm-arm/sha2/sha512-armv7.S | 11 ++- .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 7 -- sys/contrib/openzfs/module/os/linux/spl/spl-proc.c | 53 ++++++++++-- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 1 + sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 99 ++++++++++++++++------ sys/contrib/openzfs/module/zfs/arc.c | 11 ++- sys/contrib/openzfs/module/zfs/dataset_kstats.c | 3 + sys/contrib/openzfs/module/zfs/zil.c | 21 ++++- sys/contrib/openzfs/rpm/generic/zfs-kmod.spec.in | 18 ++++ sys/contrib/openzfs/rpm/generic/zfs.spec.in | 1 + sys/contrib/openzfs/tests/runfiles/common.run | 3 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 2 + .../openzfs/tests/zfs-tests/tests/Makefile.am | 1 + .../functional/alloc_class/alloc_class.kshlib | 2 +- .../block_cloning/block_cloning_rlimit_fsize.ksh | 64 ++++++++++++++ .../cli_root/zfs_copies/zfs_copies.kshlib | 2 + .../functional/fault/suspend_resume_single.ksh | 2 +- .../zfs-tests/tests/functional/history/history.cfg | 6 +- .../zfs-tests/tests/functional/io/io_uring.ksh | 6 +- sys/modules/zfs/zfs_config.h | 16 +++- sys/modules/zfs/zfs_gitrev.h | 2 +- 37 files changed, 499 insertions(+), 128 deletions(-) diff --cc sys/contrib/openzfs/config/kernel-mm-pagemap.m4 index 000000000000,466b6fa07d9a..466b6fa07d9a mode 000000,100644..100644 --- a/sys/contrib/openzfs/config/kernel-mm-pagemap.m4 +++ b/sys/contrib/openzfs/config/kernel-mm-pagemap.m4 diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_rlimit_fsize.ksh index 000000000000,3632fc9a4df0..3632fc9a4df0 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_rlimit_fsize.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_rlimit_fsize.ksh diff --cc sys/modules/zfs/zfs_config.h index af6633ec205e,000000000000..6f1ec6dd8d83 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1236 -1,0 +1,1248 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* backtrace() is available */ +/* #undef HAVE_BACKTRACE */ + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_file_open_by_path() exists */ +/* #undef HAVE_BDEV_FILE_OPEN_BY_PATH */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* bdev_nr_bytes() is available */ +/* #undef HAVE_BDEV_NR_BYTES */ + +/* bdev_open_by_path() exists */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ + +/* bdev_release() exists */ +/* #undef HAVE_BDEV_RELEASE */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* __blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS */ + +/* __blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS */ + +/* blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_FLAGS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() exists */ +/* #undef HAVE_BLKDEV_PUT */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_disk() exists and takes 2 args */ +/* #undef HAVE_BLK_ALLOC_DISK_2ARG */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue is available */ +/* #undef HAVE_BLK_MQ */ + +/* block multiqueue hardware context is cached in struct request */ +/* #undef HAVE_BLK_MQ_RQ_HCTX */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + ++/* backing_dev_info is available through queue gendisk */ ++/* #undef HAVE_BLK_QUEUE_DISK_BDI */ ++ +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* Define to 1 if you have the 'execvpe' function. */ +#define HAVE_EXECVPE 1 + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* filemap_range_has_page() is available */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* fops->fadvise() exists */ +/* #undef HAVE_FILE_FADVISE */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* Define to 1 if you have the 'gettid' function. */ +/* #undef HAVE_GETTID */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* mnt_idmap does not have user_namespace */ +/* #undef HAVE_IDMAP_NO_USERNS */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_get_atime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_ATIME */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* inode_get_mtime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_MTIME */ + +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_atime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode_set_mtime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->setattr() exists */ +/* #undef HAVE_IOPS_SETATTR */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the 'issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel defines intptr_t */ +/* #undef HAVE_KERNEL_INTPTR_T */ + +/* kernel has kernel_neon_* functions */ +/* #undef HAVE_KERNEL_NEON */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* strlcpy() exists */ +/* #undef HAVE_KERNEL_STRLCPY */ + +/* strscpy() exists */ +/* #undef HAVE_KERNEL_STRSCPY */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + +/* kstrtoul() exists */ +/* #undef HAVE_KSTRTOUL */ + +/* ktime_get_coarse_real_ts64() exists */ +/* #undef HAVE_KTIME_GET_COARSE_REAL_TS64 */ + +/* ktime_get_raw_ts64() exists */ +/* #undef HAVE_KTIME_GET_RAW_TS64 */ + +/* kvmalloc exists */ +/* #undef HAVE_KVMALLOC */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [unwind] */ +/* #undef HAVE_LIBUNWIND */ + +/* libunwind has unw_get_elf_filename */ +/* #undef HAVE_LIBUNWIND_ELF */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* linux/blk-cgroup.h exists */ +/* #undef HAVE_LINUX_BLK_CGROUP_HEADER */ + +/* lseek_execute() is available */ +/* #undef HAVE_LSEEK_EXECUTE */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Noting that make_request_fn() returns void */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_VOID */ + +/* iops->mkdir() takes umode_t */ +/* #undef HAVE_MKDIR_UMODE_T */ + +/* Define to 1 if you have the 'mlockall' function. */ +#define HAVE_MLOCKALL 1 + ++/* page_mapping() is available */ ++/* #undef HAVE_MM_PAGE_MAPPING */ ++ +/* page_size() is available */ +/* #undef HAVE_MM_PAGE_SIZE */ + +/* lookup_bdev() wants mode arg */ +/* #undef HAVE_MODE_LOOKUP_BDEV */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* new_sync_read()/new_sync_write() are available */ +/* #undef HAVE_NEW_SYNC_READ */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* percpu_counter_add_batch() is defined */ +/* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ + +/* percpu_counter_init() wants gfp_t */ +/* #undef HAVE_PERCPU_COUNTER_INIT_WITH_GFP */ + +/* posix_acl_chmod() exists */ +/* #undef HAVE_POSIX_ACL_CHMOD */ + +/* posix_acl_from_xattr() needs user_ns */ +/* #undef HAVE_POSIX_ACL_FROM_XATTR_USERNS */ + +/* posix_acl_release() is available */ +/* #undef HAVE_POSIX_ACL_RELEASE */ + +/* posix_acl_release() is GPL-only */ +/* #undef HAVE_POSIX_ACL_RELEASE_GPL_ONLY */ + +/* posix_acl_valid() wants user namespace */ +/* #undef HAVE_POSIX_ACL_VALID_WITH_NS */ + ++/* proc_handler ctl_table arg is const */ ++/* #undef HAVE_PROC_HANDLER_CTL_TABLE_CONST */ ++ +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* iops->put_link() cookie */ +/* #undef HAVE_PUT_LINK_COOKIE */ + +/* iops->put_link() delayed */ +/* #undef HAVE_PUT_LINK_DELAYED */ + +/* iops->put_link() nameidata */ +/* #undef HAVE_PUT_LINK_NAMEIDATA */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + ++/* register_sysctl_sz exists */ ++/* #undef HAVE_REGISTER_SYSCTL_SZ */ ++ +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename2() exists */ +/* #undef HAVE_RENAME2 */ + +/* struct inode_operations_wrapper takes .rename2() */ +/* #undef HAVE_RENAME2_OPERATIONS_WRAPPER */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* REQ_DISCARD is defined */ +/* #undef HAVE_REQ_DISCARD */ + +/* REQ_FLUSH is defined */ +/* #undef HAVE_REQ_FLUSH */ + +/* REQ_OP_DISCARD is defined */ +/* #undef HAVE_REQ_OP_DISCARD */ + +/* REQ_OP_FLUSH is defined */ +/* #undef HAVE_REQ_OP_FLUSH */ + +/* REQ_OP_SECURE_ERASE is defined */ +/* #undef HAVE_REQ_OP_SECURE_ERASE */ + +/* REQ_PREFLUSH is defined */ +/* #undef HAVE_REQ_PREFLUSH */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* struct rw_semaphore has member activity */ +/* #undef HAVE_RWSEM_ACTIVITY */ + +/* struct rw_semaphore has atomic_long_t member count */ +/* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ + +/* linux/sched/signal.h exists */ +/* #undef HAVE_SCHED_SIGNAL_HEADER */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() accepts mnt_idmap */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() exists, takes 3 args */ +/* #undef HAVE_SET_ACL */ + +/* iops->set_acl() takes 4 args, arg1 is struct mnt_idmap * */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* set_cached_acl() is usable */ +/* #undef HAVE_SET_CACHED_ACL_USABLE */ + +/* set_special_state() exists */ +/* #undef HAVE_SET_SPECIAL_STATE */ + +/* shrinker_register exists */ +/* #undef HAVE_SHRINKER_REGISTER */ + +/* struct shrink_control exists */ +/* #undef HAVE_SHRINK_CONTROL_STRUCT */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* signal_stop() exists */ +/* #undef HAVE_SIGNAL_STOP */ + +/* new shrinker callback wants 2 args */ +/* #undef HAVE_SINGLE_SHRINKER_CALLBACK */ + +/* cs->count_objects exists */ +/* #undef HAVE_SPLIT_SHRINKER_CALLBACK */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ *** 357 LINES SKIPPED *** From nobody Mon Sep 9 22:58:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2j0p3YVDz5Vs0x; Mon, 09 Sep 2024 22:58: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2j0p2NgSz4Fbs; Mon, 9 Sep 2024 22:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vzVCpjqnt10dMuFVmlqgPsJf6z4blAwt9rjr9Xm4j1o=; b=iVZBVn7DIv6C2xRmO7dDeLlqh7ToYHWBmzTNI2Y3MAuJhuOKLuM9rukFDQV4tacIe+Rkfl KBoQtJ9mFSm8mN51bo6c8vzWfZoaoKoZp8kFKA2PAlfrjLzOIeGPPnu8xOk+McwMA1yXIB nWvSuvkUwoWytbnNseF+Ri7pdVA/cHX747wLnBRB/K4DgCu0m/IKv9f/MrwtWFbVJnByTx xHKKnExw5pl9TuUTJ+1LC6xtnC+sRdtdExazUomyEbYbNtYAsdi/S2dYYw4uiE24lMJSnA fUiFvmpfAfDbA61IkXhu/5p+qkbT5JHda1K5lfIGHg+lT7yFSR90sFO4efxd/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725922682; a=rsa-sha256; cv=none; b=SPZCsuXoZA3/d4jNc6H9esf9NbjiJupHQb7+V8ZzICBk3pQ0ESJClVa+yrYOPpV7/RuvIt OvzpcEZ/9/PU2O05pLZcZCsCijBUTvVIUKmwy4ehbbCDZmszoxSQR331aClc2ICNQYihh0 a3QahG/pHM9V+pdoAHZ6+PM6jrxcCCDrN7u2Db5cg8YetxYkBmCF1/3PnYUCrGfIDJhBAJ lPlqy6vQfLcduVo3nBEpI059V5Q08BXCIn0fCNm0aRmnBntNUQVu4RLg45LcbSCfqrxC/8 rUMuQYvNsGTxE488uyJ0/xkRUQP8C5NJx84eOdTL0isuQkbDSiFE5fzf7mFOYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vzVCpjqnt10dMuFVmlqgPsJf6z4blAwt9rjr9Xm4j1o=; b=O1uxL7WWuOfNqdok7I/hSWHw1ZcGfHR1p5syj059EOEZiMp6y70QDqEzOPz1gAqgzp79+9 RX0BnP7cRODE+rzsuVHhxGIxR9lWxLvqOn72Vl+w4K9Zi8wOqfwkULQP0q22APLDADNSaB jcT/2XCm2gKKxn5CSvp6kjcn2tnteIFQHRaHfFc5ktUyghzZhjHsnm5Zj4G0p5bJs3oIWU 4O8xBvUUxkr/C16NHecHQnYQ1B4JeNAMP9usS94ljtuLF6mLxQVlFsqI47NxT0cHeWNCJb HjpseNqyyfFs6dCvF/4jC0RrwzxTbh5lupAwjZr2QNWR/Qw4wg344ev6ghhjTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2j0p0xwgzMqw; Mon, 9 Sep 2024 22:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Mw1J7042068; Mon, 9 Sep 2024 22:58:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489Mw148042065; Mon, 9 Sep 2024 22:58:01 GMT (envelope-from git) Date: Mon, 9 Sep 2024 22:58:01 GMT Message-Id: <202409092258.489Mw148042065@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: 41e6582ab6a7 - stable/13 - bsd.symver.mk: pass $CFLAGS to $CPP invocation 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: 41e6582ab6a7bc49f31b97ebb522a00d75b51c18 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=41e6582ab6a7bc49f31b97ebb522a00d75b51c18 commit 41e6582ab6a7bc49f31b97ebb522a00d75b51c18 Author: Ed Maste AuthorDate: 2024-05-24 16:15:17 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:09:36 +0000 bsd.symver.mk: pass $CFLAGS to $CPP invocation This allows us to support symbols optionally available based on configuration, not just on compiler built-in #defines. Reviewed by: brooks, jrtc27 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45346 (cherry picked from commit aa0bc761d245d2ea1e4b7a0343715cc76859d5da) (cherry picked from commit e998c9f1bb39301a3408a47004ee6747698a9c8d) --- share/mk/bsd.symver.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.symver.mk b/share/mk/bsd.symver.mk index aa2fee2c649f..f20442f0a25f 100644 --- a/share/mk/bsd.symver.mk +++ b/share/mk/bsd.symver.mk @@ -40,7 +40,7 @@ _vgen= ${path}/${VERSION_GEN} # Run the symbol maps through the C preprocessor before passing # them to the symbol version generator. ${VERSION_MAP}: ${VERSION_DEF} ${_vgen} ${SYMBOL_MAPS} - cat ${SYMBOL_MAPS} | ${CPP} - - \ + cat ${SYMBOL_MAPS} | ${CPP} ${CFLAGS} - - \ | awk -v vfile=${VERSION_DEF} -f ${_vgen} > ${.TARGET} .endif # !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) .endif # !target(____) From nobody Mon Sep 9 22:58:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2j0q4f8Nz5Vrn8; Mon, 09 Sep 2024 22:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2j0q33rvz4FRN; Mon, 9 Sep 2024 22:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24OQ45dY17duAJaYBsdOy0I68JdfkzlP6WwgzB9BB9A=; b=vDfysUHvVXJzPicBvxHJpARXfljSXdJ1YXpeXpGBzS3hBPSjdomi6hDwVrz/fp7MXj5CBC Pf6bNoRoFVH9UmTrLe95Sgt7Ao7KkRa/qRAxRyZwjTz64pVc0nFq84VReE9WsOrmtr+6Vc cvu9sYgElUmnUkJfzhQWlAEc2uzHvh2Z2B41dBW3OM0liG15BBvIsiBAKZ97fY8rLHMBwf wul11koEekZ/Yr0hz9WLoq9it9bvAvjDvoMAu4mLX/UmscYoy1eA/lOP0oGXlFyzvlfbc3 AZECQL56f82cbkEg5DoRJzLANDikBsuRggjYdd3X3MawcevfMrO1lapJL9Nl2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725922683; a=rsa-sha256; cv=none; b=t56mWZD3K0FmX91yEwsIgQpGUTtftc+1sM1QYIhgAeojyE/rT7mY6IdfgJsRkG7GK1WN47 6siRFH6Ecej3WlgjUKV3Ev5iCrSTUR3dGTAECz35k0Od/W5rcMsFxGUHncbDnDp6jUVwUB KnpKDnxYMhV4OEgIpCJHzzsZu99gg+vj7sGEXawjkHvCaQbpkkF+VwMlKQIXmIR85AK6si A4zkEZNji2qExrVaA34YI4/q3gebZiZ6Iw225EDN8TZoCBsDKg3WbEbhDBh/YfTyJGkB34 KZM267fEI5ST5PJ+qaBhdoWOFiYirzQuo5gzZaz7+e3imSti+q4W5HzDmzqOdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24OQ45dY17duAJaYBsdOy0I68JdfkzlP6WwgzB9BB9A=; b=ajUz5lFMMEhPB73fWCMtAfs7Bx/uP25XnVeJtrSxIIAHCmW+RbEz/Uc3AzCBLrSCSsFYAB +w3C8EamynEzpx5MBWanHdt9Jd1qacCggA5QQxbIWQHHfbkaEE4J0jyemAkHMKoeTTlXW7 bldYc7Dy2jmGF5KrJq1CAdZEnyTD8rr1N2dicCXbB9PXNrE1Qp1Jk/BHGCaXDPPoa+Bm9D sO0JHNnIHlNG9yY24LDl0/1438XUZH0Rr4fVmpQww+t7tv4O/8/9PSDMW1i4Xov3TdOp9W hGe8P5C7+KXKUFbLSaAttncWrYIkicWuMWY6GxXYIJtP7G/p9lMEvpdvOaWefg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2j0q1jYPzMqx; Mon, 9 Sep 2024 22:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Mw3Gi042116; Mon, 9 Sep 2024 22:58:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489Mw3q3042113; Mon, 9 Sep 2024 22:58:03 GMT (envelope-from git) Date: Mon, 9 Sep 2024 22:58:03 GMT Message-Id: <202409092258.489Mw3q3042113@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: a954348eac32 - stable/13 - stand: bump arbitrary build date to 2024-01-01 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: a954348eac32a44c43fdc1404562ed09693287f5 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a954348eac32a44c43fdc1404562ed09693287f5 commit a954348eac32a44c43fdc1404562ed09693287f5 Author: Ed Maste AuthorDate: 2024-08-12 13:11:09 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:09:36 +0000 stand: bump arbitrary build date to 2024-01-01 For build reproducibility we set PE headers to an arbitrary timestamp. Nothing in FreeBSD uses this timestamp, but bump it from 2016 to 2024 so that the timestamp does not seem "too old" in case some third party tool is used to inspect EFI boot components. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46527 (cherry picked from commit 1b9cfd6a625dc82611846cb9a53c1886f7af3758) (cherry picked from commit 14a2be2b3db17cbd86a584d5a3378baa7e966bd0) --- stand/efi/Makefile.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/efi/Makefile.inc b/stand/efi/Makefile.inc index 6654888a6968..3d46bf4f451e 100644 --- a/stand/efi/Makefile.inc +++ b/stand/efi/Makefile.inc @@ -26,8 +26,8 @@ EFI_TARGET= efi-app-ia32 EFI_TARGET= binary .endif -# Arbitrarily set the PE/COFF header timestamps to 1 Jan 2016 00:00:00 +# Arbitrarily set the PE/COFF header timestamps to 1 Jan 2024 00:00:00 # for build reproducibility. -SOURCE_DATE_EPOCH?=1451606400 +SOURCE_DATE_EPOCH?=1704067200 .include "../Makefile.inc" From nobody Mon Sep 9 22:58:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2j0r6Gyvz5Vs3Y; Mon, 09 Sep 2024 22:58:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2j0r4FN3z4FWg; Mon, 9 Sep 2024 22:58:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=evvAVsAZqcPNOQtD/PQc/RhDa7M10nY2S3+Kc1tzhQQ=; b=PFayMAp1yAzitr8xMW17hvAc72F3J0KuE5ZIKEmo9RDKVV/2NSlYumymL1tAqADpXcqu+j uX+zULmwdauE9jU77qpXFdBSwcOQceZoXJQTma0w3ocsIdHz2a8NNzN1q/8/x12lNMKWHX 8jLbgNDHKX5A37FPCKkKWV40+V5vgEsFqG5Kv9ZSD9IW6fyHbo5HD4qzEqiowZTRJO8nR1 P7OtKNXUhVtcSZcZy38DCLEI7ZyJUcajupN+1KpZrw/JnNBm0ezW14GlORQ5nN4pVNnvZh 4i7tJuaUl3XYExIPYMF0g408yBmauE601J561VIlC1d2SE15oDzZgxfCCiQxiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725922684; a=rsa-sha256; cv=none; b=QexILXZKTr4oX0Blg0KvGLpoUqcWDe39dWw4AS8HMho810v2YYFtBPrT9Lyw8hw7GI/bmA NFP84F2RRaqT/Jc6ddrHDUTE0rSFsp2gXucIJttobrTpWBYHU7+1axOEbonw5gEIeDsixF 8Pq92cX2WPaWmmR1Ez4bA5UwFAKZCRxlWLNEVd9CAFYWWogN7TYhMOTGlAA69Bz5XS+huM 7kG88J+s8XfnYI45En/xO0mQKElOSNGj7VZBwgX/+ATbkFbgtIx1iVCXxIZJEcwW+XgS1S mdpubvbZEqx08bV7YEUyUgCyhkhowuP+Z8frZ8HhSMrDbEDBTZ5THXUgDEvJKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725922684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=evvAVsAZqcPNOQtD/PQc/RhDa7M10nY2S3+Kc1tzhQQ=; b=etq/j3moRv+JI0gjbNojpYHXht321l8HcrlXACjlH+D/HA6J0zYBZLuFmW8DRhrsdnMtIP 4IXEDDrhmS5cLFEH2UFfn/ZiAvSMQDRExOTNauxwpBkxjRH4x7vL1jaDgThxAaAmlb2nV/ aDgjFWnUN/nu9WkbFIcl7sEbWyZ0e/XPSFP5VrMfAIV3Egym/M3W3gg5O3Wh0qsdVCLw7N fT9HA44IcQpIeFUuS2zZhCFBX3UJClQ9ZP1teRpPJTu+0VidmmRYvtaKPADUJon8hyvcCo 0DkKBsvyMMsyxa4p75YW4I4CP2xWszhooksh8JbvlSgvUQuamgexVo1BP0+m6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2j0r2SDzzMwM; Mon, 9 Sep 2024 22:58:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 489Mw4Hh042165; Mon, 9 Sep 2024 22:58:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 489Mw4QE042162; Mon, 9 Sep 2024 22:58:04 GMT (envelope-from git) Date: Mon, 9 Sep 2024 22:58:04 GMT Message-Id: <202409092258.489Mw4QE042162@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: df2f5112be9b - stable/13 - sys: Mark ACL conversion routines as __result_use_check 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: df2f5112be9be5a0e3c6e94de1fa27613940cc93 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=df2f5112be9be5a0e3c6e94de1fa27613940cc93 commit df2f5112be9be5a0e3c6e94de1fa27613940cc93 Author: Pierre Pronchery AuthorDate: 2024-08-09 17:37:38 +0000 Commit: Ed Maste CommitDate: 2024-09-09 20:09:36 +0000 sys: Mark ACL conversion routines as __result_use_check Both acl_copy_oldacl_into_acl() and acl_copy_acl_into_oldacl() may fail in some circumstances (e.g., acl.acl_cnt exceeding the capacity of OLDACL_MAX_ENTRIES). This change marks both routines with __result_use_check, enforcing check for errors by the caller. Suggested by: markj Reviewed by: markj, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46254 (cherry picked from commit ef9fc9609a1ff53047577aa7cf51246fc04c954b) (cherry picked from commit 82fd9219755dac73e51289493e1f024b32bbb2cd) --- sys/sys/acl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/acl.h b/sys/sys/acl.h index fc804b86b16f..8e022e49d53b 100644 --- a/sys/sys/acl.h +++ b/sys/sys/acl.h @@ -307,9 +307,9 @@ void acl_nfs4_compute_inherited_acl( const struct acl *parent_aclp, struct acl *child_aclp, mode_t mode, int file_owner_id, int is_directory); -int acl_copy_oldacl_into_acl(const struct oldacl *source, +int __result_use_check acl_copy_oldacl_into_acl(const struct oldacl *source, struct acl *dest); -int acl_copy_acl_into_oldacl(const struct acl *source, +int __result_use_check acl_copy_acl_into_oldacl(const struct acl *source, struct oldacl *dest); /* From nobody Tue Sep 10 01:31:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2mQN1JpDz5WB21; Tue, 10 Sep 2024 01:31:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2mQN0sL2z4fSc; Tue, 10 Sep 2024 01:31:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725931916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6Z0Rrf2S3MBVrwFgSJxyKDDjAfBZw8uQylpm2MCJRE=; b=C/8SnGyyfQzCdP1w4Arq90mYtVVce8KmFP9p8XcPs23fS0jZGQUTNomt3qOvTLNLNO0VI4 rjxWj1rVHfbtIgbWuXRBwh8ixsnnjf2HVqhRk2GiWiupLw0IvrLBaKSwTbyi0PoNzQYPXV qAm1vFgPFNOYMTnojjGQAcNcxhpDQ9vHNc9bRcr2FQmz4XziklDjmPNNfmSnR8dSEgeYm9 2VEkqWF9cCRtXqU0iK83g4GP9Jk9kWG/wwt+ZmajQcDEm0U539K1PvTvOONCVLz4alUWtH u/A2CIsaWM5krNcwxC+F9QbSSL/uNr08XpDoh9vkcJy3RHg9Ra2E9J7rlx+rcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725931916; a=rsa-sha256; cv=none; b=g4OA8j9uTeMUb8RlAREwZUomVak1+X81q3Ue7IAe70TAxRWv+NOyJd87+UG9OINOByTKuk Lewd8PZpyT9feLQ1Tfji4YZ6iG1mAZAZJ59ijSWC7hFzX6a4m4KEJmLsHWiftYqW9r/zrJ 7O6YLMYZxnYf2uRU1YtP34jzcjl/dXUJNvuj89bUQgLfQ633GaXUZa1ubMjDraaAUsIbVh ybYiitJsN28z5OBVY7B8kCTyXf3xI6nllFPhUJptzNNt6uMwS5/yqLqaaEpvUK24feeePh 48w5ux2VJhjgVk1ifcTTWAeH/4OTlEA5ECKtnmsHIwpGkGS+Q9fKsMg9SRK7tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725931916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6Z0Rrf2S3MBVrwFgSJxyKDDjAfBZw8uQylpm2MCJRE=; b=bxKcrpHmtMY7B70f9Il/sUBK6g43JB0pzmTH275shsaZUCdbN56sizcwZDOXpnFO/rnH8b Jk4NSW6nCvqv11I4hbs8zE4aCxPEOd2uUUecICbjJE8HZnB9or0kRbs9VSJFx3khXCBeCC 6LJDG0Vvt9zWPYjpyVcKbGTSlRjcKWe0UmFUjkGnV+ZkksBHBZzvQzXAMcg8oRddkytjj2 J3TlcjuQm+8KOdQaeQiGN5Kpwn2r8tcRW7U5XBB3M/ZFZ3L7HucjRBUGUOWUMuKX7gn9+/ EtC9R0K9qxWjODDTS1Tun4BphqmhrT5U2Qqng52p3ho8UVP8jJcVbiOpojr+QQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2mQN08zmzRV4; Tue, 10 Sep 2024 01:31:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48A1Vtic009222; Tue, 10 Sep 2024 01:31:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48A1Vt5M009204; Tue, 10 Sep 2024 01:31:55 GMT (envelope-from git) Date: Tue, 10 Sep 2024 01:31:55 GMT Message-Id: <202409100131.48A1Vt5M009204@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 617a9b99a594 - stable/14 - nfsd: Fix handling of NFSv4 setable attributes 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 617a9b99a594532095c9fed0cf8e4f728e24f480 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=617a9b99a594532095c9fed0cf8e4f728e24f480 commit 617a9b99a594532095c9fed0cf8e4f728e24f480 Author: Rick Macklem AuthorDate: 2024-08-27 21:19:33 +0000 Commit: Rick Macklem CommitDate: 2024-09-10 01:30:23 +0000 nfsd: Fix handling of NFSv4 setable attributes Commit d8a5961 made a change to nfsv4_sattr() that broke parsing of the setable attributes for a NFSv4 SETATTR. (It broke out of the code by setting "error" and returning right away, instead of noting the error in nd_repstat and allowing parsing of the attributes to continue.) By returning prematurely, it was possible for SETATTR to return the error, but with a bogus set of attribute bits set, since "retbits" had not yet been set to all zeros. (I am not sure if any client could be affected by this bug. The patch was done for a failure case detected by a pynfs test suite and not an actual client.) While here, the patch also fixes a few cases where the value of attributes gets set for attributes after an error has been set in nd_repstat. This would not really break the protocol, since a SETATTR is allowed to set some attributes and still return an failure, but should not really be done. (cherry picked from commit 5037c6398b2327366494a0434a894dc17ba8d023) --- sys/fs/nfsserver/nfs_nfsdport.c | 58 ++++++++++++++++++++++++----------------- sys/fs/nfsserver/nfs_nfsdserv.c | 2 +- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 3769fdc4ff73..767bdcd80709 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3027,6 +3027,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, /* * Loop around getting the setable attributes. If an unsupported * one is found, set nd_repstat == NFSERR_ATTRNOTSUPP and return. + * Once nd_repstat != 0, do not set the attribute value, but keep + * parsing the attribute(s). */ if (retnotsup) { nd->nd_repstat = NFSERR_ATTRNOTSUPP; @@ -3044,12 +3046,13 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, switch (bitpos) { case NFSATTRBIT_SIZE: NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); - if (vp != NULL && vp->v_type != VREG) { - error = (vp->v_type == VDIR) ? NFSERR_ISDIR : - NFSERR_INVAL; - goto nfsmout; + if (!nd->nd_repstat) { + if (vp != NULL && vp->v_type != VREG) + nd->nd_repstat = (vp->v_type == VDIR) ? + NFSERR_ISDIR : NFSERR_INVAL; + else + nvap->na_size = fxdr_hyper(tl); } - nvap->na_size = fxdr_hyper(tl); attrsum += NFSX_HYPER; break; case NFSATTRBIT_ACL: @@ -3086,7 +3089,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, case NFSATTRBIT_MODE: moderet = NFSERR_INVAL; /* Can't do MODESETMASKED. */ NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); - nvap->na_mode = nfstov_mode(*tl); + if (!nd->nd_repstat) + nvap->na_mode = nfstov_mode(*tl); attrsum += NFSX_UNSIGNED; break; case NFSATTRBIT_OWNER: @@ -3154,10 +3158,11 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_UNSIGNED; if (fxdr_unsigned(int, *tl)==NFSV4SATTRTIME_TOCLIENT) { NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_atime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_atime); toclient = 1; attrsum += NFSX_V4TIME; - } else { + } else if (!nd->nd_repstat) { vfs_timestamp(&nvap->na_atime); nvap->na_vaflags |= VA_UTIMES_NULL; } @@ -3170,7 +3175,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, break; case NFSATTRBIT_TIMECREATE: NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_btime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_btime); attrsum += NFSX_V4TIME; break; case NFSATTRBIT_TIMEMODIFYSET: @@ -3178,10 +3184,11 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_UNSIGNED; if (fxdr_unsigned(int, *tl)==NFSV4SATTRTIME_TOCLIENT) { NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_mtime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_mtime); nvap->na_vaflags &= ~VA_UTIMES_NULL; attrsum += NFSX_V4TIME; - } else { + } else if (!nd->nd_repstat) { vfs_timestamp(&nvap->na_mtime); if (!toclient) nvap->na_vaflags |= VA_UTIMES_NULL; @@ -3199,18 +3206,21 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, * specified and this attribute cannot be done in the * same Setattr operation. */ - if ((nd->nd_flag & ND_NFSV41) == 0) - nd->nd_repstat = NFSERR_ATTRNOTSUPP; - else if ((mode & ~07777) != 0 || (mask & ~07777) != 0 || - vp == NULL) - nd->nd_repstat = NFSERR_INVAL; - else if (moderet == 0) - moderet = VOP_GETATTR(vp, &va, nd->nd_cred); - if (moderet == 0) - nvap->na_mode = (mode & mask) | - (va.va_mode & ~mask); - else - nd->nd_repstat = moderet; + if (!nd->nd_repstat) { + if ((nd->nd_flag & ND_NFSV41) == 0) + nd->nd_repstat = NFSERR_ATTRNOTSUPP; + else if ((mode & ~07777) != 0 || + (mask & ~07777) != 0 || vp == NULL) + nd->nd_repstat = NFSERR_INVAL; + else if (moderet == 0) + moderet = VOP_GETATTR(vp, &va, + nd->nd_cred); + if (moderet == 0) + nvap->na_mode = (mode & mask) | + (va.va_mode & ~mask); + else + nd->nd_repstat = moderet; + } attrsum += 2 * NFSX_UNSIGNED; break; default: @@ -3225,7 +3235,7 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, /* * some clients pad the attrlist, so we need to skip over the - * padding. + * padding. This also skips over unparsed non-supported attributes. */ if (attrsum > attrsize) { error = NFSERR_BADXDR; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 47e3a20390f4..a38ef3d47946 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -375,6 +375,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, NFSACL_T *aclp = NULL; struct thread *p = curthread; + NFSZERO_ATTRBIT(&retbits); if (nd->nd_repstat) { nfsrv_wcc(nd, preat_ret, &nva2, postat_ret, &nva); goto out; @@ -402,7 +403,6 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, goto nfsmout; /* For NFSv4, only va_uid is used from nva2. */ - NFSZERO_ATTRBIT(&retbits); NFSSETBIT_ATTRBIT(&retbits, NFSATTRBIT_OWNER); preat_ret = nfsvno_getattr(vp, &nva2, nd, p, 1, &retbits); if (!nd->nd_repstat) From nobody Tue Sep 10 01:38:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2mYw4Qdmz5WCQN; Tue, 10 Sep 2024 01:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2mYw3Y6Bz4gsQ; Tue, 10 Sep 2024 01:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725932308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJFkXD6YzuZOCJ+4Lkz9KCvcMhQHhxTL0GbmhJUXpNM=; b=xYFPWTc4Baln0v8TISQO6zLnc5Kirc0Qx0BnK+0B4tFlxhXg7ICbVCTFLCvyT795RNgGVe q1AfkS0wyZFKUDolR8hk0UANzmQjpnNUkT44WkGTHgRUEnwcMCRFCnfC2QzFisUg3w8KQ1 +V9CHm9FZK2ZpWcNl01xG92mBBVscbWbGw1nl2isDAwgvNdeE3OD843oUDZeVa/brC6cy+ HC64DWUIfH8IQKKPpEnOsq2l4+AO6eq38EYp5XTkRWMp+6G1q35YPvYAy+6w8MZYBf3wSf sv9FmpWB95M2YNTGMd9DTV/eWYu54M8LogiZG5hYAvHnjoawIb8Yz3eWxdyPEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725932308; a=rsa-sha256; cv=none; b=n9olDiFRqnkWwUbBzzdJ0yaC+ylJbQajM1GAcKPRKddgUJouYdxM3+2LDipKie87HeJGhi 57F1ohKUwnyhi6YS7WsVvzwKnZKbUYL9X5I04f+7q7UHPR2W7KNk+JwFAg7kwgwBtpEp7D L+56MkrsQ5/EQPP3Km0B7xYbiHHyBdmRNyqLiI2ulvRdQTzLKKrzPXhirfrO9pfCNxPV9w WDus+nfLa2K4T/yxYMwywd8LDMDcr6X52tvsCkDWA+XkAx5MKihWFfIVFw4pLxE4fT9t0g e/g0Fq9bMDyeZ++8xwnXpwY/tlv1cEOexuUayvocntGPYJvAPNAJxsOZD/hzOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725932308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJFkXD6YzuZOCJ+4Lkz9KCvcMhQHhxTL0GbmhJUXpNM=; b=sjmerGGMFL8vA3qppUvs2BJwI3xJ4LI2F8BZS454WzjNRXWLlTzRcg6ubHRmwyx43DMQUD o3YSJ3IBBCQZIlgB83MgXpWIJ1M9iIgGGQkAnwjV7ETCLFAO9VCRBm1lSO43xvvjNsQjuq 0kg8ujZVMiGWu3DomZ0C9GG/XGqZTpTvg3N3UdLoJQVqn8TNhnx7PR8GCUGHDt5ul62JXr 5M3rOJCBvveQKHZUpthhZAq1Olin9ibBtUz6Ep6M6G2OvZ9u6CwmqHEGSSiBO6FNnS3jm0 H7Y9f/hsaiZySn4SfUuiTdl3sZTRnR7W6xzsMh+hyKlYUMhpsfDSLJFS/oOr5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2mYw38DDzRkf; Tue, 10 Sep 2024 01:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48A1cSYl013940; Tue, 10 Sep 2024 01:38:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48A1cSMT013937; Tue, 10 Sep 2024 01:38:28 GMT (envelope-from git) Date: Tue, 10 Sep 2024 01:38:28 GMT Message-Id: <202409100138.48A1cSMT013937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: d72ace979924 - stable/13 - nfsd: Fix handling of NFSv4 setable attributes 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d72ace9799240987458cc9bd4c17ac1f72a5109d Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d72ace9799240987458cc9bd4c17ac1f72a5109d commit d72ace9799240987458cc9bd4c17ac1f72a5109d Author: Rick Macklem AuthorDate: 2024-08-27 21:19:33 +0000 Commit: Rick Macklem CommitDate: 2024-09-10 01:37:24 +0000 nfsd: Fix handling of NFSv4 setable attributes Commit d8a5961 made a change to nfsv4_sattr() that broke parsing of the setable attributes for a NFSv4 SETATTR. (It broke out of the code by setting "error" and returning right away, instead of noting the error in nd_repstat and allowing parsing of the attributes to continue.) By returning prematurely, it was possible for SETATTR to return the error, but with a bogus set of attribute bits set, since "retbits" had not yet been set to all zeros. (I am not sure if any client could be affected by this bug. The patch was done for a failure case detected by a pynfs test suite and not an actual client.) While here, the patch also fixes a few cases where the value of attributes gets set for attributes after an error has been set in nd_repstat. This would not really break the protocol, since a SETATTR is allowed to set some attributes and still return an failure, but should not really be done. (cherry picked from commit 5037c6398b2327366494a0434a894dc17ba8d023) --- sys/fs/nfsserver/nfs_nfsdport.c | 58 ++++++++++++++++++++++++----------------- sys/fs/nfsserver/nfs_nfsdserv.c | 2 +- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index f412451e4e35..41443a5a79f4 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3038,6 +3038,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, /* * Loop around getting the setable attributes. If an unsupported * one is found, set nd_repstat == NFSERR_ATTRNOTSUPP and return. + * Once nd_repstat != 0, do not set the attribute value, but keep + * parsing the attribute(s). */ if (retnotsup) { nd->nd_repstat = NFSERR_ATTRNOTSUPP; @@ -3055,12 +3057,13 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, switch (bitpos) { case NFSATTRBIT_SIZE: NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); - if (vp != NULL && vp->v_type != VREG) { - error = (vp->v_type == VDIR) ? NFSERR_ISDIR : - NFSERR_INVAL; - goto nfsmout; + if (!nd->nd_repstat) { + if (vp != NULL && vp->v_type != VREG) + nd->nd_repstat = (vp->v_type == VDIR) ? + NFSERR_ISDIR : NFSERR_INVAL; + else + nvap->na_size = fxdr_hyper(tl); } - nvap->na_size = fxdr_hyper(tl); attrsum += NFSX_HYPER; break; case NFSATTRBIT_ACL: @@ -3097,7 +3100,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, case NFSATTRBIT_MODE: moderet = NFSERR_INVAL; /* Can't do MODESETMASKED. */ NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); - nvap->na_mode = nfstov_mode(*tl); + if (!nd->nd_repstat) + nvap->na_mode = nfstov_mode(*tl); attrsum += NFSX_UNSIGNED; break; case NFSATTRBIT_OWNER: @@ -3165,10 +3169,11 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_UNSIGNED; if (fxdr_unsigned(int, *tl)==NFSV4SATTRTIME_TOCLIENT) { NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_atime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_atime); toclient = 1; attrsum += NFSX_V4TIME; - } else { + } else if (!nd->nd_repstat) { vfs_timestamp(&nvap->na_atime); nvap->na_vaflags |= VA_UTIMES_NULL; } @@ -3181,7 +3186,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, break; case NFSATTRBIT_TIMECREATE: NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_btime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_btime); attrsum += NFSX_V4TIME; break; case NFSATTRBIT_TIMEMODIFYSET: @@ -3189,10 +3195,11 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_UNSIGNED; if (fxdr_unsigned(int, *tl)==NFSV4SATTRTIME_TOCLIENT) { NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - fxdr_nfsv4time(tl, &nvap->na_mtime); + if (!nd->nd_repstat) + fxdr_nfsv4time(tl, &nvap->na_mtime); nvap->na_vaflags &= ~VA_UTIMES_NULL; attrsum += NFSX_V4TIME; - } else { + } else if (!nd->nd_repstat) { vfs_timestamp(&nvap->na_mtime); if (!toclient) nvap->na_vaflags |= VA_UTIMES_NULL; @@ -3210,18 +3217,21 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, * specified and this attribute cannot be done in the * same Setattr operation. */ - if ((nd->nd_flag & ND_NFSV41) == 0) - nd->nd_repstat = NFSERR_ATTRNOTSUPP; - else if ((mode & ~07777) != 0 || (mask & ~07777) != 0 || - vp == NULL) - nd->nd_repstat = NFSERR_INVAL; - else if (moderet == 0) - moderet = VOP_GETATTR(vp, &va, nd->nd_cred); - if (moderet == 0) - nvap->na_mode = (mode & mask) | - (va.va_mode & ~mask); - else - nd->nd_repstat = moderet; + if (!nd->nd_repstat) { + if ((nd->nd_flag & ND_NFSV41) == 0) + nd->nd_repstat = NFSERR_ATTRNOTSUPP; + else if ((mode & ~07777) != 0 || + (mask & ~07777) != 0 || vp == NULL) + nd->nd_repstat = NFSERR_INVAL; + else if (moderet == 0) + moderet = VOP_GETATTR(vp, &va, + nd->nd_cred); + if (moderet == 0) + nvap->na_mode = (mode & mask) | + (va.va_mode & ~mask); + else + nd->nd_repstat = moderet; + } attrsum += 2 * NFSX_UNSIGNED; break; default: @@ -3236,7 +3246,7 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, /* * some clients pad the attrlist, so we need to skip over the - * padding. + * padding. This also skips over unparsed non-supported attributes. */ if (attrsum > attrsize) { error = NFSERR_BADXDR; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index ccaeb4153253..7f7ff9f75a91 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -375,6 +375,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, NFSACL_T *aclp = NULL; struct thread *p = curthread; + NFSZERO_ATTRBIT(&retbits); if (nd->nd_repstat) { nfsrv_wcc(nd, preat_ret, &nva2, postat_ret, &nva); goto out; @@ -402,7 +403,6 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, goto nfsmout; /* For NFSv4, only va_uid is used from nva2. */ - NFSZERO_ATTRBIT(&retbits); NFSSETBIT_ATTRBIT(&retbits, NFSATTRBIT_OWNER); preat_ret = nfsvno_getattr(vp, &nva2, nd, p, 1, &retbits); if (!nd->nd_repstat) From nobody Tue Sep 10 04:29:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2rMq4QY9z5WcmR; Tue, 10 Sep 2024 04:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2rMq2XVPz518B; Tue, 10 Sep 2024 04:29:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725942599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejPLCJf5hffgGeca3Vpt2DDjfKQq8nwZeVShrwyYrrg=; b=plCEt4w+93aYoP33/YFThfEpvMX43RUFQZKljJFt+1SzjTI1bcrowNQy6upCn+x18BcBlG SQKBJft7dEkfi5ZO2bDjuXsZFENc/41vZ0PRiMkLqenEihUtNsw4yLiZWv+FPtoPRbViF1 dN514tP8KQK60G7BkYoQ4kDouO0Cu6HlzT/3ZUUPbYtDbDT0bL7p0PNdI78rCUgqcybBfS vdATl/XfpW/fqNssbdzk0HusiRrO5AFE0498hJjVBw/JFW++GGV+ej1lByMr4sxeJIKNCT lpC6oj/FKFy71yquMrOqFuN3uXHQEXNslBIWix+SYxNN+MPhbEe+/KZhsJUiSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725942599; a=rsa-sha256; cv=none; b=Yb1f0x8zFPdrrTmrqVbn38dUWuN4lQPtjYulfSF2Ih7qxFngr9KoTWW/ICJXR8dQXfm7gA 5QLnF9KaMjY2RaN0ZSos3WyPsmoIqdCEvjw+HHplq6mud0PFNO2OT/R29ktVXq5fY5m7mf 5Sgtj73n3PMnZ2uBx7cIR1ziqGdK9jbIOFrnJFyFKQp0xi7oRxLjkQCGyuXGmUQsu8Gp3A 2sPvYMHtgghWUHhAWSsKM5G9QzK6ai2JfcAf8VdJZMq2JROXNGpH1i917j9MBD67K21Wqk bdq9Hfui1AImYQphyLbQ4D0Gz3j/+Dovl3THprCFe4xCZb4fqUntO85F9IC0Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725942599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejPLCJf5hffgGeca3Vpt2DDjfKQq8nwZeVShrwyYrrg=; b=AjJyvGjRlMm03bqNxNHgBOOfC0ywgs9UNojahuK8Me7DU8mpPE1qv1RIySky29rtaPy0hD x94KzvbeD+6AzqCZZRiVUx961sRIkPFaJIYUcB0KTs9JVAf7sII4rEv3UUOHdHPTQ8M/KX iiboPH7OJ5xFAe+VJp9k3Mgax2sl9Een/YUPvJPb7TwjSj72giRuR2KwQLnSM0YC1E0Crj pyFedRv3i5xkkyWr8wbkIgg4kKWYhUxOMUC+l05LcRRQXs0E505e3R08LKEC2DHlFzZSpj O3Viv1sMi+vsVbdvabNeHBUmSfbuZPp40hT5XEwQV69xqumCaXDu3bqYHPZ0dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2rMq21ltzYSZ; Tue, 10 Sep 2024 04:29:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48A4Txu8006020; Tue, 10 Sep 2024 04:29:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48A4TxF0006017; Tue, 10 Sep 2024 04:29:59 GMT (envelope-from git) Date: Tue, 10 Sep 2024 04:29:59 GMT Message-Id: <202409100429.48A4TxF0006017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 5297156047f2 - stable/14 - vmstat: Add root element to libxo 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5297156047f29274c9b6e68a514e72a858059890 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=5297156047f29274c9b6e68a514e72a858059890 commit 5297156047f29274c9b6e68a514e72a858059890 Author: Bram Ton AuthorDate: 2024-07-17 07:23:30 +0000 Commit: Xin LI CommitDate: 2024-09-10 04:29:34 +0000 vmstat: Add root element to libxo output Current libxo output does not have a root element. Valid XML requires a single root element. This commit adds this root element. The libxo output version bumped accordingly. PR: 254635 Pull Request: https://github.com/freebsd/freebsd-src/pull/1330 (cherry picked from commit c7dd97ec99687996de49ec0b1a23bf007e5199b9) --- usr.bin/vmstat/vmstat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index 48da1343a71c..c86c335087f5 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -79,7 +79,7 @@ static char sccsid[] = "@(#)vmstat.c 8.1 (Berkeley) 6/6/93"; #include #include -#define VMSTAT_XO_VERSION "1" +#define VMSTAT_XO_VERSION "2" static char da[] = "da"; @@ -295,6 +295,7 @@ main(int argc, char *argv[]) argv += optind; xo_set_version(VMSTAT_XO_VERSION); + xo_open_container("vmstat"); if (!hflag) xo_set_options(NULL, "no-humanize"); if (todo == 0) @@ -396,6 +397,7 @@ nlist_ok: dointr(interval, reps); if (todo & VMSTAT) dovmstat(interval, reps); + xo_close_container("vmstat"); xo_finish(); exit(0); } From nobody Tue Sep 10 04:31:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2rP43Vw3z5Wcmm; Tue, 10 Sep 2024 04:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2rP433Vlz51RS; Tue, 10 Sep 2024 04:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725942664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0FM3wmW1a+KgywbR9MEV2ARTAyoqs3fITm8uG9TMvkU=; b=ymSCHt2tL6OsVthQzKV/kZ5mMDgs2No9kBM5Mc8T8CrEZZXaqnrekpppkSCh8oeT5UOS+0 NMqTO0V0EeLLvfYKldxRK+54MPNQ49Mb+j/yj1MMK38eS4Dmqi+OgL85ZP4MBPwx/AN+py rPdb3Pir/1FKVMdoiLGmlUEYm/Yu1lYE6w3L4rrYPTP1AQP0DiWIDlDarXSkKvmXecKGXk zX1ePZngMIt+y7fj6M9KRZbTQ3YqusSGwadDu8XN1sJyXLqzZRw50r51ntVt4rMlHVEgza JKmaP9FDvg3uQSD+vRv0ilfm14mZkW9/gNdbi2ycPiCnc6yCDUdKwiny+RjOJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725942664; a=rsa-sha256; cv=none; b=f9sqZsKaPMyLAji0MbtZ2KqXDHY3S24RNx8uMg+T5WOeWKWdVlfdcFQOR33V4BfY0X/1Ws p961dAXtwcoQQMzbpw3vJeV+rdM8AILA4c2gbd6zHekOd6yPX9UwtxNJ346BV2hrJYyj3E D3CT5Z468HPvi3JtV9tzSVZW16K/3RreOBL61uLLl+KfXnPwK8O7/Kqbj59CC3QeLjOhlG J/bHq6SKBsQKF5j789OoNxv7r7BsDIjazPkWckA7+uAppWgfIpHiayxOYUhjKJPd9JGp/Q U7GufY3HSDWnSyBcvLwWKIBNWBVJtHz6wwO8y0iyhjMdVy1He0sFDR+RH33tGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725942664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0FM3wmW1a+KgywbR9MEV2ARTAyoqs3fITm8uG9TMvkU=; b=Lv907peN4Y87sxAhDONl61UHvonlJQL3QblNPE5wPgUOWlsgCor1RwjE6gLUVaEoDFYO0Y g9ySFk0WVEIXqhN3GwDm+8/C535Al5qV+MgyC9lyxa4jTMlUF9IVq9hw3V6h/G4dsB4Q8Z 4jKKDDtIDoFOyRB1y3h2vXIrVXAVgzQwg4M6+V4Xow/BTdGNK/Cjc392XMM0R1f+y/+chJ xkIAFWEePA7XA+/hWyfa3jk3A7ukGUq7fQtNXcv+e1CCYNb4jxCs9FSGdwO+mq8rf0HZT4 yo0X3CjD49KDxzsECcWY0fWqHTFiDwHyDuwj5DSqVBARRtPlmN74TMy1SOrr7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2rP42fgyzYW5; Tue, 10 Sep 2024 04:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48A4V4Ma015938; Tue, 10 Sep 2024 04:31:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48A4V4rt015935; Tue, 10 Sep 2024 04:31:04 GMT (envelope-from git) Date: Tue, 10 Sep 2024 04:31:04 GMT Message-Id: <202409100431.48A4V4rt015935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: b10e93220e52 - stable/14 - mfiutil: Handle potential ioctl(2) failures in mfi_flash.c 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b10e93220e5221147483ef17f015863138e31583 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=b10e93220e5221147483ef17f015863138e31583 commit b10e93220e5221147483ef17f015863138e31583 Author: WHR AuthorDate: 2024-09-03 05:12:20 +0000 Commit: Xin LI CommitDate: 2024-09-10 04:30:51 +0000 mfiutil: Handle potential ioctl(2) failures in mfi_flash.c The return value of function 'mfi_dcmd_command' should always be checked for the potential ioctl(2) failure. PR: 281158 Pull Request: https://github.com/freebsd/freebsd-src/pull/1403 (cherry picked from commit bac98f86c98421f6153c749b6c77995ef778e2fb) --- usr.sbin/mfiutil/mfi_flash.c | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/usr.sbin/mfiutil/mfi_flash.c b/usr.sbin/mfiutil/mfi_flash.c index 2fbfc978edac..4d1930af4941 100644 --- a/usr.sbin/mfiutil/mfi_flash.c +++ b/usr.sbin/mfiutil/mfi_flash.c @@ -129,9 +129,15 @@ flash_adapter(int ac, char **av) /* First, ask the firmware to allocate space for the flash file. */ mbox_store_word(mbox, sb.st_size); - mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_OPEN, NULL, 0, mbox, 4, &status); + if (mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_OPEN, NULL, 0, mbox, 4, + &status) < 0) { + error = errno; + warn("Failed to allocate flash memory"); + goto error; + } if (status != MFI_STAT_OK) { - warnx("Failed to alloc flash memory: %s", mfi_status(status)); + warnx("Failed to allocate flash memory: %s", + mfi_status(status)); error = EIO; goto error; } @@ -148,19 +154,26 @@ flash_adapter(int ac, char **av) nread = read(flash, buf, FLASH_BUF_SIZE); if (nread <= 0 || nread % 1024 != 0) { warnx("Bad read from flash file"); - mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_CLOSE, NULL, 0, - NULL, 0, NULL); + if (mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_CLOSE, + NULL, 0, NULL, 0, NULL) < 0) { + warn("Failed to discard flash memory"); + } error = ENXIO; goto error; } mbox_store_word(mbox, offset); - mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_DOWNLOAD, buf, nread, - mbox, 4, &status); + if (mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_DOWNLOAD, buf, nread, + mbox, 4, &status) < 0) { + error = errno; + warn("Failed to download firmware"); + goto error; + } if (status != MFI_STAT_OK) { - warnx("Flash download failed: %s", mfi_status(status)); - mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_CLOSE, NULL, 0, - NULL, 0, NULL); + warnx("Failed to download firmware: %s", + mfi_status(status)); + mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_CLOSE, NULL, + 0, NULL, 0, NULL); error = ENXIO; goto error; } @@ -171,8 +184,12 @@ flash_adapter(int ac, char **av) /* Kick off the flash. */ printf("WARNING: Firmware flash in progress, do not reboot machine... "); fflush(stdout); - mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_FLASH, &dummy, sizeof(dummy), - NULL, 0, &status); + if (mfi_dcmd_command(fd, MFI_DCMD_FLASH_FW_FLASH, &dummy, sizeof(dummy), + NULL, 0, &status) < 0) { + error = errno; + printf("failed:\n\t%s\n", strerror(error)); + goto error; + } if (status != MFI_STAT_OK) { printf("failed:\n\t%s\n", mfi_status(status)); error = ENXIO; From nobody Tue Sep 10 10:02:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2zlr1kKlz5VHwT; Tue, 10 Sep 2024 10:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2zlr11tYz4fMC; Tue, 10 Sep 2024 10:02:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725962568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fvb4dwdz03pgzmT9lD1uknU5GP/xCK2urWekUiSSpVM=; b=pJ7ufAOSrPy2sfuXnHYGKHGtExJ6fIWAzaYG2RZD5ApkWXueM6C0rMmcaijyRG3sSyB3FE jgznNV+BDYoNzQzP335oTraY0/e9PsHOsJHN13FmnffiaxOWPROU2MMq6r/0hDLwW/K26V N3Rx2rlDez1IA6LqDjLy+LfiweurpgjQGbN2Vkx8AzxGBd5qOKcXiLzCobNq/+NV1iB5pQ OplEYOhUT3dEmsOV9a/SVs1nFKKa4qXVkf1dL8Dy1BAHZYCW5Tlm1CQRol0US5voZYlmBh Eq9wz9/zwrnja4ZZr/p7rKA5B337W2ZbSAHz/A6eJJSGygoPaXlyx6DxyPK0XA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725962568; a=rsa-sha256; cv=none; b=odhQOBQt/iPm62EWo+91fCi6kkfMp70qEwQM1bdbiU/KbkaSFQBQ9FIXBKUIEkamkxHc2W scqhG7Zeh6hKOyBnjxH/A6Op5JKssx7/o/qdkGoWUdnzunzTwoO8DcdZbLO3zkItarEvSX NZEXVg3tgohxCZawt9ASk5z2f55h4KEp5wH5hmmp47JyjZaSbL7tECQjLHxuOjs+P0X87p BrCLH1LEJNiWzW4ttaE4v42iWL7UHFOlDk8GRKaiIzh7umc8FpUrY5IPk3ZpBt52tA6+od CzJO8SBR0BvFP/muwOrDrnWQF1FH7Y3JWsGjQbZKEOhj8h5jtsyAczifFO4nRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725962568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fvb4dwdz03pgzmT9lD1uknU5GP/xCK2urWekUiSSpVM=; b=By2jUMjWEuP4x+tvtzf2/Mkfkxyb4ZA/QNiDGwAbpT44mg7LvJeHCSFybR9gJqyrxhC/PV q5BR7AzmXyLRsggVG+3qox1zjptAiVDvhntLU0lDT9wfaWF7mRx0KuUVHkx+jstE1vVk30 e3h6JhWB41m9Gyq2aN2/05InAKOBZa5NxJ1o8zvkPPqYYu7Ttp8cwys5UyqYnhO6f9hler gPOIAlk4MT0l4RnrABcYZyyeKSmmMaw3ygVtd1D72meAx8JDYhLoh5/4sYTOS8l7bTm4tX CCUlKIzKTdMkvx2+GLxrMe35syYT1p1dF46+UnhxJ2rOK6SA+TTprZPfrtCKzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2zlr0dvszjPx; Tue, 10 Sep 2024 10:02:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48AA2lBZ083534; Tue, 10 Sep 2024 10:02:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48AA2l4d083531; Tue, 10 Sep 2024 10:02:47 GMT (envelope-from git) Date: Tue, 10 Sep 2024 10:02:47 GMT Message-Id: <202409101002.48AA2l4d083531@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: 635037210ea3 - stable/14 - ndp: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/14 X-Git-Reftype: branch X-Git-Commit: 635037210ea3e644c9d76b9627323f5ddf5dc5f5 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=635037210ea3e644c9d76b9627323f5ddf5dc5f5 commit 635037210ea3e644c9d76b9627323f5ddf5dc5f5 Author: Elyes Haouas AuthorDate: 2023-11-07 17:13:02 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-10 10:01:48 +0000 ndp: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) Pull Request: https://github.com/freebsd/freebsd-src/pull/888 Signed-off-by: Elyes Haouas (cherry picked from commit bccbb2fc4bce6c3efc1ba93f222de320db8e020a) --- usr.sbin/ndp/ndp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 4f7c32f0fdf7..56c86e447cd5 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -1166,7 +1166,7 @@ rtrlist(void) size_t l; struct timeval now; - if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), NULL, &l, NULL, 0) < 0) { + if (sysctl(mib, nitems(mib), NULL, &l, NULL, 0) < 0) { xo_err(1, "sysctl(ICMPV6CTL_ND6_DRLIST)"); /*NOTREACHED*/ } @@ -1177,7 +1177,7 @@ rtrlist(void) xo_err(1, "malloc"); /*NOTREACHED*/ } - if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), buf, &l, NULL, 0) < 0) { + if (sysctl(mib, nitems(mib), buf, &l, NULL, 0) < 0) { xo_err(1, "sysctl(ICMPV6CTL_ND6_DRLIST)"); /*NOTREACHED*/ } @@ -1252,7 +1252,7 @@ plist(void) int ninflags = opts.nflag ? NI_NUMERICHOST : 0; char namebuf[NI_MAXHOST]; - if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), NULL, &l, NULL, 0) < 0) { + if (sysctl(mib, nitems(mib), NULL, &l, NULL, 0) < 0) { xo_err(1, "sysctl(ICMPV6CTL_ND6_PRLIST)"); /*NOTREACHED*/ } @@ -1261,7 +1261,7 @@ plist(void) xo_err(1, "malloc"); /*NOTREACHED*/ } - if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), buf, &l, NULL, 0) < 0) { + if (sysctl(mib, nitems(mib), buf, &l, NULL, 0) < 0) { xo_err(1, "sysctl(ICMPV6CTL_ND6_PRLIST)"); /*NOTREACHED*/ } From nobody Tue Sep 10 10:02:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X2zls2wnfz5VJ4v; Tue, 10 Sep 2024 10:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X2zls23Nrz4fPr; Tue, 10 Sep 2024 10:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725962569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsKGLtQ1aKIdGwrywZ5swsm4M9I7gGaguZ8NR8wZ2V0=; b=WagDQD8IWj1e/6Un+ly68YM154uZpm2tXswYqbd53fUbmSIsJSviDd6BSNSwOJbHNSQfZU Gi7cTtNpqyeCF4Bsg6NQYbntWJ6DHRBY1wEJOGgH3auiIPn5IZQkkGf4+XGW/QM8+/T4fd d5RLtYo4VHrSIARRMEESapZ9HjDXkEObz/HJlhcDzr3F32R2Hu0LaAs6OnL67VEFfA7V6B Tn/QM/OAwJXV7iCpkAgnofOAPLDXpciARSym3kKd2DcibWNc5G5zeioVmzY3h70ZqyazFh yRqS0ONlK60Y9mPk13jvYCUUAb/nLFr1bgtgVpNjNEB41C5gwS0zyF5iHGOlEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725962569; a=rsa-sha256; cv=none; b=uxSJxMap3Lpn+AKM3GSuKPEMzbhReBqfNNaNgGPHCJwueqDEK/fwsxGSsWPSxdTIhu3Hye QMXLYwn0C4yph5h5I0bNaMV7XBHE/twAlnAWbnA1AM3ygqWq+Rbh/KQkj42PWc6bBonzn4 qIkU2k7I/TH/K6Fd9xbuqgOY9K5wPKbwBM16wTzZnJeLO7bCh5OqTQPk2wiwgperUiLEoF aSArZwwfypCWYm8HPM/j4Fb9y6e2ueQQi1AnGtmSrOnph/Qd9xK9afdaYan1hLDnBPYhJ8 z5HKiIQiKFz7/UpHXqj1NTzqTU53Hija5Yxyr9chCHfV5KZ5JD1uV0L+1KwOTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725962569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsKGLtQ1aKIdGwrywZ5swsm4M9I7gGaguZ8NR8wZ2V0=; b=E4U5iXgcZj1TC6uzVE/OVLdYgsoUp6RNYIK78XoqjjLpJDzGKaiac7gtaX815/B3zIkSCB tiZQuHUb6Ea2VQzsU5r4rpB9ZnEPZeRjRw8yJMFVqMTCfDQf+WnEgdJrvopkioy6kLzou7 8JXnaJUMBUPmjM8OnHzIUMLGAHcZ3951tEJTu1Z245RUQbsahCtj+7ZyNlERr8E3cNfcr7 8cbq/mZd4a6pAyh3vHb6tHmgHJb5Xy4axN3il9R0tpZseDN6ubg35E+ri3LCFMF7DiQYmw M+PUZj+qvLk8PmdPcixijzAom+6IZIJi8gRpPvU8yqvci813Y1IMkc8vfWEuuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X2zls1fvWzjPy; Tue, 10 Sep 2024 10:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48AA2nIM083591; Tue, 10 Sep 2024 10:02:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48AA2nGS083588; Tue, 10 Sep 2024 10:02:49 GMT (envelope-from git) Date: Tue, 10 Sep 2024 10:02:49 GMT Message-Id: <202409101002.48AA2nGS083588@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: 07cf1ce012c5 - stable/14 - ndp: Fix libxo formatting for the header of neighbor cache 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/14 X-Git-Reftype: branch X-Git-Commit: 07cf1ce012c51e30ef5078c23a7d68a9b5d87c0a Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=07cf1ce012c51e30ef5078c23a7d68a9b5d87c0a commit 07cf1ce012c51e30ef5078c23a7d68a9b5d87c0a Author: Helge Oldach AuthorDate: 2024-09-02 10:12:43 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-10 10:01:49 +0000 ndp: Fix libxo formatting for the header of neighbor cache PR: 272749 Reviewed by: zlei Fixes: e1c7783e220b ndp(8): add structured output formatting via libxo Fixes: 91fbe0819bb9 ndp: convert ndp(8) to netlink MFC after: 3 days (cherry picked from commit 209905ec384eedd58f1b9b7ab774029d22787dfb) --- usr.sbin/ndp/ndp.c | 2 +- usr.sbin/ndp/ndp_netlink.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 56c86e447cd5..a6f30911ddb4 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -634,7 +634,7 @@ dump_rtsock(struct sockaddr_in6 *addr, int cflag) if (!opts.tflag && !cflag) { char xobuf[200]; snprintf(xobuf, sizeof(xobuf), - "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:%%1s} {T:%%5s}\n", + "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:/%%1s} {T:/%%5s}\n", W_ADDR, W_ADDR, W_LL, W_LL, W_IF, W_IF); xo_emit(xobuf, "Neighbor", "Linklayer Address", "Netif", "Expire", "S", "Flags"); } diff --git a/usr.sbin/ndp/ndp_netlink.c b/usr.sbin/ndp/ndp_netlink.c index 79bdec2356d0..179d715c8ded 100644 --- a/usr.sbin/ndp/ndp_netlink.c +++ b/usr.sbin/ndp/ndp_netlink.c @@ -341,7 +341,7 @@ print_entries_nl(uint32_t ifindex, struct sockaddr_in6 *addr, bool cflag) if (!opts.tflag && !cflag) { char xobuf[200]; snprintf(xobuf, sizeof(xobuf), - "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:%%1s} {T:%%5s}\n", + "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:/%%1s} {T:/%%5s}\n", W_ADDR, W_ADDR, W_LL, W_LL, W_IF, W_IF); xo_emit(xobuf, "Neighbor", "Linklayer Address", "Netif", "Expire", "S", "Flags"); } From nobody Wed Sep 11 05:29:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Tf61TcYz5WD7R; Wed, 11 Sep 2024 05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Tf60VKMz4mbf; Wed, 11 Sep 2024 05: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=1726032574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YhZdUmAqHIN4NUz3tyRxzp0l2SViDpc+T2eMabvuTlY=; b=YS9tpbNT7uiRZFHTZw6OcINdR0MGfhMLAQBSJXFziRqfkFZLEm9fTnxn/x6JSHz7SxLxb+ 5nSM/cakCfUMFtj+BHvvKK9/s+xTdNaZSiQmkgQQXZldjMNGtmA5mAiWTomemanJWGiOn5 atM0BJtENqNUwa3JmsOfqJU+ia1Bs1pMWuJhNhtB9EC90ov2Omy652JJ+h3NeS1Isp91y1 dTqSsnEymdsyxY5IxOs2yJYx1O8ANp982cj8862SNzaxu11GcCAUGZKke3gxAOgIH49t9G lgFCMXnfDEIRPkTzLiOaWlzoAUjUQF33j6zzupQOP25THKT8Ph5EwQVzIgn2sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726032574; a=rsa-sha256; cv=none; b=I1otAEYk+Ngb2x3mlABFRDbC18Oj5pwaRqdRcHA8TlfqL5Wit0SutGxcUJDlf5nRgUN+5/ 4ZRdHqMVr87zYgGHhiEqs9JaWFONfuvc9T0ValgziNOISbYXpKCFuz+6yoXZrokd39hPcX 9GMUGa1BqvbdGaGh1DvKeECd63ZIc0dZHnVlaNkQYECiYH9s2ab4Y9vrRizS3gKJGWBCfl 35u3ayU+ail+lHgKzke6Ptxeie8CxBYAU+SPyE79JnOmq5SYeGDGISUWc2CmnA5rultUo+ ayG17rsAIBC8+l3MdawXcPMr+WREDZ6Nkd20PyEFjRh11dHhhV8IGaXiuELwhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YhZdUmAqHIN4NUz3tyRxzp0l2SViDpc+T2eMabvuTlY=; b=tXZ37zM3WjqaPKMMJ1Ng1jk6dr9R9R6/iwJhpRQV46YZKo5W835qvGeo2z4AKeqP7KIKdT YWt1a/66anY5pqZY0YLbNhmAk8mfZFh+Relkptm5go+wv61j0Qn18MvFzu0tptHlnkXwqc Ej0oQZuFzEBC8OmHNSoOgScKv0YySwwGgUAFp7fyPS4113Tb57DwYxgF6hwTTuxX24Lf2e fyUmfLKfLH+I6Wz/WmIgpr7Wjyrl0zOpUTK7oVXRHzXOxNl7cUwsPw5TgSkmqVDx77/m6T 88tklgNoVCUkYhlfvLrNAhtzHMVhAUthKqqzCiIdsgTFUI65d7Aa4KCdXtdO7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Tf606WyzJJd; Wed, 11 Sep 2024 05:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B5TXNV065179; Wed, 11 Sep 2024 05:29:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B5TX5J065176; Wed, 11 Sep 2024 05:29:33 GMT (envelope-from git) Date: Wed, 11 Sep 2024 05:29:33 GMT Message-Id: <202409110529.48B5TX5J065176@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: 6a9e7f6a1d35 - stable/14 - EC2: Make amazon-ssm-agent optional 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: 6a9e7f6a1d35e7b7385aa4ae1bbfb65cf8ea0c65 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6a9e7f6a1d35e7b7385aa4ae1bbfb65cf8ea0c65 commit 6a9e7f6a1d35e7b7385aa4ae1bbfb65cf8ea0c65 Author: Colin Percival AuthorDate: 2024-08-31 23:50:16 +0000 Commit: Colin Percival CommitDate: 2024-09-11 05:28:59 +0000 EC2: Make amazon-ssm-agent optional Move it from VM_EXTRA_PACKAGES in ec2.conf to VM_EXTRA_PACKAGES in ec2-{base,cloud-init}.conf Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46508 (cherry picked from commit 40ff0753abb9c00b5f1e5df9ea00c9fdded55ac4) --- release/tools/ec2-base.conf | 4 +++- release/tools/ec2-cloud-init.conf | 4 ++-- release/tools/ec2.conf | 6 ++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/release/tools/ec2-base.conf b/release/tools/ec2-base.conf index bd2c510cd1a7..3ed20474a4e8 100644 --- a/release/tools/ec2-base.conf +++ b/release/tools/ec2-base.conf @@ -4,11 +4,13 @@ # Packages to install into the image we're creating. In addition to packages # present on all EC2 AMIs, we install: +# * amazon-ssm-agent (not enabled by default, but some users need to use +# it on systems not connected to the internet), # * ec2-scripts, which provides a range of EC2ification startup scripts, # * firstboot-freebsd-update, to install security updates at first boot, # * firstboot-pkgs, to install packages at first boot, and # * isc-dhcp44-client, used for IPv6 network setup. -export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ec2-scripts \ +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} amazon-ssm-agent ec2-scripts \ firstboot-freebsd-update firstboot-pkgs isc-dhcp44-client" # Services to enable in rc.conf(5). diff --git a/release/tools/ec2-cloud-init.conf b/release/tools/ec2-cloud-init.conf index 7682d635b1d6..048202e252f6 100644 --- a/release/tools/ec2-cloud-init.conf +++ b/release/tools/ec2-cloud-init.conf @@ -3,8 +3,8 @@ . ${WORLDDIR}/release/tools/ec2.conf # Packages to install into the image we're creating. In addition to packages -# present on all EC2 AMIs, we install cloud-init. -export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} net/cloud-init" +# present on all EC2 AMIs, we install amazon-ssm-agent and cloud-init. +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} amazon-ssm-agent net/cloud-init" # Services to enable in rc.conf(5). export VM_RC_LIST="${VM_RC_LIST} cloudinit sshd" diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 09cf1ce0017f..2cca5fa713af 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -1,11 +1,9 @@ #!/bin/sh -# Packages which should be installed onto all EC2 AMIs: +# Package which should be installed onto all EC2 AMIs: # * ebsnvme-id, which is very minimal and provides important EBS-specific # functionality, -# * amazon-ssm-agent (not enabled by default, but some users need to use -# it on systems not connected to the internet). -export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ebsnvme-id amazon-ssm-agent" +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ebsnvme-id" # Services which should be enabled by default in rc.conf(5). export VM_RC_LIST="dev_aws_disk ntpd" From nobody Wed Sep 11 05:29:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Tf51F0Pz5WDJV; Wed, 11 Sep 2024 05:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Tf472ZVz4mbb; Wed, 11 Sep 2024 05: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=1726032573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6x/lNkMtZEYJWw54hIEACWNiMbwOfkdFXpDyUxWng3g=; b=l2tsh0Eysyv2m6rsIRaaRwh+aJ9RTxf7itfg6q9q2mTOQwxBYQMr2Hef0KGlHEwmTDl13m TyWJJkE3VTX6cn2wFI3M00WiU121IF174QGIb1ml2iHBocdLwyh+s4qjvIGdxvGAxShiwf +IyMAvW0gKDFJfjdOaRouZ3bdh41PVC4z3i09E3FueBLwVVVRtnUnXwrWZ7+W616niWUK7 9kSL77v4Y2P9bm579jKy2QOiUXZPkk4ITQpAJrFdqrIf6tzqokYAIIYRC9b4ysy6p2vqc1 OR4rqqjfj1mpLEvPgCAvb3jEnJ7UTi1RCzHEYwv5BYX7Z8o5qI3LAmpaGcBIMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726032573; a=rsa-sha256; cv=none; b=G+/o2qPns4Tupk5N/HDEqi/W204g6DorDHK5IDjjRGVCR7LUSQ7XQJbrXHEAAQjMX55h3A djwnqOQ+HUDLYHa4lb7fuObbyq4B+TBZnRe1FlKWSUy61ZAClu5GqWrjuBaX3mIh4HcF0u tiv/0L6DvZa1fBMqEgAF7eNnBegIgSsKT0D9gPsu8dYhUs1m2H3r0Fs15Yb7Q/jbcRoETB CkfOIimuPDsxgET4AzgvDolkjnX1wVxpg/3TzDm2c3T4ntXAjVdCamhOa2HA/g3ujuN+10 R0wG1GQgJLsIykd9nW1DHpiyNIWR4Fm05WCcbAuzFrsWJG2ogzBcIgPLvQ0JAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6x/lNkMtZEYJWw54hIEACWNiMbwOfkdFXpDyUxWng3g=; b=wbQe3br2yT9JIBL0vmNey0+T5oQjSyVpVzHm9tqznlCip7gpJsImoolHR6pL7/4hBh38f3 nsa9NNHjggZowCbbefuZ1ZrTZ4/hQxRYzr5L+PoDPnaz6rxEpF+CGN8T4YyTVIJ9JkyEJa aR/kBVsejuvcsrMt0JThoOHJNbTa2ln7JrHFSJ5LqS/oBrDx4vfG+ABvZm9tnc95pIjEcP Cq+QbAZ3gsLEm1gB5Kv/WbDXVdRW8oZ9bZAoahpN7eeCXvAmmt/rm+srfcCNpzFZ3f7asa R9ituztzXWxQocTQUBpD6P2nUxv9JXcY7oUsYbN9DmRw8dVCv/T5nwz8kuwc5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Tf46X1BzJJc; Wed, 11 Sep 2024 05:29:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B5TWXj065139; Wed, 11 Sep 2024 05:29:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B5TW8A065135; Wed, 11 Sep 2024 05:29:32 GMT (envelope-from git) Date: Wed, 11 Sep 2024 05:29:32 GMT Message-Id: <202409110529.48B5TW8A065135@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: 1dd6f34fb78f - stable/14 - EC2: Move network config into a separate function 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27 commit 1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27 Author: Colin Percival AuthorDate: 2024-08-31 23:46:51 +0000 Commit: Colin Percival CommitDate: 2024-09-11 05:28:59 +0000 EC2: Move network config into a separate function Having the "base" FreeBSD network configuration (aka. what is used when not using cloud-init) in ec2.conf will allow us to reuse it in other AMIs. Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46507 (cherry picked from commit f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb) --- release/tools/ec2-base.conf | 26 +++----------------------- release/tools/ec2.conf | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/release/tools/ec2-base.conf b/release/tools/ec2-base.conf index d80035e11ed7..bd2c510cd1a7 100644 --- a/release/tools/ec2-base.conf +++ b/release/tools/ec2-base.conf @@ -22,29 +22,6 @@ vm_extra_pre_umount() { # via EC2 user-data. echo 'firstboot_pkgs_list="devel/py-awscli"' >> ${DESTDIR}/etc/rc.conf - # EC2 instances use DHCP to get their network configuration. IPv6 - # requires accept_rtadv. - echo 'ifconfig_DEFAULT="SYNCDHCP accept_rtadv"' >> ${DESTDIR}/etc/rc.conf - - # The EC2 DHCP server can be trusted to know whether an IP address is - # assigned to us; we don't need to ARP to check if anyone else is using - # the address before we start using it. - echo 'dhclient_arpwait="NO"' >> ${DESTDIR}/etc/rc.conf - - # Enable IPv6 on all interfaces, and spawn DHCPv6 via rtsold - echo 'ipv6_activate_all_interfaces="YES"' >> ${DESTDIR}/etc/rc.conf - echo 'rtsold_enable="YES"' >> ${DESTDIR}/etc/rc.conf - echo 'rtsold_flags="-M /usr/local/libexec/rtsold-M -a"' >> ${DESTDIR}/etc/rc.conf - - # Provide a script which rtsold can use to launch DHCPv6 - mkdir -p ${DESTDIR}/usr/local/libexec - cat > ${DESTDIR}/usr/local/libexec/rtsold-M <<'EOF' -#!/bin/sh - -/usr/local/sbin/dhclient -6 -nw -N -cf /dev/null $1 -EOF - chmod 755 ${DESTDIR}/usr/local/libexec/rtsold-M - # Any EC2 ephemeral disks seen when the system first boots will # be "new" disks; there is no "previous boot" when they might have # been seen and used already. @@ -53,5 +30,8 @@ EOF # Configuration common to all EC2 AMIs ec2_common + # Standard FreeBSD network configuration + ec2_base_networking + return 0 } diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 602216d3c2d4..09cf1ce0017f 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -104,3 +104,30 @@ EOF return 0 } + +ec2_base_networking () { + # EC2 instances use DHCP to get their network configuration. IPv6 + # requires accept_rtadv. + echo 'ifconfig_DEFAULT="SYNCDHCP accept_rtadv"' >> ${DESTDIR}/etc/rc.conf + + # The EC2 DHCP server can be trusted to know whether an IP address is + # assigned to us; we don't need to ARP to check if anyone else is using + # the address before we start using it. + echo 'dhclient_arpwait="NO"' >> ${DESTDIR}/etc/rc.conf + + # Enable IPv6 on all interfaces, and spawn DHCPv6 via rtsold + echo 'ipv6_activate_all_interfaces="YES"' >> ${DESTDIR}/etc/rc.conf + echo 'rtsold_enable="YES"' >> ${DESTDIR}/etc/rc.conf + echo 'rtsold_flags="-M /usr/local/libexec/rtsold-M -a"' >> ${DESTDIR}/etc/rc.conf + + # Provide a script which rtsold can use to launch DHCPv6 + mkdir -p ${DESTDIR}/usr/local/libexec + cat > ${DESTDIR}/usr/local/libexec/rtsold-M <<'EOF' +#!/bin/sh + +/usr/local/sbin/dhclient -6 -nw -N -cf /dev/null $1 +EOF + chmod 755 ${DESTDIR}/usr/local/libexec/rtsold-M + + return 0 +} From nobody Wed Sep 11 05:29:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Tf26qHXz5WD9t; Wed, 11 Sep 2024 05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Tf25Jyrz4mdg; Wed, 11 Sep 2024 05: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=1726032570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t79iO3a8dbNFt8RG4Km6ve2favJ59WxvdJhc9IeqsRc=; b=uRDHNq/ZF6V7Fmj3xBq+RGEe+ijKdRxsFIsyitK48mq/blYeUlPQZVpH9yhHoqhNaqEnLQ YYmaa9cNHc/Dr6LoT//oiO+spVw37TP5EvsGPHFOVdztPaIGr349C3W2pR4GBl4ivIw710 rutH6KvNNTsAJQ4Y5N5R5WRguMmV3NYHxVGM0wP0rc/an5w7h1mWpYGBv2JJQIvyDp/6ZZ IF1SxbRf9PkBx0whfi/PlARIXfmGsdQBMH+oO4iTCyGi4JGc2EDZ/I1wolsCI8NtLw8n1T u4k3jhhoBXltvLQC1iu4aPEw7tlUtJlEE4bHVJJb/kuh0UqAvbgTAnK/hoWlCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726032570; a=rsa-sha256; cv=none; b=ljwEFrpbyLPjleSfjYEJ7pjgzDo+qaDNE1BsKKXgzdaQiCBWWd0DcX0zUBD9i3qxqYhjDn 7xb0qFA03d8sZJ2FxsMRDNsSB7OpQgOMF96rG4gc+A3CMjqB1QFLe0UWWTN9Uys3A2iMVB ac9AQ6cSYJLAKOEgbGscv4xnkqZ9Gu3IyaR7imHXUgg0YXDKDWGl//5C3u6RW7Vi1DCx46 rAh4ETO4pTD9mxA0v40I2relrSxqM/bj2Dqe3sERg9UwbcSRLkEfCFd7aF0jFQZtjDg/77 7C6GwnpshJJfXVyXa2ox4SB2tXhfVbvH3Ykv0R6POns5/qN3dDZDEquyqRAq4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t79iO3a8dbNFt8RG4Km6ve2favJ59WxvdJhc9IeqsRc=; b=DGXFb97l1XpO++yCllf7ymVkmF2hEdAEDD9rCgQTICIhzmE7AQZGNWzTCHZbFFkoKBWvjf mYTVCsB8ETfNv5XC3rRQ05ronM4ulIHvgHTcp7BFbTFRRpDoyGQU8OLkkEceU2Ygv6Okhb BUaETb0/tHgk6pZ5+nLAH31n2xoJyQIUUX2+HOJCY8sWTpG7JROmspP/2tEms+hhK1FZ5j ERjHIuNN1ufl2MpnIhAxZUBRVYfNtJiImlZG5KSG627rX5wP8JwfM7KjtKeWYAL4LbmD0v CxZf1E3gcq1WAKja/JVnNG0vsOSAehWQlA5OHwPuWmUc6TlHWdkdRCCf76hUxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Tf24wR4zHZJ; Wed, 11 Sep 2024 05:29:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B5TUdb065044; Wed, 11 Sep 2024 05:29:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B5TUmi065041; Wed, 11 Sep 2024 05:29:30 GMT (envelope-from git) Date: Wed, 11 Sep 2024 05:29:30 GMT Message-Id: <202409110529.48B5TUmi065041@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: d263bfda8203 - stable/14 - release/Makefile.vm: Add cloudware overrides 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: d263bfda82036aa6ac153479e2a13a119a498fcf Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d263bfda82036aa6ac153479e2a13a119a498fcf commit d263bfda82036aa6ac153479e2a13a119a498fcf Author: Brad Davis AuthorDate: 2023-12-15 18:08:50 +0000 Commit: Colin Percival CommitDate: 2024-09-11 05:28:59 +0000 release/Makefile.vm: Add cloudware overrides Allow the cloudware *_FLAVOURS and *_FSLIST values to be overridden at the command line, to assist users who want to e.g. build only one of the many EC2 AMIs available. (cherry picked from commit 863975b6840b2833b0f772648ba2532806ffece8) --- release/Makefile.vm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 71a4392b6b0c..8c48c0a13dc9 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -25,31 +25,31 @@ CLOUDWARE_TYPES?= AZURE \ OCI \ VAGRANT AZURE_FORMAT= vhdf -AZURE_FSLIST= ufs zfs +AZURE_FSLIST?= ufs zfs AZURE_DESC= Microsoft Azure platform image BASIC-CI_FORMAT= raw -BASIC-CI_FSLIST= ufs +BASIC-CI_FSLIST?= ufs BASIC-CI_DESC= Image for CI BASIC-CLOUDINIT_FORMAT= raw qcow2 BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw -EC2_FSLIST= ufs zfs -EC2_FLAVOURS= BASE CLOUD-INIT +EC2_FSLIST?= ufs zfs +EC2_FLAVOURS?= BASE CLOUD-INIT EC2-BASE_DESC= Amazon EC2 image EC2-CLOUD-INIT_DESC= Amazon EC2 Cloud-Init image GCE_FORMAT= raw -GCE_FSLIST= ufs zfs +GCE_FSLIST?= ufs zfs GCE_DESC= Google Compute Engine image OCI_FORMAT= qcow2 -OCI_FSLIST= ufs +OCI_FSLIST?= ufs OCI_DESC= Oracle Cloud Infrastructure image OPENSTACK_FORMAT=qcow2 -OPENSTACK_FSLIST= ufs +OPENSTACK_FSLIST?= ufs OPENSTACK_DESC= OpenStack platform image VAGRANT_FORMAT= vmdk -VAGRANT_FSLIST= ufs -VAGRANT_FLAVOURS= VIRTUALBOX VMWARE +VAGRANT_FSLIST?= ufs +VAGRANT_FLAVOURS?= VIRTUALBOX VMWARE VAGRANT-VIRTUALBOX_DESC= Vagrant Image for VirtualBox VAGRANT-VMWARE_DESC= Vagrant Image for VMWare From nobody Wed Sep 11 05:29:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Tf3708cz5WD7N; Wed, 11 Sep 2024 05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Tf35tnTz4mSD; Wed, 11 Sep 2024 05: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=1726032571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jRVEFMzj1uSIJ9oGEC6Mxv5w5znMSb+zqxgVGQg3zLI=; b=sa4HGnmjd8YbkX1ACVSWPzCHMSGwnS+9DLEXGAZq38Bqjy9E+PnIquTFIzjomKGAs1TERg q3U0cofMFI/HR+nH6wcBcNI36Xvq39NJrGbP4oev0jUtesnUPDkAAIHkLjv9Zutg+AKjTR qN1FwdfXIkaWRq3YYJG0GHBe/JVkgZVGVZwl14AhELTKyoMSIPlnendYnx1eqj8tLo/Jee gw6Bm8qrAckuGSYO1w93nXHi8wezlED1XfOoogoambGs9Hu5BSyeZBOS1gahXz4dmtd+ew RSroDUw6ZDg53vvwF2AWthgWhNm9HzxWCUjB7kF+o5+q9TX4IJUClaMcEHKNdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726032571; a=rsa-sha256; cv=none; b=h5P9VSeU/ybVOUegWNbH2Nz2Fm5YGygP0dlgUaRbk9FVXXJZq9jEoYIBirIX1NDl83p0om kHi6H+wnLC6+VmxLGQ+fevM2FS1xkYDnrW7Nh7XNM/CF5/e5Es/WFy2lLWWwo7oihgJTtU L3tevof1Np/K+dF0JjysWITUoY0fO1PGzare66twRD+Xd7bLFP1PoWCl/6BNawkQ/maLcF 6yRdQvT7c/sC/v8fCrslaFoyLkirqfH6iQ7TEa3SrAI0Qmf3f2X2VMEbOYk0h70bVyaX/w V7kQ7ELOyqEkGQgjH/6yRer0hv3Pkr1gZYgyixFxZuiEHqJpt34kc6kIKfiJEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jRVEFMzj1uSIJ9oGEC6Mxv5w5znMSb+zqxgVGQg3zLI=; b=WkUNp+9GIS2WJAtTW5TUb8iPkMCKmbr9Ki4NVoL6AH7qlPctw38Qb2kzPi9Ddj8FQnwY5B sVIUkjGXYMJX52vc7MgW4rjtB/Nz3Bmwy62CeJBIaGbd8wHO+p+04N/FRqRM0LJvShP6Xr 1VlkryUSFlJ0NNtzYd5Fr4hh8Ghtq2sVL+76RhyDooEs5qiWRx4AvGkH1bHBHBGr1yhU5K t9n9RvL+OWF3eQxCUIKSoXokkITy+UL4r4zzEXL32Mtrs0PSzLoMqH/njSRZ/AOOUdt8gg XF2yuUzwb4CKRZwYQXdfbsWuAattNd6e1Yzp8+ubsfP5lzW30vMIcLQHowqmsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Tf35TzWzHpx; Wed, 11 Sep 2024 05:29:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B5TV2Y065086; Wed, 11 Sep 2024 05:29:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B5TVjo065083; Wed, 11 Sep 2024 05:29:31 GMT (envelope-from git) Date: Wed, 11 Sep 2024 05:29:31 GMT Message-Id: <202409110529.48B5TVjo065083@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: c8d5eda2d4ee - stable/14 - vmimage.subr: Pass $INSTALLOPTS to install* 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: c8d5eda2d4eec339ce880e28d4c4590a35ede2e1 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c8d5eda2d4eec339ce880e28d4c4590a35ede2e1 commit c8d5eda2d4eec339ce880e28d4c4590a35ede2e1 Author: Colin Percival AuthorDate: 2024-08-31 23:38:02 +0000 Commit: Colin Percival CommitDate: 2024-09-11 05:28:59 +0000 vmimage.subr: Pass $INSTALLOPTS to install* This makes it possible for a VM build configuration file to pass options to make installworld/installkernel/distribution, e.g. WITHOUT_DEBUG_FILES=YES in order to produce smaller images. Note that these options are only applied at install time, not at build time (since the same build is installed into many different VM images), so not all src.conf options are usable here. Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46506 (cherry picked from commit 81d3df02bcf5ed6e41a91fd9fbc3b81cfe809ff3) --- release/tools/vmimage.subr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 72540dad14a8..c95a6dc82937 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -52,7 +52,7 @@ vm_install_base() { # Installs the FreeBSD userland/kernel to the virtual machine disk. cd ${WORLDDIR} && \ - make DESTDIR=${DESTDIR} \ + make DESTDIR=${DESTDIR} ${INSTALLOPTS} \ installworld installkernel distribution || \ err "\n\nCannot install the base system to ${DESTDIR}." From nobody Wed Sep 11 05:29:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Tf72vjgz5WDB0; Wed, 11 Sep 2024 05:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Tf71Tysz4mbl; Wed, 11 Sep 2024 05:29:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jFF6zeR+y/UCoW8HzPTRNSJJ0G+74KyVtmWEYSJr3iU=; b=yfstM2+4Pk2NlU6VE206c0wcw1Vb15W2wF3blMtIh8zSyacWmc8/6e+GF1ihGx6e8M5x09 CsxxFgPAAlBVYjxony41XMx8oL+XQrTWsFH6DidEKPaOsw2BFQ6h9UUGRMKa7cM48KZlqJ Fc9m1I5lNoZstvA7c8NOY732GRLZoUTWP5PI6zVwjKIXwmz54Tl7Zga60pfCwIZr9eNa20 rNI5u6gmYidodTXSsbG1MjbtgI08VXlb5m9be4b2lL1tRLuMjioqSJHYWcO/eNRqz+dMoU oarHWW/e9/TUMfORW/WY+YVCyfzYppgqtGd/SIAS7xqHnJABUx95N5vWXk2Y3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726032575; a=rsa-sha256; cv=none; b=GSDNYQaVhGjOneAn9P4z1qcDl6hQcB/kefZdsyFUWjOo24/Yuwzs3c+DnpIahuXaRu+tQQ DTJ+Xq/yKrPAQB9lzIvzEOUTPiU3JE0QYMAx6MYWzEUgqtxb0LUACRnPtNn9SLt+MPjE1B Fcof+AFz62MhgwcKprx/24fc+nZDh/V1eOyP/gCAex/fPVhyDKddwr8D4Ro2KONmPn7xPn zYJiDxi5xCY0WwGzSyeAiT70qha8OEQ1Mw30yD7RfnuYVVnzqQYc2ZYazdydqqa3TZZdXK N1VjSaTkuyY0ZeaAmnNnObhwLlexhpjZNg401safXrl0g44r7k/Cj0NgU4j17g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726032575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jFF6zeR+y/UCoW8HzPTRNSJJ0G+74KyVtmWEYSJr3iU=; b=uGNL9eXPNSApe4XALQ6GNt7ImlzwlY17orURBj0V5MZlbND767aeE982QnBAzxP2SFKU+g 2y7V0ifQ+X1gSNpgBMseKg5VcvM0mSJ2+fPC+xJUqTf1HcN+Hc88EyKYaVukXyosRiq9AP 8PGyyeX/VJaOtagabzVz1mHK/rNnkPfzbBrXyUtsJYlKJz2ZQ2qDSmYEru2N5dsUtHILNu a8svQkj7WPNVvAUuAgUQ1WStJLwKl9hbNno5/CNWapeVynHUDl+LV1SrrUHBHLlfoVxo+A b3KISwA89g8JQQMLCX3wQr4XMyb4y5XTmbndyzwkJ0Qe9TznXoUppVeTr9LZ7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Tf7163XzHyQ; Wed, 11 Sep 2024 05:29:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B5TZvg065223; Wed, 11 Sep 2024 05:29:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B5TZo2065220; Wed, 11 Sep 2024 05:29:35 GMT (envelope-from git) Date: Wed, 11 Sep 2024 05:29:35 GMT Message-Id: <202409110529.48B5TZo2065220@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: 953142d6baf3 - stable/14 - EC2: Add new "small" AMIs 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: 953142d6baf3f0fcde98da9455f5936f735613fb Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=953142d6baf3f0fcde98da9455f5936f735613fb commit 953142d6baf3f0fcde98da9455f5936f735613fb Author: Colin Percival AuthorDate: 2024-08-31 23:55:06 +0000 Commit: Colin Percival CommitDate: 2024-09-11 05:28:59 +0000 EC2: Add new "small" AMIs These are the same as the standard "base" images except: * They don't have kernel or world debug symbols, * They don't have FreeBSD tests, * They don't have 32-bit libraries, * They don't have LLDB, * They don't have the Amazon SSM Agent pre-installed, * They don't default to installing the awscli at first boot. This reduces the amount of disk space in use when the EC2 instance finishes booting from ~5 GB to ~1 GB. Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46509 (cherry picked from commit 647299caa06e38622dc05a4358f9407b62a9bdda) --- release/Makefile.vm | 3 ++- release/tools/ec2-small.conf | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 8c48c0a13dc9..3bfe2d8bfee0 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -35,9 +35,10 @@ BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw EC2_FSLIST?= ufs zfs -EC2_FLAVOURS?= BASE CLOUD-INIT +EC2_FLAVOURS?= BASE CLOUD-INIT SMALL EC2-BASE_DESC= Amazon EC2 image EC2-CLOUD-INIT_DESC= Amazon EC2 Cloud-Init image +EC2-SMALL_DESC= Amazon EC2 small image GCE_FORMAT= raw GCE_FSLIST?= ufs zfs GCE_DESC= Google Compute Engine image diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf new file mode 100644 index 000000000000..858836717f5a --- /dev/null +++ b/release/tools/ec2-small.conf @@ -0,0 +1,44 @@ +#!/bin/sh + +. ${WORLDDIR}/release/tools/ec2.conf + +# Build with a 4.9 GB partition; the growfs rc.d script will expand +# the partition to fill the root disk after the EC2 instance is launched. +# Note that if this is set to G, we will end up with an GB disk +# image since VMSIZE is the size of the filesystem partition, not the disk +# which it resides within. (This overrides the default in ec2.conf.) +export VMSIZE=5000m + +# Flags to installworld/kernel: We don't want debug symbols (kernel or +# userland), 32-bit libraries, tests, or the debugger. +export INSTALLOPTS="WITHOUT_DEBUG_FILES=YES WITHOUT_KERNEL_SYMBOLS=YES \ + WITHOUT_LIB32=YES WITHOUT_TESTS=YES WITHOUT_LLDB=YES" + +# Packages to install into the image we're creating. In addition to packages +# present on all EC2 AMIs, we install: +# * ec2-scripts, which provides a range of EC2ification startup scripts, +# * firstboot-freebsd-update, to install security updates at first boot, +# * firstboot-pkgs, to install packages at first boot, and +# * isc-dhcp44-client, used for IPv6 network setup. +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ec2-scripts \ + firstboot-freebsd-update firstboot-pkgs isc-dhcp44-client" + +# Services to enable in rc.conf(5). +export VM_RC_LIST="${VM_RC_LIST} ec2_configinit ec2_ephemeral_swap \ + ec2_fetchkey ec2_loghostkey firstboot_freebsd_update firstboot_pkgs \ + growfs sshd" + +vm_extra_pre_umount() { + # Any EC2 ephemeral disks seen when the system first boots will + # be "new" disks; there is no "previous boot" when they might have + # been seen and used already. + touch ${DESTDIR}/var/db/ec2_ephemeral_diskseen + + # Configuration common to all EC2 AMIs + ec2_common + + # Standard FreeBSD network configuration + ec2_base_networking + + return 0 +} From nobody Wed Sep 11 08:44:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yys5wYZz5W7bM; Wed, 11 Sep 2024 08:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yys4FGbz41hq; Wed, 11 Sep 2024 08:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56dAryMk2lww0e/OtRizUD3ascAUkCOp9Oj2nYnh8Rc=; b=gs2qt873a3lXXzU+E3droAbLx0btDJIObgsQ1OsYuYq0zrxC4gESSRQwLSajRbIXcl83ic 2sSI8agO/6UA9ZpKaAXBG5ts36Z60a8n/KiNxtBWuG0RLuUYqQcMMM5Ll/ZHvVTvMYzo0n qLNs/UlXsoLR+ySsDgwUSHcHEAZ/pO7bDWBd5u0+a2+35gxioA84WZab3sXvOYArY7M/qK 15FK63x9CE1eDL3MD2bgwlfsNtKsEBK6AiywelHxjka4Z06TSaqAw+WNe5rlOi2Pdlu94H DfyDUaPyGU8cbHGSmuj9R+orrHuO7cyMG23Ofzl5HaMJl5aWbMUppUxUh74eOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044261; a=rsa-sha256; cv=none; b=pAwBkjy9jzlwrvU0PsjzEIuWeNIqRrsMqLk5MsZGsvuT7p1cWBU+ByvCneD7Jx8uSjfnRO cwa7BuqaVD5mTLkE1TFhvqfiMi6RrIy2JSupvcaHiKHRk8BGIcQxf2WgTeHmBQkpJlPvE0 PLKn1Q+4cwicLEwG5LM/HSoFLU9bKu0H7vocpMOMCQT3Aa7uQB6MsGpdLB0oo+gIX4P1I1 MVF338WPvh2dEWQ+NzrrCvriY8hzIFamQvIBeUtETDOdzL3Gs4oPpKhg0SDauvD9WUFx3X ss20hhBYY6EKoe1mpcy0hq4KAG8vUvzfuIPeRFFyC4LcLEGKAnSRw/jwnEzZ1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56dAryMk2lww0e/OtRizUD3ascAUkCOp9Oj2nYnh8Rc=; b=CL7lrCGgrsXBDgCnR/EvegamSZIwBnlE+TCOkE/wVgSgd26puEmGq3TFyW5WqyZiuAtSNf q4oECiEmpjH0Wv6d5H42pbXpgvPMaagy5VOdNDBAl4asG3kI9J7m5kh41DZjWgMi9LR7r7 BAhUwCf9jzwacUFkkYBxPJpJTXfjMwbq9dAK3pDH19MRowRPckJ9j88ESZclWhsCBFdjJA 1dgo6LO3v7jH0xry3eJD7Iu1rxHCkW+Q9KdKKRSP27JrUPL90O1j3mIhD4SaWk9xrkERDN 0AWNViAxnoB158mQeyOYyHVl7xDc0WM+m2ypKvHcq54TV8bjL3NNsDyoxYFUOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yys3YwVzP9h; Wed, 11 Sep 2024 08:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iLKm007349; Wed, 11 Sep 2024 08:44:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iL2P007346; Wed, 11 Sep 2024 08:44:21 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:21 GMT Message-Id: <202409110844.48B8iL2P007346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3f5d7c42ce8b - stable/14 - x86: allow to have more than one kind of IOMMU 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3f5d7c42ce8b42d454d708518da670ddb53f9abd Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3f5d7c42ce8b42d454d708518da670ddb53f9abd commit 3f5d7c42ce8b42d454d708518da670ddb53f9abd Author: Konstantin Belousov AuthorDate: 2024-05-29 14:38:14 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 x86: allow to have more than one kind of IOMMU (cherry picked from commit 65b133e5d292686fe20f11dd39b53812226a8684) --- sys/x86/iommu/intel_ctx.c | 22 +++++------ sys/x86/iommu/intel_dmar.h | 18 ++++++++- sys/x86/iommu/intel_drv.c | 30 ++++++++++++-- sys/x86/iommu/intel_intrmap.c | 10 ++--- sys/x86/iommu/iommu_utils.c | 91 ++++++++++++++++++++++++++++++++++++++++++- sys/x86/iommu/x86_iommu.h | 25 +++++++++++- 6 files changed, 173 insertions(+), 23 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 444640570df7..9fd632d782f8 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -76,6 +76,9 @@ static void dmar_unref_domain_locked(struct dmar_unit *dmar, struct dmar_domain *domain); static void dmar_domain_destroy(struct dmar_domain *domain); +static void dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx); +static void dmar_free_ctx(struct dmar_ctx *ctx); + static void dmar_ensure_ctx_page(struct dmar_unit *dmar, int bus) { @@ -747,7 +750,7 @@ dmar_unref_domain_locked(struct dmar_unit *dmar, struct dmar_domain *domain) dmar_domain_destroy(domain); } -void +static void dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx) { struct sf_buf *sf; @@ -821,7 +824,7 @@ dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx) TD_PINNED_ASSERT; } -void +static void dmar_free_ctx(struct dmar_ctx *ctx) { struct dmar_unit *dmar; @@ -869,7 +872,7 @@ dmar_domain_free_entry(struct iommu_map_entry *entry, bool free) * the entry's dmamap_link field. */ void -iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free, +dmar_domain_unload_entry(struct iommu_map_entry *entry, bool free, bool cansleep) { struct dmar_domain *domain; @@ -911,7 +914,7 @@ dmar_domain_unload_emit_wait(struct dmar_domain *domain, } void -iommu_domain_unload(struct iommu_domain *iodom, +dmar_domain_unload(struct iommu_domain *iodom, struct iommu_map_entries_tailq *entries, bool cansleep) { struct dmar_domain *domain; @@ -949,37 +952,34 @@ iommu_domain_unload(struct iommu_domain *iodom, } struct iommu_ctx * -iommu_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, +dmar_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, bool id_mapped, bool rmrr_init) { struct dmar_unit *dmar; struct dmar_ctx *ret; dmar = IOMMU2DMAR(iommu); - ret = dmar_get_ctx_for_dev(dmar, dev, rid, id_mapped, rmrr_init); - return (CTX2IOCTX(ret)); } void -iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *context) +dmar_free_ctx_locked_method(struct iommu_unit *iommu, + struct iommu_ctx *context) { struct dmar_unit *dmar; struct dmar_ctx *ctx; dmar = IOMMU2DMAR(iommu); ctx = IOCTX2CTX(context); - dmar_free_ctx_locked(dmar, ctx); } void -iommu_free_ctx(struct iommu_ctx *context) +dmar_free_ctx_method(struct iommu_ctx *context) { struct dmar_ctx *ctx; ctx = IOCTX2CTX(context); - dmar_free_ctx(ctx); } diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index 4ae005238074..0ede955e12b9 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -293,10 +293,17 @@ struct dmar_ctx *dmar_get_ctx_for_devpath(struct dmar_unit *dmar, uint16_t rid, int dev_domain, int dev_busno, const void *dev_path, int dev_path_len, bool id_mapped, bool rmrr_init); int dmar_move_ctx_to_domain(struct dmar_domain *domain, struct dmar_ctx *ctx); -void dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx); -void dmar_free_ctx(struct dmar_ctx *ctx); +void dmar_free_ctx_locked_method(struct iommu_unit *dmar, + struct iommu_ctx *ctx); +void dmar_free_ctx_method(struct iommu_ctx *ctx); struct dmar_ctx *dmar_find_ctx_locked(struct dmar_unit *dmar, uint16_t rid); +struct iommu_ctx *dmar_get_ctx(struct iommu_unit *iommu, device_t dev, + uint16_t rid, bool id_mapped, bool rmrr_init); void dmar_domain_free_entry(struct iommu_map_entry *entry, bool free); +void dmar_domain_unload_entry(struct iommu_map_entry *entry, bool free, + bool cansleep); +void dmar_domain_unload(struct iommu_domain *iodom, + struct iommu_map_entries_tailq *entries, bool cansleep); void dmar_dev_parse_rmrr(struct dmar_domain *domain, int dev_domain, int dev_busno, const void *dev_path, int dev_path_len, @@ -308,6 +315,13 @@ void dmar_quirks_pre_use(struct iommu_unit *dmar); int dmar_init_irt(struct dmar_unit *unit); void dmar_fini_irt(struct dmar_unit *unit); +int dmar_alloc_msi_intr(device_t src, u_int *cookies, u_int count); +int dmar_map_msi_intr(device_t src, u_int cpu, u_int vector, u_int cookie, + uint64_t *addr, uint32_t *data); +int dmar_unmap_msi_intr(device_t src, u_int cookie); +int dmar_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, + bool activehi, int irq, u_int *cookie, uint32_t *hi, uint32_t *lo); +int dmar_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie); extern int haw; extern int dmar_batch_coalesce; diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index 636534173715..79350358cced 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -64,6 +64,8 @@ #include #include #include +#include +#include #include #include #include @@ -1357,12 +1359,34 @@ DB_SHOW_ALL_COMMAND(dmars, db_show_all_dmars) } #endif -struct iommu_unit * -iommu_find(device_t dev, bool verbose) +static struct iommu_unit * +dmar_find_method(device_t dev, bool verbose) { struct dmar_unit *dmar; dmar = dmar_find(dev, verbose); - return (&dmar->iommu); } + +static struct x86_iommu dmar_x86_iommu = { + .domain_unload_entry = dmar_domain_unload_entry, + .domain_unload = dmar_domain_unload, + .get_ctx = dmar_get_ctx, + .free_ctx_locked = dmar_free_ctx_locked_method, + .free_ctx = dmar_free_ctx_method, + .find = dmar_find_method, + .alloc_msi_intr = dmar_alloc_msi_intr, + .map_msi_intr = dmar_map_msi_intr, + .unmap_msi_intr = dmar_unmap_msi_intr, + .map_ioapic_intr = dmar_map_ioapic_intr, + .unmap_ioapic_intr = dmar_unmap_ioapic_intr, +}; + +static void +x86_iommu_set_intel(void *arg __unused) +{ + if (cpu_vendor_id == CPU_VENDOR_INTEL) + set_x86_iommu(&dmar_x86_iommu); +} + +SYSINIT(x86_iommu, SI_SUB_TUNABLES, SI_ORDER_ANY, x86_iommu_set_intel, NULL); diff --git a/sys/x86/iommu/intel_intrmap.c b/sys/x86/iommu/intel_intrmap.c index 137801125c38..1ac51a7aaea0 100644 --- a/sys/x86/iommu/intel_intrmap.c +++ b/sys/x86/iommu/intel_intrmap.c @@ -66,7 +66,7 @@ static void dmar_ir_program_irte(struct dmar_unit *unit, u_int idx, static int dmar_ir_free_irte(struct dmar_unit *unit, u_int cookie); int -iommu_alloc_msi_intr(device_t src, u_int *cookies, u_int count) +dmar_alloc_msi_intr(device_t src, u_int *cookies, u_int count) { struct dmar_unit *unit; vmem_addr_t vmem_res; @@ -94,7 +94,7 @@ iommu_alloc_msi_intr(device_t src, u_int *cookies, u_int count) } int -iommu_map_msi_intr(device_t src, u_int cpu, u_int vector, u_int cookie, +dmar_map_msi_intr(device_t src, u_int cpu, u_int vector, u_int cookie, uint64_t *addr, uint32_t *data) { struct dmar_unit *unit; @@ -140,7 +140,7 @@ iommu_map_msi_intr(device_t src, u_int cpu, u_int vector, u_int cookie, } int -iommu_unmap_msi_intr(device_t src, u_int cookie) +dmar_unmap_msi_intr(device_t src, u_int cookie) { struct dmar_unit *unit; @@ -151,7 +151,7 @@ iommu_unmap_msi_intr(device_t src, u_int cookie) } int -iommu_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, +dmar_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, bool activehi, int irq, u_int *cookie, uint32_t *hi, uint32_t *lo) { struct dmar_unit *unit; @@ -214,7 +214,7 @@ iommu_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, } int -iommu_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) +dmar_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) { struct dmar_unit *unit; u_int idx; diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index ffea1cc1a190..ea2c0358e072 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2013, 2014 The FreeBSD Foundation + * Copyright (c) 2013, 2014, 2024 The FreeBSD Foundation * * This software was developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. @@ -50,6 +50,7 @@ #include #include #include +#include vm_page_t iommu_pgalloc(vm_object_t obj, vm_pindex_t idx, int flags) @@ -162,3 +163,91 @@ SYSCTL_NODE(_hw_iommu, OID_AUTO, dmar, CTLFLAG_RD | CTLFLAG_MPSAFE, SYSCTL_INT(_hw_iommu_dmar, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, &iommu_tbl_pagecnt, 0, "Count of pages used for DMAR pagetables"); + +static struct x86_iommu *x86_iommu; + +void +set_x86_iommu(struct x86_iommu *x) +{ + MPASS(x86_iommu == NULL); + x86_iommu = x; +} + +struct x86_iommu * +get_x86_iommu(void) +{ + return (x86_iommu); +} + +void +iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free, + bool cansleep) +{ + x86_iommu->domain_unload_entry(entry, free, cansleep); +} + +void +iommu_domain_unload(struct iommu_domain *iodom, + struct iommu_map_entries_tailq *entries, bool cansleep) +{ + x86_iommu->domain_unload(iodom, entries, cansleep); +} + +struct iommu_ctx * +iommu_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, + bool id_mapped, bool rmrr_init) +{ + return (x86_iommu->get_ctx(iommu, dev, rid, id_mapped, rmrr_init)); +} + +void +iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *context) +{ + x86_iommu->free_ctx_locked(iommu, context); +} + +void +iommu_free_ctx(struct iommu_ctx *context) +{ + x86_iommu->free_ctx(context); +} + +struct iommu_unit * +iommu_find(device_t dev, bool verbose) +{ + return (x86_iommu->find(dev, verbose)); +} + +int +iommu_alloc_msi_intr(device_t src, u_int *cookies, u_int count) +{ + return (x86_iommu->alloc_msi_intr(src, cookies, count)); +} + +int +iommu_map_msi_intr(device_t src, u_int cpu, u_int vector, u_int cookie, + uint64_t *addr, uint32_t *data) +{ + return (x86_iommu->map_msi_intr(src, cpu, vector, cookie, + addr, data)); +} + +int +iommu_unmap_msi_intr(device_t src, u_int cookie) +{ + return (x86_iommu->unmap_msi_intr(src, cookie)); +} + +int +iommu_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, + bool activehi, int irq, u_int *cookie, uint32_t *hi, uint32_t *lo) +{ + return (x86_iommu->map_ioapic_intr(ioapic_id, cpu, vector, edge, + activehi, irq, cookie, hi, lo)); +} + +int +iommu_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) +{ + return (x86_iommu->unmap_ioapic_intr(ioapic_id, cookie)); +} diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 3789586f1eaf..8c908964acd0 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2013-2015 The FreeBSD Foundation + * Copyright (c) 2013-2015, 2024 The FreeBSD Foundation * * This software was developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. @@ -59,4 +59,27 @@ extern int iommu_tbl_pagecnt; SYSCTL_DECL(_hw_iommu); SYSCTL_DECL(_hw_iommu_dmar); +struct x86_iommu { + void (*domain_unload_entry)(struct iommu_map_entry *entry, bool free, + bool cansleep); + void (*domain_unload)(struct iommu_domain *iodom, + struct iommu_map_entries_tailq *entries, bool cansleep); + struct iommu_ctx *(*get_ctx)(struct iommu_unit *iommu, + device_t dev, uint16_t rid, bool id_mapped, bool rmrr_init); + void (*free_ctx_locked)(struct iommu_unit *iommu, + struct iommu_ctx *context); + void (*free_ctx)(struct iommu_ctx *context); + struct iommu_unit *(*find)(device_t dev, bool verbose); + int (*alloc_msi_intr)(device_t src, u_int *cookies, u_int count); + int (*map_msi_intr)(device_t src, u_int cpu, u_int vector, + u_int cookie, uint64_t *addr, uint32_t *data); + int (*unmap_msi_intr)(device_t src, u_int cookie); + int (*map_ioapic_intr)(u_int ioapic_id, u_int cpu, u_int vector, + bool edge, bool activehi, int irq, u_int *cookie, uint32_t *hi, + uint32_t *lo); + int (*unmap_ioapic_intr)(u_int ioapic_id, u_int *cookie); +}; +void set_x86_iommu(struct x86_iommu *); +struct x86_iommu *get_x86_iommu(void); + #endif From nobody Wed Sep 11 08:44:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyv14c8z5W7pn; Wed, 11 Sep 2024 08:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyt4n7Wz41nb; Wed, 11 Sep 2024 08:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jKGKTebXpJVP3RUh1PysRSFnpHHXblwyfvkBa0JEO2Y=; b=GzILWqDIX5uUhGm9FMLUrll/H0y0eNjB6/RyuooKxXQpBv6a3fJZSNmyDILcW//OiNT2Dx MZebRBmFVrQJZXSa27kPH9Lp2qqqMQdsPGpiCx3Eu+b8L9AHeNZCju66UEbiRMf0M4QWkk vSVYtpUIFDpaqaCHeb60QZQOhTmkwivC9Ygx/cTEbvsVmIvhpNu1LJ33Nxdgy7OGJ8rbDW m4hVMAmYlQCYX/Ay2Q6yxOytUrN9T2ihJ97hVmN3YXg98hCHOCEVnMiOW2Wt+AuX7IS/zA zh6vM6P6IscoA8IoZOCHvyt3e0nqQsb0ilIvTupK9p1EkHWOEGXqXAnZB+Ienw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044262; a=rsa-sha256; cv=none; b=cyFvmlLbWWx69nJEaIndzPzY7e8hhQgP+Dq67n+8ESnm+rYeft0YKflZJfaj6PDMniIBiD 55kTkfHVEa+QIW95rsSwIC7/ypErzLYA2iXadw2E1zUhabsf/4G/lajDAszAABI5FgR5Wb J8TamTd/t26S8V4HvtcFegb9ppSIRqABl1QQ+cbBZw2VNz4apdxqrBTKiGAWlXhI6oCNcD v//XY7KdIkQfaTvkYseurTnz4Uk8jLC+9+bt+lhPpd7q/f/SoBRS0YfVDP7kQaBAGs16PC 9jNQ374XLt2stDl4fGHErsfq+jOJq6usAZrrP04y3HARXuXwEtPfVX8X2AXHMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jKGKTebXpJVP3RUh1PysRSFnpHHXblwyfvkBa0JEO2Y=; b=S+Bo3Tf1vOQXJOAeKCtNm45CFkTrNEPk4VpAfXOeB/z5+eP/k71RZeFutKKzIdcijRpkFv hd8lu3FbL/JT/wdzMusHW63nLlokZHx3RarL5BB0/szCwRacX/eLWsK6m8XEJTsIJR92jJ E3J+Ko8dNXuxX3RlrWkJU60sezUJlEWIaI+bGvh4FYsHhN0EB8uk7puO5f0I8l3oVLE/j6 rGQjPg54a9jdbRJsEbAXRoxnU4OOXSylXATxCuIAvhbtcZ6Wq2rNG7jgdZnCzO+K87J35U +GvmM9uQG5MzfJFRupHX1ce/E+Oi5g8z5rPjvkNGFZBJcxCGsNHMttojMbEOSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyt4NQNzPYG; Wed, 11 Sep 2024 08:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iMO4007414; Wed, 11 Sep 2024 08:44:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iMuW007411; Wed, 11 Sep 2024 08:44:22 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:22 GMT Message-Id: <202409110844.48B8iMuW007411@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 92d04b87f0f2 - stable/14 - x86 iommu: move DMAR-independent parts of the qi code into common 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 92d04b87f0f2d4033357e5e1fee8f4d2719aaf94 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=92d04b87f0f2d4033357e5e1fee8f4d2719aaf94 commit 92d04b87f0f2d4033357e5e1fee8f4d2719aaf94 Author: Konstantin Belousov AuthorDate: 2024-06-06 01:16:36 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 x86 iommu: move DMAR-independent parts of the qi code into common (cherry picked from commit ad794e6d7d02a11b01e721859e096efeb258a4d4) --- sys/x86/iommu/intel_ctx.c | 7 +- sys/x86/iommu/intel_dmar.h | 42 +----- sys/x86/iommu/intel_drv.c | 26 ++-- sys/x86/iommu/intel_qi.c | 336 ++++++++++++-------------------------------- sys/x86/iommu/iommu_utils.c | 234 +++++++++++++++++++++++++++++- sys/x86/iommu/x86_iommu.h | 72 ++++++++++ 6 files changed, 419 insertions(+), 298 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 9fd632d782f8..62e4e17e5d9b 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -889,10 +889,11 @@ dmar_domain_unload_entry(struct iommu_map_entry *entry, bool free, if (unit->qi_enabled) { if (free) { DMAR_LOCK(unit); - dmar_qi_invalidate_locked(domain, entry, true); + iommu_qi_invalidate_locked(&domain->iodom, entry, + true); DMAR_UNLOCK(unit); } else { - dmar_qi_invalidate_sync(domain, entry->start, + iommu_qi_invalidate_sync(&domain->iodom, entry->start, entry->end - entry->start, cansleep); dmar_domain_free_entry(entry, false); } @@ -945,7 +946,7 @@ dmar_domain_unload(struct iommu_domain *iodom, DMAR_LOCK(unit); while ((entry = TAILQ_FIRST(entries)) != NULL) { TAILQ_REMOVE(entries, entry, dmamap_link); - dmar_qi_invalidate_locked(domain, entry, + iommu_qi_invalidate_locked(&domain->iodom, entry, dmar_domain_unload_emit_wait(domain, entry)); } DMAR_UNLOCK(unit); diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index 0ede955e12b9..8a815d5cfca6 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -123,6 +123,7 @@ struct dmar_msi_data { struct dmar_unit { struct iommu_unit iommu; + struct x86_unit_common x86c; uint16_t segment; uint64_t base; @@ -155,17 +156,6 @@ struct dmar_unit { /* QI */ int qi_enabled; - char *inv_queue; - vm_size_t inv_queue_size; - uint32_t inv_queue_avail; - uint32_t inv_queue_tail; - volatile uint32_t inv_waitd_seq_hw; /* hw writes there on wait - descr completion */ - uint64_t inv_waitd_seq_hw_phys; - uint32_t inv_waitd_seq; /* next sequence number to use for wait descr */ - u_int inv_waitd_gen; /* seq number generation AKA seq overflows */ - u_int inv_seq_waiters; /* count of waiters for seq */ - u_int inv_queue_full; /* informational counter */ /* IR */ int ir_enabled; @@ -173,36 +163,6 @@ struct dmar_unit { dmar_irte_t *irt; u_int irte_cnt; vmem_t *irtids; - - /* - * Delayed freeing of map entries queue processing: - * - * tlb_flush_head and tlb_flush_tail are used to implement a FIFO - * queue that supports concurrent dequeues and enqueues. However, - * there can only be a single dequeuer (accessing tlb_flush_head) and - * a single enqueuer (accessing tlb_flush_tail) at a time. Since the - * unit's qi_task is the only dequeuer, it can access tlb_flush_head - * without any locking. In contrast, there may be multiple enqueuers, - * so the enqueuers acquire the iommu unit lock to serialize their - * accesses to tlb_flush_tail. - * - * In this FIFO queue implementation, the key to enabling concurrent - * dequeues and enqueues is that the dequeuer never needs to access - * tlb_flush_tail and the enqueuer never needs to access - * tlb_flush_head. In particular, tlb_flush_head and tlb_flush_tail - * are never NULL, so neither a dequeuer nor an enqueuer ever needs to - * update both. Instead, tlb_flush_head always points to a "zombie" - * struct, which previously held the last dequeued item. Thus, the - * zombie's next field actually points to the struct holding the first - * item in the queue. When an item is dequeued, the current zombie is - * finally freed, and the struct that held the just dequeued item - * becomes the new zombie. When the queue is empty, tlb_flush_tail - * also points to the zombie. - */ - struct iommu_map_entry *tlb_flush_head; - struct iommu_map_entry *tlb_flush_tail; - struct task qi_task; - struct taskqueue *qi_taskqueue; }; #define DMAR_LOCK(dmar) mtx_lock(&DMAR2IOMMU(dmar)->lock) diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index 79350358cced..9fa1b3f98dc6 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -1303,19 +1303,19 @@ dmar_print_one(int idx, bool show_domains, bool show_mappings) "size 0x%jx\n" " head 0x%x tail 0x%x avail 0x%x status 0x%x ctrl 0x%x\n" " hw compl 0x%x@%p/phys@%jx next seq 0x%x gen 0x%x\n", - (uintmax_t)unit->inv_queue, + (uintmax_t)unit->x86c.inv_queue, (uintmax_t)dmar_read8(unit, DMAR_IQA_REG), - (uintmax_t)unit->inv_queue_size, + (uintmax_t)unit->x86c.inv_queue_size, dmar_read4(unit, DMAR_IQH_REG), dmar_read4(unit, DMAR_IQT_REG), - unit->inv_queue_avail, + unit->x86c.inv_queue_avail, dmar_read4(unit, DMAR_ICS_REG), dmar_read4(unit, DMAR_IECTL_REG), - unit->inv_waitd_seq_hw, - &unit->inv_waitd_seq_hw, - (uintmax_t)unit->inv_waitd_seq_hw_phys, - unit->inv_waitd_seq, - unit->inv_waitd_gen); + unit->x86c.inv_waitd_seq_hw, + &unit->x86c.inv_waitd_seq_hw, + (uintmax_t)unit->x86c.inv_waitd_seq_hw_phys, + unit->x86c.inv_waitd_seq, + unit->x86c.inv_waitd_gen); } else { db_printf("qi is disabled\n"); } @@ -1368,7 +1368,17 @@ dmar_find_method(device_t dev, bool verbose) return (&dmar->iommu); } +static struct x86_unit_common * +dmar_get_x86_common(struct iommu_unit *unit) +{ + struct dmar_unit *dmar; + + dmar = IOMMU2DMAR(unit); + return (&dmar->x86c); +} + static struct x86_iommu dmar_x86_iommu = { + .get_x86_common = dmar_get_x86_common, .domain_unload_entry = dmar_domain_unload_entry, .domain_unload = dmar_domain_unload, .get_ctx = dmar_get_ctx, diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c index 590cbac9bcbd..3b7f64285c90 100644 --- a/sys/x86/iommu/intel_qi.c +++ b/sys/x86/iommu/intel_qi.c @@ -58,17 +58,6 @@ #include #include -static bool -dmar_qi_seq_processed(const struct dmar_unit *unit, - const struct iommu_qi_genseq *pseq) -{ - u_int gen; - - gen = unit->inv_waitd_gen; - return (pseq->gen < gen || - (pseq->gen == gen && pseq->seq <= unit->inv_waitd_seq_hw)); -} - static int dmar_enable_qi(struct dmar_unit *unit) { @@ -96,32 +85,36 @@ dmar_disable_qi(struct dmar_unit *unit) } static void -dmar_qi_advance_tail(struct dmar_unit *unit) +dmar_qi_advance_tail(struct iommu_unit *iommu) { + struct dmar_unit *unit; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); - dmar_write4(unit, DMAR_IQT_REG, unit->inv_queue_tail); + dmar_write4(unit, DMAR_IQT_REG, unit->x86c.inv_queue_tail); } static void -dmar_qi_ensure(struct dmar_unit *unit, int descr_count) +dmar_qi_ensure(struct iommu_unit *iommu, int descr_count) { + struct dmar_unit *unit; uint32_t head; int bytes; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); bytes = descr_count << DMAR_IQ_DESCR_SZ_SHIFT; for (;;) { - if (bytes <= unit->inv_queue_avail) + if (bytes <= unit->x86c.inv_queue_avail) break; /* refill */ head = dmar_read4(unit, DMAR_IQH_REG); head &= DMAR_IQH_MASK; - unit->inv_queue_avail = head - unit->inv_queue_tail - + unit->x86c.inv_queue_avail = head - unit->x86c.inv_queue_tail - DMAR_IQ_DESCR_SZ; - if (head <= unit->inv_queue_tail) - unit->inv_queue_avail += unit->inv_queue_size; - if (bytes <= unit->inv_queue_avail) + if (head <= unit->x86c.inv_queue_tail) + unit->x86c.inv_queue_avail += unit->x86c.inv_queue_size; + if (bytes <= unit->x86c.inv_queue_avail) break; /* @@ -134,11 +127,11 @@ dmar_qi_ensure(struct dmar_unit *unit, int descr_count) * See dmar_qi_invalidate_locked() for a discussion * about data race prevention. */ - dmar_qi_advance_tail(unit); - unit->inv_queue_full++; + dmar_qi_advance_tail(DMAR2IOMMU(unit)); + unit->x86c.inv_queue_full++; cpu_spinwait(); } - unit->inv_queue_avail -= bytes; + unit->x86c.inv_queue_avail -= bytes; } static void @@ -146,162 +139,60 @@ dmar_qi_emit(struct dmar_unit *unit, uint64_t data1, uint64_t data2) { DMAR_ASSERT_LOCKED(unit); - *(volatile uint64_t *)(unit->inv_queue + unit->inv_queue_tail) = data1; - unit->inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; - KASSERT(unit->inv_queue_tail <= unit->inv_queue_size, - ("tail overflow 0x%x 0x%jx", unit->inv_queue_tail, - (uintmax_t)unit->inv_queue_size)); - unit->inv_queue_tail &= unit->inv_queue_size - 1; - *(volatile uint64_t *)(unit->inv_queue + unit->inv_queue_tail) = data2; - unit->inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; - KASSERT(unit->inv_queue_tail <= unit->inv_queue_size, - ("tail overflow 0x%x 0x%jx", unit->inv_queue_tail, - (uintmax_t)unit->inv_queue_size)); - unit->inv_queue_tail &= unit->inv_queue_size - 1; + *(volatile uint64_t *)(unit->x86c.inv_queue + + unit->x86c.inv_queue_tail) = data1; + unit->x86c.inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; + KASSERT(unit->x86c.inv_queue_tail <= unit->x86c.inv_queue_size, + ("tail overflow 0x%x 0x%jx", unit->x86c.inv_queue_tail, + (uintmax_t)unit->x86c.inv_queue_size)); + unit->x86c.inv_queue_tail &= unit->x86c.inv_queue_size - 1; + *(volatile uint64_t *)(unit->x86c.inv_queue + + unit->x86c.inv_queue_tail) = data2; + unit->x86c.inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; + KASSERT(unit->x86c.inv_queue_tail <= unit->x86c.inv_queue_size, + ("tail overflow 0x%x 0x%jx", unit->x86c.inv_queue_tail, + (uintmax_t)unit->x86c.inv_queue_size)); + unit->x86c.inv_queue_tail &= unit->x86c.inv_queue_size - 1; } static void -dmar_qi_emit_wait_descr(struct dmar_unit *unit, uint32_t seq, bool intr, +dmar_qi_emit_wait_descr(struct iommu_unit *iommu, uint32_t seq, bool intr, bool memw, bool fence) { + struct dmar_unit *unit; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); dmar_qi_emit(unit, DMAR_IQ_DESCR_WAIT_ID | (intr ? DMAR_IQ_DESCR_WAIT_IF : 0) | (memw ? DMAR_IQ_DESCR_WAIT_SW : 0) | (fence ? DMAR_IQ_DESCR_WAIT_FN : 0) | (memw ? DMAR_IQ_DESCR_WAIT_SD(seq) : 0), - memw ? unit->inv_waitd_seq_hw_phys : 0); + memw ? unit->x86c.inv_waitd_seq_hw_phys : 0); } static void -dmar_qi_emit_wait_seq(struct dmar_unit *unit, struct iommu_qi_genseq *pseq, - bool emit_wait) -{ - struct iommu_qi_genseq gsec; - uint32_t seq; - - KASSERT(pseq != NULL, ("wait descriptor with no place for seq")); - DMAR_ASSERT_LOCKED(unit); - if (unit->inv_waitd_seq == 0xffffffff) { - gsec.gen = unit->inv_waitd_gen; - gsec.seq = unit->inv_waitd_seq; - dmar_qi_ensure(unit, 1); - dmar_qi_emit_wait_descr(unit, gsec.seq, false, true, false); - dmar_qi_advance_tail(unit); - while (!dmar_qi_seq_processed(unit, &gsec)) - cpu_spinwait(); - unit->inv_waitd_gen++; - unit->inv_waitd_seq = 1; - } - seq = unit->inv_waitd_seq++; - pseq->gen = unit->inv_waitd_gen; - pseq->seq = seq; - if (emit_wait) { - dmar_qi_ensure(unit, 1); - dmar_qi_emit_wait_descr(unit, seq, true, true, false); - } -} - -/* - * To avoid missed wakeups, callers must increment the unit's waiters count - * before advancing the tail past the wait descriptor. - */ -static void -dmar_qi_wait_for_seq(struct dmar_unit *unit, const struct iommu_qi_genseq *gseq, - bool nowait) -{ - - DMAR_ASSERT_LOCKED(unit); - KASSERT(unit->inv_seq_waiters > 0, ("%s: no waiters", __func__)); - while (!dmar_qi_seq_processed(unit, gseq)) { - if (cold || nowait) { - cpu_spinwait(); - } else { - msleep(&unit->inv_seq_waiters, &unit->iommu.lock, 0, - "dmarse", hz); - } - } - unit->inv_seq_waiters--; -} - -static void -dmar_qi_invalidate_emit(struct dmar_domain *domain, iommu_gaddr_t base, +dmar_qi_invalidate_emit(struct iommu_domain *idomain, iommu_gaddr_t base, iommu_gaddr_t size, struct iommu_qi_genseq *pseq, bool emit_wait) { struct dmar_unit *unit; + struct dmar_domain *domain; iommu_gaddr_t isize; int am; + domain = __containerof(idomain, struct dmar_domain, iodom); unit = domain->dmar; DMAR_ASSERT_LOCKED(unit); for (; size > 0; base += isize, size -= isize) { am = calc_am(unit, base, size, &isize); - dmar_qi_ensure(unit, 1); + dmar_qi_ensure(DMAR2IOMMU(unit), 1); dmar_qi_emit(unit, DMAR_IQ_DESCR_IOTLB_INV | DMAR_IQ_DESCR_IOTLB_PAGE | DMAR_IQ_DESCR_IOTLB_DW | DMAR_IQ_DESCR_IOTLB_DR | DMAR_IQ_DESCR_IOTLB_DID(domain->domain), base | am); } - dmar_qi_emit_wait_seq(unit, pseq, emit_wait); -} - -/* - * The caller must not be using the entry's dmamap_link field. - */ -void -dmar_qi_invalidate_locked(struct dmar_domain *domain, - struct iommu_map_entry *entry, bool emit_wait) -{ - struct dmar_unit *unit; - - unit = domain->dmar; - DMAR_ASSERT_LOCKED(unit); - dmar_qi_invalidate_emit(domain, entry->start, entry->end - - entry->start, &entry->gseq, emit_wait); - - /* - * To avoid a data race in dmar_qi_task(), the entry's gseq must be - * initialized before the entry is added to the TLB flush list, and the - * entry must be added to that list before the tail is advanced. More - * precisely, the tail must not be advanced past the wait descriptor - * that will generate the interrupt that schedules dmar_qi_task() for - * execution before the entry is added to the list. While an earlier - * call to dmar_qi_ensure() might have advanced the tail, it will not - * advance it past the wait descriptor. - * - * See the definition of struct dmar_unit for more information on - * synchronization. - */ - entry->tlb_flush_next = NULL; - atomic_store_rel_ptr((uintptr_t *)&unit->tlb_flush_tail->tlb_flush_next, - (uintptr_t)entry); - unit->tlb_flush_tail = entry; - - dmar_qi_advance_tail(unit); -} - -void -dmar_qi_invalidate_sync(struct dmar_domain *domain, iommu_gaddr_t base, - iommu_gaddr_t size, bool cansleep) -{ - struct dmar_unit *unit; - struct iommu_qi_genseq gseq; - - unit = domain->dmar; - DMAR_LOCK(unit); - dmar_qi_invalidate_emit(domain, base, size, &gseq, true); - - /* - * To avoid a missed wakeup in dmar_qi_task(), the unit's waiters count - * must be incremented before the tail is advanced. - */ - unit->inv_seq_waiters++; - - dmar_qi_advance_tail(unit); - dmar_qi_wait_for_seq(unit, &gseq, !cansleep); - DMAR_UNLOCK(unit); + iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), pseq, emit_wait); } void @@ -310,13 +201,13 @@ dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit) struct iommu_qi_genseq gseq; DMAR_ASSERT_LOCKED(unit); - dmar_qi_ensure(unit, 2); + dmar_qi_ensure(DMAR2IOMMU(unit), 2); dmar_qi_emit(unit, DMAR_IQ_DESCR_CTX_INV | DMAR_IQ_DESCR_CTX_GLOB, 0); - dmar_qi_emit_wait_seq(unit, &gseq, true); + iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); /* See dmar_qi_invalidate_sync(). */ - unit->inv_seq_waiters++; - dmar_qi_advance_tail(unit); - dmar_qi_wait_for_seq(unit, &gseq, false); + unit->x86c.inv_seq_waiters++; + dmar_qi_advance_tail(DMAR2IOMMU(unit)); + iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, false); } void @@ -325,14 +216,14 @@ dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit) struct iommu_qi_genseq gseq; DMAR_ASSERT_LOCKED(unit); - dmar_qi_ensure(unit, 2); + dmar_qi_ensure(DMAR2IOMMU(unit), 2); dmar_qi_emit(unit, DMAR_IQ_DESCR_IOTLB_INV | DMAR_IQ_DESCR_IOTLB_GLOB | DMAR_IQ_DESCR_IOTLB_DW | DMAR_IQ_DESCR_IOTLB_DR, 0); - dmar_qi_emit_wait_seq(unit, &gseq, true); + iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); /* See dmar_qi_invalidate_sync(). */ - unit->inv_seq_waiters++; - dmar_qi_advance_tail(unit); - dmar_qi_wait_for_seq(unit, &gseq, false); + unit->x86c.inv_seq_waiters++; + dmar_qi_advance_tail(DMAR2IOMMU(unit)); + iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, false); } void @@ -341,13 +232,13 @@ dmar_qi_invalidate_iec_glob(struct dmar_unit *unit) struct iommu_qi_genseq gseq; DMAR_ASSERT_LOCKED(unit); - dmar_qi_ensure(unit, 2); + dmar_qi_ensure(DMAR2IOMMU(unit), 2); dmar_qi_emit(unit, DMAR_IQ_DESCR_IEC_INV, 0); - dmar_qi_emit_wait_seq(unit, &gseq, true); + iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); /* See dmar_qi_invalidate_sync(). */ - unit->inv_seq_waiters++; - dmar_qi_advance_tail(unit); - dmar_qi_wait_for_seq(unit, &gseq, false); + unit->x86c.inv_seq_waiters++; + dmar_qi_advance_tail(DMAR2IOMMU(unit)); + iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, false); } void @@ -363,21 +254,21 @@ dmar_qi_invalidate_iec(struct dmar_unit *unit, u_int start, u_int cnt) for (; cnt > 0; cnt -= c, start += c) { l = ffs(start | cnt) - 1; c = 1 << l; - dmar_qi_ensure(unit, 1); + dmar_qi_ensure(DMAR2IOMMU(unit), 1); dmar_qi_emit(unit, DMAR_IQ_DESCR_IEC_INV | DMAR_IQ_DESCR_IEC_IDX | DMAR_IQ_DESCR_IEC_IIDX(start) | DMAR_IQ_DESCR_IEC_IM(l), 0); } - dmar_qi_ensure(unit, 1); - dmar_qi_emit_wait_seq(unit, &gseq, true); + dmar_qi_ensure(DMAR2IOMMU(unit), 1); + iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); /* - * Since dmar_qi_wait_for_seq() will not sleep, this increment's + * Since iommu_qi_wait_for_seq() will not sleep, this increment's * placement relative to advancing the tail doesn't matter. */ - unit->inv_seq_waiters++; + unit->x86c.inv_seq_waiters++; - dmar_qi_advance_tail(unit); + dmar_qi_advance_tail(DMAR2IOMMU(unit)); /* * The caller of the function, in particular, @@ -394,7 +285,7 @@ dmar_qi_invalidate_iec(struct dmar_unit *unit, u_int start, u_int cnt) * queue is processed, which includes requests possibly issued * before our request. */ - dmar_qi_wait_for_seq(unit, &gseq, true); + iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, true); } int @@ -405,38 +296,18 @@ dmar_qi_intr(void *arg) unit = arg; KASSERT(unit->qi_enabled, ("dmar%d: QI is not enabled", unit->iommu.unit)); - taskqueue_enqueue(unit->qi_taskqueue, &unit->qi_task); + taskqueue_enqueue(unit->x86c.qi_taskqueue, &unit->x86c.qi_task); return (FILTER_HANDLED); } -static void -dmar_qi_drain_tlb_flush(struct dmar_unit *unit) -{ - struct iommu_map_entry *entry, *head; - - for (head = unit->tlb_flush_head;; head = entry) { - entry = (struct iommu_map_entry *) - atomic_load_acq_ptr((uintptr_t *)&head->tlb_flush_next); - if (entry == NULL || - !dmar_qi_seq_processed(unit, &entry->gseq)) - break; - unit->tlb_flush_head = entry; - iommu_gas_free_entry(head); - if ((entry->flags & IOMMU_MAP_ENTRY_RMRR) != 0) - iommu_gas_free_region(entry); - else - iommu_gas_free_space(entry); - } -} - static void dmar_qi_task(void *arg, int pending __unused) { struct dmar_unit *unit; uint32_t ics; - unit = arg; - dmar_qi_drain_tlb_flush(unit); + unit = IOMMU2DMAR(arg); + iommu_qi_drain_tlb_flush(DMAR2IOMMU(unit)); /* * Request an interrupt on the completion of the next invalidation @@ -453,26 +324,32 @@ dmar_qi_task(void *arg, int pending __unused) * Otherwise, such entries will linger until a later entry * that requests an interrupt is processed. */ - dmar_qi_drain_tlb_flush(unit); + iommu_qi_drain_tlb_flush(DMAR2IOMMU(unit)); } - if (unit->inv_seq_waiters > 0) { + if (unit->x86c.inv_seq_waiters > 0) { /* * Acquire the DMAR lock so that wakeup() is called only after * the waiter is sleeping. */ DMAR_LOCK(unit); - wakeup(&unit->inv_seq_waiters); + wakeup(&unit->x86c.inv_seq_waiters); DMAR_UNLOCK(unit); } } +static inline int +i_ilog2(vm_size_t n) +{ + return (8 * sizeof(n) - 1 - __builtin_clz((u_long)n)); +} + int dmar_init_qi(struct dmar_unit *unit) { uint64_t iqa; uint32_t ics; - int qi_sz; + u_int qi_sz; if (!DMAR_HAS_QI(unit) || (unit->hw_cap & DMAR_CAP_CM) != 0) return (0); @@ -481,34 +358,19 @@ dmar_init_qi(struct dmar_unit *unit) if (!unit->qi_enabled) return (0); - unit->tlb_flush_head = unit->tlb_flush_tail = - iommu_gas_alloc_entry(NULL, 0); - TASK_INIT(&unit->qi_task, 0, dmar_qi_task, unit); - unit->qi_taskqueue = taskqueue_create_fast("dmarqf", M_WAITOK, - taskqueue_thread_enqueue, &unit->qi_taskqueue); - taskqueue_start_threads(&unit->qi_taskqueue, 1, PI_AV, - "dmar%d qi taskq", unit->iommu.unit); - - unit->inv_waitd_gen = 0; - unit->inv_waitd_seq = 1; - - qi_sz = DMAR_IQA_QS_DEF; - TUNABLE_INT_FETCH("hw.dmar.qi_size", &qi_sz); - if (qi_sz > DMAR_IQA_QS_MAX) - qi_sz = DMAR_IQA_QS_MAX; - unit->inv_queue_size = (1ULL << qi_sz) * PAGE_SIZE; - /* Reserve one descriptor to prevent wraparound. */ - unit->inv_queue_avail = unit->inv_queue_size - DMAR_IQ_DESCR_SZ; - - /* The invalidation queue reads by DMARs are always coherent. */ - unit->inv_queue = kmem_alloc_contig(unit->inv_queue_size, M_WAITOK | - M_ZERO, 0, iommu_high, PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); - unit->inv_waitd_seq_hw_phys = pmap_kextract( - (vm_offset_t)&unit->inv_waitd_seq_hw); + unit->x86c.qi_buf_maxsz = DMAR_IQA_QS_MAX; + unit->x86c.qi_cmd_sz = DMAR_IQ_DESCR_SZ; + iommu_qi_common_init(DMAR2IOMMU(unit), dmar_qi_task); + get_x86_iommu()->qi_ensure = dmar_qi_ensure; + get_x86_iommu()->qi_emit_wait_descr = dmar_qi_emit_wait_descr; + get_x86_iommu()->qi_advance_tail = dmar_qi_advance_tail; + get_x86_iommu()->qi_invalidate_emit = dmar_qi_invalidate_emit; + + qi_sz = i_ilog2(unit->x86c.inv_queue_size / PAGE_SIZE); DMAR_LOCK(unit); dmar_write8(unit, DMAR_IQT_REG, 0); - iqa = pmap_kextract((uintptr_t)unit->inv_queue); + iqa = pmap_kextract((uintptr_t)unit->x86c.inv_queue); iqa |= qi_sz; dmar_write8(unit, DMAR_IQA_REG, iqa); dmar_enable_qi(unit); @@ -523,35 +385,19 @@ dmar_init_qi(struct dmar_unit *unit) return (0); } +static void +dmar_fini_qi_helper(struct iommu_unit *iommu) +{ + dmar_disable_qi_intr(IOMMU2DMAR(iommu)); + dmar_disable_qi(IOMMU2DMAR(iommu)); +} + void dmar_fini_qi(struct dmar_unit *unit) { - struct iommu_qi_genseq gseq; - if (!unit->qi_enabled) return; - taskqueue_drain(unit->qi_taskqueue, &unit->qi_task); - taskqueue_free(unit->qi_taskqueue); - unit->qi_taskqueue = NULL; - - DMAR_LOCK(unit); - /* quisce */ - dmar_qi_ensure(unit, 1); - dmar_qi_emit_wait_seq(unit, &gseq, true); - /* See dmar_qi_invalidate_sync_locked(). */ - unit->inv_seq_waiters++; - dmar_qi_advance_tail(unit); - dmar_qi_wait_for_seq(unit, &gseq, false); - /* only after the quisce, disable queue */ - dmar_disable_qi_intr(unit); - dmar_disable_qi(unit); - KASSERT(unit->inv_seq_waiters == 0, - ("dmar%d: waiters on disabled queue", unit->iommu.unit)); - DMAR_UNLOCK(unit); - - kmem_free(unit->inv_queue, unit->inv_queue_size); - unit->inv_queue = NULL; - unit->inv_queue_size = 0; + iommu_qi_common_fini(DMAR2IOMMU(unit), dmar_fini_qi_helper); unit->qi_enabled = 0; } diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index ea2c0358e072..571e5a2e65cd 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -29,7 +29,9 @@ */ #include +#include #include +#include #include #include #include @@ -40,8 +42,11 @@ #include #include #include -#include +#include +#include +#include #include +#include #include #include #include @@ -251,3 +256,230 @@ iommu_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) { return (x86_iommu->unmap_ioapic_intr(ioapic_id, cookie)); } + +#define IOMMU2X86C(iommu) (x86_iommu->get_x86_common(iommu)) + +static bool +iommu_qi_seq_processed(struct iommu_unit *unit, + const struct iommu_qi_genseq *pseq) +{ + struct x86_unit_common *x86c; + u_int gen; + + x86c = IOMMU2X86C(unit); + gen = x86c->inv_waitd_gen; + return (pseq->gen < gen || + (pseq->gen == gen && pseq->seq <= x86c->inv_waitd_seq_hw)); +} + +void +iommu_qi_emit_wait_seq(struct iommu_unit *unit, struct iommu_qi_genseq *pseq, + bool emit_wait) +{ + struct x86_unit_common *x86c; + struct iommu_qi_genseq gsec; + uint32_t seq; + + KASSERT(pseq != NULL, ("wait descriptor with no place for seq")); + IOMMU_ASSERT_LOCKED(unit); + x86c = IOMMU2X86C(unit); + + if (x86c->inv_waitd_seq == 0xffffffff) { + gsec.gen = x86c->inv_waitd_gen; + gsec.seq = x86c->inv_waitd_seq; + x86_iommu->qi_ensure(unit, 1); + x86_iommu->qi_emit_wait_descr(unit, gsec.seq, false, + true, false); + x86_iommu->qi_advance_tail(unit); + while (!iommu_qi_seq_processed(unit, &gsec)) + cpu_spinwait(); + x86c->inv_waitd_gen++; + x86c->inv_waitd_seq = 1; + } + seq = x86c->inv_waitd_seq++; + pseq->gen = x86c->inv_waitd_gen; + pseq->seq = seq; + if (emit_wait) { + x86_iommu->qi_ensure(unit, 1); + x86_iommu->qi_emit_wait_descr(unit, seq, true, true, false); + } +} + +/* + * To avoid missed wakeups, callers must increment the unit's waiters count + * before advancing the tail past the wait descriptor. + */ +void +iommu_qi_wait_for_seq(struct iommu_unit *unit, const struct iommu_qi_genseq * + gseq, bool nowait) +{ + struct x86_unit_common *x86c; + + IOMMU_ASSERT_LOCKED(unit); + x86c = IOMMU2X86C(unit); + + KASSERT(x86c->inv_seq_waiters > 0, ("%s: no waiters", __func__)); + while (!iommu_qi_seq_processed(unit, gseq)) { + if (cold || nowait) { + cpu_spinwait(); + } else { + msleep(&x86c->inv_seq_waiters, &unit->lock, 0, + "dmarse", hz); + } + } + x86c->inv_seq_waiters--; +} + +/* + * The caller must not be using the entry's dmamap_link field. + */ +void +iommu_qi_invalidate_locked(struct iommu_domain *domain, + struct iommu_map_entry *entry, bool emit_wait) +{ + struct iommu_unit *unit; + struct x86_unit_common *x86c; + + unit = domain->iommu; + x86c = IOMMU2X86C(unit); + IOMMU_ASSERT_LOCKED(unit); + + x86_iommu->qi_invalidate_emit(domain, entry->start, entry->end - + entry->start, &entry->gseq, emit_wait); + + /* + * To avoid a data race in dmar_qi_task(), the entry's gseq must be + * initialized before the entry is added to the TLB flush list, and the + * entry must be added to that list before the tail is advanced. More + * precisely, the tail must not be advanced past the wait descriptor + * that will generate the interrupt that schedules dmar_qi_task() for + * execution before the entry is added to the list. While an earlier + * call to dmar_qi_ensure() might have advanced the tail, it will not + * advance it past the wait descriptor. + * + * See the definition of struct dmar_unit for more information on + * synchronization. + */ + entry->tlb_flush_next = NULL; + atomic_store_rel_ptr((uintptr_t *)&x86c->tlb_flush_tail-> + tlb_flush_next, (uintptr_t)entry); + x86c->tlb_flush_tail = entry; + + x86_iommu->qi_advance_tail(unit); +} + +void +iommu_qi_invalidate_sync(struct iommu_domain *domain, iommu_gaddr_t base, + iommu_gaddr_t size, bool cansleep) +{ + struct iommu_unit *unit; + struct iommu_qi_genseq gseq; + + unit = domain->iommu; + IOMMU_LOCK(unit); + x86_iommu->qi_invalidate_emit(domain, base, size, &gseq, true); + + /* + * To avoid a missed wakeup in iommu_qi_task(), the unit's + * waiters count must be incremented before the tail is + * advanced. + */ + IOMMU2X86C(unit)->inv_seq_waiters++; + + x86_iommu->qi_advance_tail(unit); + iommu_qi_wait_for_seq(unit, &gseq, !cansleep); + IOMMU_UNLOCK(unit); +} + +void +iommu_qi_drain_tlb_flush(struct iommu_unit *unit) +{ + struct x86_unit_common *x86c; + struct iommu_map_entry *entry, *head; + + x86c = IOMMU2X86C(unit); + for (head = x86c->tlb_flush_head;; head = entry) { + entry = (struct iommu_map_entry *) + atomic_load_acq_ptr((uintptr_t *)&head->tlb_flush_next); + if (entry == NULL || + !iommu_qi_seq_processed(unit, &entry->gseq)) + break; + x86c->tlb_flush_head = entry; + iommu_gas_free_entry(head); + if ((entry->flags & IOMMU_MAP_ENTRY_RMRR) != 0) + iommu_gas_free_region(entry); + else + iommu_gas_free_space(entry); + } +} + +void +iommu_qi_common_init(struct iommu_unit *unit, task_fn_t qi_task) +{ + struct x86_unit_common *x86c; + u_int qi_sz; + + x86c = IOMMU2X86C(unit); + + x86c->tlb_flush_head = x86c->tlb_flush_tail = + iommu_gas_alloc_entry(NULL, 0); + TASK_INIT(&x86c->qi_task, 0, qi_task, unit); + x86c->qi_taskqueue = taskqueue_create_fast("iommuqf", M_WAITOK, + taskqueue_thread_enqueue, &x86c->qi_taskqueue); + taskqueue_start_threads(&x86c->qi_taskqueue, 1, PI_AV, + "iommu%d qi taskq", unit->unit); + + x86c->inv_waitd_gen = 0; + x86c->inv_waitd_seq = 1; + + qi_sz = 3; + TUNABLE_INT_FETCH("hw.iommu.qi_size", &qi_sz); + if (qi_sz > x86c->qi_buf_maxsz) + qi_sz = x86c->qi_buf_maxsz; + x86c->inv_queue_size = (1ULL << qi_sz) * PAGE_SIZE; + /* Reserve one descriptor to prevent wraparound. */ + x86c->inv_queue_avail = x86c->inv_queue_size - + x86c->qi_cmd_sz; + + /* + * The invalidation queue reads by DMARs/AMDIOMMUs are always + * coherent. + */ + x86c->inv_queue = kmem_alloc_contig(x86c->inv_queue_size, + M_WAITOK | M_ZERO, 0, iommu_high, PAGE_SIZE, 0, + VM_MEMATTR_DEFAULT); + x86c->inv_waitd_seq_hw_phys = pmap_kextract( + (vm_offset_t)&x86c->inv_waitd_seq_hw); +} + +void +iommu_qi_common_fini(struct iommu_unit *unit, void (*disable_qi)( + struct iommu_unit *)) +{ + struct x86_unit_common *x86c; + struct iommu_qi_genseq gseq; + + x86c = IOMMU2X86C(unit); + + taskqueue_drain(x86c->qi_taskqueue, &x86c->qi_task); + taskqueue_free(x86c->qi_taskqueue); + x86c->qi_taskqueue = NULL; + + IOMMU_LOCK(unit); + /* quisce */ + x86_iommu->qi_ensure(unit, 1); + iommu_qi_emit_wait_seq(unit, &gseq, true); + /* See iommu_qi_invalidate_locked(). */ + x86c->inv_seq_waiters++; + x86_iommu->qi_advance_tail(unit); + iommu_qi_wait_for_seq(unit, &gseq, false); + /* only after the quisce, disable queue */ + disable_qi(unit); + KASSERT(x86c->inv_seq_waiters == 0, + ("iommu%d: waiters on disabled queue", unit->unit)); + IOMMU_UNLOCK(unit); + + kmem_free(x86c->inv_queue, x86c->inv_queue_size); + x86c->inv_queue = NULL; + x86c->inv_queue_size = 0; +} diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 8c908964acd0..eb1bbafbeb77 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -59,7 +59,18 @@ extern int iommu_tbl_pagecnt; SYSCTL_DECL(_hw_iommu); SYSCTL_DECL(_hw_iommu_dmar); +struct x86_unit_common; + struct x86_iommu { + struct x86_unit_common *(*get_x86_common)(struct + iommu_unit *iommu); + void (*qi_ensure)(struct iommu_unit *unit, int descr_count); + void (*qi_emit_wait_descr)(struct iommu_unit *unit, uint32_t seq, + bool, bool, bool); + void (*qi_advance_tail)(struct iommu_unit *unit); + void (*qi_invalidate_emit)(struct iommu_domain *idomain, + iommu_gaddr_t base, iommu_gaddr_t size, struct iommu_qi_genseq * + pseq, bool emit_wait); void (*domain_unload_entry)(struct iommu_map_entry *entry, bool free, bool cansleep); void (*domain_unload)(struct iommu_domain *iodom, @@ -82,4 +93,65 @@ struct x86_iommu { void set_x86_iommu(struct x86_iommu *); struct x86_iommu *get_x86_iommu(void); +struct x86_unit_common { + uint32_t qi_buf_maxsz; + uint32_t qi_cmd_sz; + *** 58 LINES SKIPPED *** From nobody Wed Sep 11 08:44:19 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyq4Hqbz5W7jw; Wed, 11 Sep 2024 08:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyq22NKz41lh; Wed, 11 Sep 2024 08:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nx0JdJd7I5nP6NQ6m3BDn+YNWpofdBNOyvjloafL9Pw=; b=WspFtJlztUFli6Xnk4at3ID7Emy2p2VJXMOz2X5tSJ45h1Cguk7kv0hNSlr/64cCFfDx1O uuhDYMVmjqyZM7JbaIRWJYbmt3kWGPlSlvyFkSNpelLgv3+OqX7uBAz3KdpIpsWTW/3mSQ JZ1xRb6AbAabQKZ4Gj1WOrjd5pwEG0Lr1IzqYmj2gPXOEbV32yE5YiiSSe0gvwiWyNyNjA zr+/oh32Q73BgPD1d9metDBlp6yw96Y5N8owq4waD8F39Aj5N5o1+BPfSx44RvhbynNuqq 3x3aq3E093DmuCiHibsyqe8oQ92iMciWL7jJ2+TI9eyC0Wo2LiOuqp/MezIN0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044259; a=rsa-sha256; cv=none; b=IzXXXy5ZqCNu5SZVct/MQ4BXMnFk9jUKUbvmglTOv058G+eTbHidQVWfkJTPsj1Fyy81VK 1WJ7XB/Atl3f3KNPjJAnGMcgqYM4I9khwExaBKgK9to72jkv8GCudjZ3jLH1T6k8d+MkIP cahtCD5J/Zy1CxR5mHiH172taGrLNLnyAU9eDzb4TRIwMlBCO8wFqYyE5jrpjNcqLUdwoT eUwNlxvrnx6fZFtXjVh/gKdTDOZ+A8Mz6DJdGeoBEASZI6Yo2T/y9Ym/Bt6u93qR4mLpWc o6Hl6+StM5Uh3YZNd61KXooorC3ykDSmc8ar6BPPGj2ZFoGNPpyZW+38vDa2Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nx0JdJd7I5nP6NQ6m3BDn+YNWpofdBNOyvjloafL9Pw=; b=gDDyqzQ+Jzxr3/uGWcomwXoLXGP7IpzSgapiPmRur60m0qVc50hc4JbIdrtlwvdmIePP+s IfWcHWAnU/GQRZG6rBqYZusf+yrEy+YygN5KyFJXYLVi4LzLa0c4Qm14NSrtTFUW25aFMK x24ypPYkkkLXaF10L50oVVoqmaOkMl2tO5osy+hFmibNLkzGZD/7+uVDNaxznJuQgAuyoC AqwLUYHVXnJf6WKSuVUyFpmBFR9Wm+B86Iy2Z/GKx7xqL8Mh94TwL1RBIp6uo1Hagl+hBK 47sz/IifoMlopnwjYFXUwqw/xl0+S6PSLA2T3o+n4VlHkJIWJKuAu7tjEu0j3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyq1btMzP9g; Wed, 11 Sep 2024 08:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iJTQ007239; Wed, 11 Sep 2024 08:44:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iJgl007236; Wed, 11 Sep 2024 08:44:19 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:19 GMT Message-Id: <202409110844.48B8iJgl007236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b535995861e0 - stable/14 - Intel DMAR: improve X2X macros to fix failures in certain syntax contexts 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b535995861e0ffd6e9567844455d268ab35d8d24 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b535995861e0ffd6e9567844455d268ab35d8d24 commit b535995861e0ffd6e9567844455d268ab35d8d24 Author: Konstantin Belousov AuthorDate: 2024-06-06 00:52:39 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 Intel DMAR: improve X2X macros to fix failures in certain syntax contexts (cherry picked from commit c47229ae66764fec85477e89d4f3861ac29abf48) --- sys/x86/iommu/intel_dmar.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index b7f0300e16f0..9eb87bcfdc35 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -87,15 +87,15 @@ struct dmar_ctx { #define DMAR_DOMAIN_UNLOCK(dom) mtx_unlock(&(dom)->iodom.lock) #define DMAR_DOMAIN_ASSERT_LOCKED(dom) mtx_assert(&(dom)->iodom.lock, MA_OWNED) -#define DMAR2IOMMU(dmar) &((dmar)->iommu) +#define DMAR2IOMMU(dmar) (&((dmar)->iommu)) #define IOMMU2DMAR(dmar) \ __containerof((dmar), struct dmar_unit, iommu) -#define DOM2IODOM(domain) &((domain)->iodom) +#define DOM2IODOM(domain) (&((domain)->iodom)) #define IODOM2DOM(domain) \ __containerof((domain), struct dmar_domain, iodom) -#define CTX2IOCTX(ctx) &((ctx)->context) +#define CTX2IOCTX(ctx) (&((ctx)->context)) #define IOCTX2CTX(ctx) \ __containerof((ctx), struct dmar_ctx, context) From nobody Wed Sep 11 08:44:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyw1k8Lz5W7WP; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyv5WqCz41nf; Wed, 11 Sep 2024 08:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Cdh6Ni68Uf15vQfeNL5kAXoi4Pdi31//poXwex4Kw8=; b=BQhz1DPzdk/q3G/NOOxAxvECMakf2pFSJpayDM490U5F6e7cf65CrsKsYBgCr56Yae8nJ/ AMTteZduW5ukDR4u0p5atMU6lagoE/AXpVxdrsXekMA+1Ocd4IHts5QilcDb1j7mFrcLSB ZFJJhqHvJ49mhjTnEDGoKEGEo8ESPZcl2QL5A+120a17mOUaUiD0wNan/q2QrU395uiCiD 4yDyGq2YwIx5zTqv4mQFCZrHc0T5wU1/BBPwYnXYI9dQ727IXMOCh6iG635BVGPNjZp3nj f7DSfuRBjYiueGEx9K/33FXh7Bs1y4EbHJ2du/coRWLFnP01uD1VdGof8/5vLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044263; a=rsa-sha256; cv=none; b=S8P9kEeJZUy0fHvgnjRddPR2uJmVdTtoTrhsbW1WtnDzVr3vbpcTxrgSwJDHnusAkuyGnR e0h0XOFyTcf0A5Wj9jibtdt7SDdUldNJ5W9w9BslH08JfGHFA8UDGULPyJl+D3G0l1QC8t X/3f+LYP8edvCj4vNjk2huF3cRaGeYN1ogp9wH3lM+fVXosy+s03p+Nm51o5wvHK/b0Zyi LFfpMjHM5SkChTClib+MpCVdhNPvmiTCt6Tb9hBTTwnRtse7qemwgZvIBh3FXT3aWkz/4+ l3Id8PhAQyyKErmDUXaK6OWnScJjthYWPlwhHXSSn80btaz1RwlzAKVjKDXrOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Cdh6Ni68Uf15vQfeNL5kAXoi4Pdi31//poXwex4Kw8=; b=h1flJRlZ6KexD5uyw6MjFmf+gFVQVg28NconxXDVgJuLpXwr+IkVIVx5wlk6phTbyK4rO9 v4wVF1ZFtW/4QF8H1f8gZWJkNp1NeHB7ki760NFVDuGLAnWr8mkIQDajlKdl3hjOemIoZ+ eOtQ/RI9pWfRq5+pNgvNv8SK3quZh6OmkYjESu6EZcs4xRZkRdzN9+/p2DAt6EqeI5fMrJ cuWKuQAlizhjq9F43kDHVUe+UXYR8ysmgLxbqp8kNU5IPDRhvNdUc3WvZAx8YCpKyFt/24 YllsJGZGMmPS1PcUMdd1kLw8v4HbZ4zM6y8pzmvKpZipYma5rVorIor/567yjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyv53fjzP5K; Wed, 11 Sep 2024 08:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iNVK007453; Wed, 11 Sep 2024 08:44:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iNP9007450; Wed, 11 Sep 2024 08:44:23 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:23 GMT Message-Id: <202409110844.48B8iNP9007450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3a00c673465f - stable/14 - dmar_qi_XXX_invalidate_glob(): reduce code duplication 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3a00c673465f347b2bd07d445c6f8108ff2b7ef0 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3a00c673465f347b2bd07d445c6f8108ff2b7ef0 commit 3a00c673465f347b2bd07d445c6f8108ff2b7ef0 Author: Konstantin Belousov AuthorDate: 2024-06-09 17:24:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 dmar_qi_XXX_invalidate_glob(): reduce code duplication (cherry picked from commit f776a2b849726e7b86735b2930be64f5a2edf731) --- sys/x86/iommu/intel_qi.c | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c index 3b7f64285c90..9c7cd1e99c86 100644 --- a/sys/x86/iommu/intel_qi.c +++ b/sys/x86/iommu/intel_qi.c @@ -195,14 +195,14 @@ dmar_qi_invalidate_emit(struct iommu_domain *idomain, iommu_gaddr_t base, iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), pseq, emit_wait); } -void -dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit) +static void +dmar_qi_invalidate_glob_impl(struct dmar_unit *unit, uint64_t data1) { struct iommu_qi_genseq gseq; DMAR_ASSERT_LOCKED(unit); dmar_qi_ensure(DMAR2IOMMU(unit), 2); - dmar_qi_emit(unit, DMAR_IQ_DESCR_CTX_INV | DMAR_IQ_DESCR_CTX_GLOB, 0); + dmar_qi_emit(unit, data1, 0); iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); /* See dmar_qi_invalidate_sync(). */ unit->x86c.inv_seq_waiters++; @@ -211,34 +211,24 @@ dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit) } void -dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit) +dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit) { - struct iommu_qi_genseq gseq; + dmar_qi_invalidate_glob_impl(unit, DMAR_IQ_DESCR_CTX_INV | + DMAR_IQ_DESCR_CTX_GLOB); +} - DMAR_ASSERT_LOCKED(unit); - dmar_qi_ensure(DMAR2IOMMU(unit), 2); - dmar_qi_emit(unit, DMAR_IQ_DESCR_IOTLB_INV | DMAR_IQ_DESCR_IOTLB_GLOB | - DMAR_IQ_DESCR_IOTLB_DW | DMAR_IQ_DESCR_IOTLB_DR, 0); - iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); - /* See dmar_qi_invalidate_sync(). */ - unit->x86c.inv_seq_waiters++; - dmar_qi_advance_tail(DMAR2IOMMU(unit)); - iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, false); +void +dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit) +{ + dmar_qi_invalidate_glob_impl(unit, DMAR_IQ_DESCR_IOTLB_INV | + DMAR_IQ_DESCR_IOTLB_GLOB | DMAR_IQ_DESCR_IOTLB_DW | + DMAR_IQ_DESCR_IOTLB_DR); } void dmar_qi_invalidate_iec_glob(struct dmar_unit *unit) { - struct iommu_qi_genseq gseq; - - DMAR_ASSERT_LOCKED(unit); - dmar_qi_ensure(DMAR2IOMMU(unit), 2); - dmar_qi_emit(unit, DMAR_IQ_DESCR_IEC_INV, 0); - iommu_qi_emit_wait_seq(DMAR2IOMMU(unit), &gseq, true); - /* See dmar_qi_invalidate_sync(). */ - unit->x86c.inv_seq_waiters++; - dmar_qi_advance_tail(DMAR2IOMMU(unit)); - iommu_qi_wait_for_seq(DMAR2IOMMU(unit), &gseq, false); + dmar_qi_invalidate_glob_impl(unit, DMAR_IQ_DESCR_IEC_INV); } void From nobody Wed Sep 11 08:44:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz46YqQz5W7k4; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz45b9Lz41Qv; Wed, 11 Sep 2024 08:44:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WMQUXSVVORzo230/yt1SEtx1AkUa/3tdDQxNf0k5dBQ=; b=hinnW+tQnE7tn3kdCi72XOdXifu/aVo7clryBNKE92WmjKFif+7FWfRmJ+ItyQiC1AUMrL RpycFKXSJ+8buno6L087v8LKh8A2Y8p+4sc17/Oppvk6qefBg3CHYo0wsXXBRzVBSXsQbt 8voQQ9Rc94UdRzCuWJKgwGUvUXmkEu+1TmHYU5jsEIROq8yvmX2UkpFGy98vPQdOqYqgHQ x7y3QzM3cf9lYH+jNtxFdaquGD9PN+z8sfbt+xpabB8id+rvGRcx9JERQbIPyYdcqkuqsc A9WvipUwqb3VEa4dSMV5jzvxPCoYdkvE9jbLsiNI6piLpG2mOfV8ppJggiLyAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044272; a=rsa-sha256; cv=none; b=VIGN0yovBYOJINm1OeY32aCFA07l8WitJrG3tj5EsalseJq43dfDOm5KBKSkgGO6fAmdLi NVvha6fmtHbamSHEGWpa8TKVS19mDYNwfh7znQaHPncj3QJ4hV7jn5D9Db9xV2K/gRzOek G7aXXnjEw1+d7JKJ6HlyP76gknnzGmMro7y6uR9XXXQci7JzvZR9ZjazP4VwlYYYfES60e Mt2+MGdrwZfLEQZvFURsFmp0MVVnPQ/4/QKB0NHJLRZPUOdbgiV2moFrCZZnU12TrH/bUb sXv48EhEyuyNgPRD1NSipZY0Zj0Z+cCX7korHLBCjWJbq1tLNO1XHafi54jL3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WMQUXSVVORzo230/yt1SEtx1AkUa/3tdDQxNf0k5dBQ=; b=NW6w9VxBGlho+uVXEogubSTPf0PRy9MazUG9o9Z/ILFcadEl5HVjUF8lezT+NrMfVfCifp ADHtb/zowZ8L4Af6EzeJgl8Wa1xA3uUGyP6DpTjSgthrK9LalYZQVpEWM1Q53J5ivntvZN pSTjXSAfl1qd1QYYcVN+8p2FAlv/Ytq9u5eD2ncbO/cA80EwG7n5OO89ikRu56Pk6czc3p 55eOldNzBwF2LyCeDAMt/3cJWffPDp0wCc1EnLZa5r/k+OwL3cWFnhMa/cLXLR0TKThpc5 I41Bhl3Cv/Ha/zAZ6O6Mk11drmR9G2WJ3KgdrvAy53DOvWdQIOVDV3hXX3DMrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz45CGWzP9k; Wed, 11 Sep 2024 08:44:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iWJa007881; Wed, 11 Sep 2024 08:44:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iWtT007878; Wed, 11 Sep 2024 08:44:32 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:32 GMT Message-Id: <202409110844.48B8iWtT007878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f279f9ec2923 - stable/14 - DMAR: move hw.iommu.dmar.{tbl_pagecnt,batch_coalesce} sysctls up one level 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f279f9ec29236d8517d2800f6d109a37d73c3143 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f279f9ec29236d8517d2800f6d109a37d73c3143 commit f279f9ec29236d8517d2800f6d109a37d73c3143 Author: Konstantin Belousov AuthorDate: 2024-08-23 21:10:14 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 DMAR: move hw.iommu.dmar.{tbl_pagecnt,batch_coalesce} sysctls up one level (cherry picked from commit 0386b2451592ec04e4cff826b698f978a45ab3e4) --- sys/x86/iommu/intel_ctx.c | 2 +- sys/x86/iommu/intel_dmar.h | 3 ++- sys/x86/iommu/intel_utils.c | 4 ---- sys/x86/iommu/iommu_utils.c | 9 +++++++-- sys/x86/iommu/x86_iommu.h | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 814a5a8c7105..9d2d607d11a6 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -878,7 +878,7 @@ dmar_domain_unload_emit_wait(struct dmar_domain *domain, if (TAILQ_NEXT(entry, dmamap_link) == NULL) return (true); - return (domain->batch_no++ % dmar_batch_coalesce == 0); + return (domain->batch_no++ % iommu_qi_batch_coalesce == 0); } void diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index c1e6c8f06f64..188e40dec36c 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -166,6 +166,8 @@ struct dmar_unit { #define DMAR_BARRIER_RMRR 0 #define DMAR_BARRIER_USEQ 1 +SYSCTL_DECL(_hw_iommu_dmar); + struct dmar_unit *dmar_find(device_t dev, bool verbose); struct dmar_unit *dmar_find_hpet(device_t dev, uint16_t *rid); struct dmar_unit *dmar_find_ioapic(u_int apic_id, uint16_t *rid); @@ -265,7 +267,6 @@ int dmar_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, bool edge, int dmar_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie); extern int haw; -extern int dmar_batch_coalesce; extern int dmar_rmrr_enable; static inline uint32_t diff --git a/sys/x86/iommu/intel_utils.c b/sys/x86/iommu/intel_utils.c index 7e15299c1bd3..1746bcdae8ed 100644 --- a/sys/x86/iommu/intel_utils.c +++ b/sys/x86/iommu/intel_utils.c @@ -508,7 +508,6 @@ dmar_barrier_exit(struct dmar_unit *dmar, u_int barrier_id) DMAR_UNLOCK(dmar); } -int dmar_batch_coalesce = 100; struct timespec dmar_hw_timeout = { .tv_sec = 0, .tv_nsec = 1000000 @@ -547,9 +546,6 @@ dmar_timeout_sysctl(SYSCTL_HANDLER_ARGS) return (error); } -SYSCTL_INT(_hw_iommu_dmar, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, - &dmar_batch_coalesce, 0, - "Number of qi batches between interrupt"); SYSCTL_PROC(_hw_iommu_dmar, OID_AUTO, timeout, CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0, dmar_timeout_sysctl, "QU", diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 645c7e15740a..5d22c6584ab7 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -181,9 +181,14 @@ int iommu_tbl_pagecnt; SYSCTL_NODE(_hw_iommu, OID_AUTO, dmar, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, ""); -SYSCTL_INT(_hw_iommu_dmar, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, +SYSCTL_INT(_hw_iommu, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, &iommu_tbl_pagecnt, 0, - "Count of pages used for DMAR pagetables"); + "Count of pages used for IOMMU pagetables"); + +int iommu_qi_batch_coalesce = 100; +SYSCTL_INT(_hw_iommu, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, + &iommu_qi_batch_coalesce, 0, + "Number of qi batches between interrupt"); static struct x86_iommu *x86_iommu; diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index b2caed550e35..210ce82c8f6d 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -55,9 +55,9 @@ void iommu_unmap_pgtbl(struct sf_buf *sf); extern iommu_haddr_t iommu_high; extern int iommu_tbl_pagecnt; +extern int iommu_qi_batch_coalesce; SYSCTL_DECL(_hw_iommu); -SYSCTL_DECL(_hw_iommu_dmar); struct x86_unit_common; From nobody Wed Sep 11 08:44:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyx0MV6z5W7pw; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyw6QhJz41ng; Wed, 11 Sep 2024 08:44:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMe+5rm1gPQ2hUSOIPna70/iLRuueSYe5xWzirCivok=; b=D/LP/NQwe8aX6c7pLdDsuFtjsdo8CorfUBdr+YWYB+/Kgs7Zwoy+wNrSBgwTeRB0HVaP4g vyHw+PlfOOdDxlisvhkt8nvORJi6vzqauhKZn/roF1IuiELlyMGKdGGYjkzb17t4N2YDti TXhPpl/IBAwpe20KglDAhTW9kNOymi3NRHBrrD3yB4JoNnkrNqI0iRUR20X1zMteRPMJ2V 70+03oIloDdkJG7JhaBipYGDmTM/QsDvlyZv0DL8DW5HNj/pEZSvC2M9/MUZQq9uWXrPZ3 28jPF08x3s1NppPVePOHg/aIQPXYKLvIquc3gwIv7/dGq/sRmBeDEwqJsChS0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044264; a=rsa-sha256; cv=none; b=orMitjEF86TsfNuRvivF3rcfnsZmyrTgFNv7Ln6l/wMcvsNJOt1x/R/MKX7+sZBeybWdJT SwGpv4UHcqDhrpLJYLASYtEz2lk3LUIOICWU/6c4lc+KP4py8cLK9hke0gtFDwmxUsuhpd ngRDFLioFx6XIxenaqoxQJlH0hmfl1CiUbwR+CgVxF2VMYNrCTrFiU930bH/vYPWZAa19b CAkcNv79qF6kd3c4P3hS5Ga6dID4L2Sqs/LfLcR0SvP6JQYoEfvN76zTvvsY67nR0ZwHYT S7MRD/+lpRXxiz/MvX/OlqqZ2WekV/UEbZ80C7iRAyIPvbFCKoKV4ui7K+qFPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMe+5rm1gPQ2hUSOIPna70/iLRuueSYe5xWzirCivok=; b=dC2/el2fuGLdeYW/w022UN3Nb15nTqLr5WKdIcKEpyC2chb+Y1vIW4Amqt+nyzwPhIt5il /4Psf2cBLKZGfpP8nFlW/JLEaaixpzXzx6+zIpaw+C6UUeqoP/f4H7FzsaAbXNySeRQson qMo8b0FuUhEWRLldUuncyazqyxGOoxEdhEJo3PeV6l/6q4f+n7ggk9Ho0CgWZyPy2uqdP/ k+8q9k3Po+Vl/Cr1L2ZILPReiBZtTdca/DQ/gHZg346NS+T4aXmDTtBfXke33Z1QQSu3l4 VKBKU5VYitQNJ2jSJ6JuO46X511hxt1F+HlpaWSVPUo9k3qLivkBoxVuvJapjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyw62ZGzPYH; Wed, 11 Sep 2024 08:44:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iOUX007497; Wed, 11 Sep 2024 08:44:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iO0H007494; Wed, 11 Sep 2024 08:44:24 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:24 GMT Message-Id: <202409110844.48B8iO0H007494@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d88d70096cd9 - stable/14 - dmar_qi_emit(): use atomic_store_64() when available List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d88d70096cd91b2a2085794bbc7d0dcb1965ed5e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d88d70096cd91b2a2085794bbc7d0dcb1965ed5e commit d88d70096cd91b2a2085794bbc7d0dcb1965ed5e Author: Konstantin Belousov AuthorDate: 2024-06-06 03:21:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 dmar_qi_emit(): use atomic_store_64() when available (cherry picked from commit b563be66998ddd9dbc83364c8b515398d984c140) --- sys/x86/iommu/intel_qi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c index 9c7cd1e99c86..d6ce6749e4d4 100644 --- a/sys/x86/iommu/intel_qi.c +++ b/sys/x86/iommu/intel_qi.c @@ -139,15 +139,25 @@ dmar_qi_emit(struct dmar_unit *unit, uint64_t data1, uint64_t data2) { DMAR_ASSERT_LOCKED(unit); +#ifdef __LP64__ + atomic_store_64((uint64_t *)(unit->x86c.inv_queue + + unit->x86c.inv_queue_tail), data1); +#else *(volatile uint64_t *)(unit->x86c.inv_queue + unit->x86c.inv_queue_tail) = data1; +#endif unit->x86c.inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; KASSERT(unit->x86c.inv_queue_tail <= unit->x86c.inv_queue_size, ("tail overflow 0x%x 0x%jx", unit->x86c.inv_queue_tail, (uintmax_t)unit->x86c.inv_queue_size)); unit->x86c.inv_queue_tail &= unit->x86c.inv_queue_size - 1; +#ifdef __LP64__ + atomic_store_64((uint64_t *)(unit->x86c.inv_queue + + unit->x86c.inv_queue_tail), data2); +#else *(volatile uint64_t *)(unit->x86c.inv_queue + unit->x86c.inv_queue_tail) = data2; +#endif unit->x86c.inv_queue_tail += DMAR_IQ_DESCR_SZ / 2; KASSERT(unit->x86c.inv_queue_tail <= unit->x86c.inv_queue_size, ("tail overflow 0x%x 0x%jx", unit->x86c.inv_queue_tail, From nobody Wed Sep 11 08:44:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyy1KvMz5W7py; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyy0HB0z41Nk; Wed, 11 Sep 2024 08:44:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+YxKgxPF8VCRRT4r4lUF22AKsE+DQknGl8nXjf78Fc=; b=aK/J5LarBuKARxkpkiQ4uZI0s6YFxKAvSD1QFJor6WnZqvo/DYqdppEVT/7J7RNzIl2KzR E4DrAvPhL5ZkHWN/9loap1WLULgl5NcKWQHd8wpOoNV0uNBhi9M4f8iO0hkRNqZmbM3BcG IsfgmNFv2noMV+v0nrTIRA2QpcECvTdhMifPahqa+DZyVD+iPugYPBXkPF00cuT4GA8MxO XwwxwCVTHkxBAX7UNgRafvFLMiIBl9VBW4uH2pgu/MioV8s5OjdmhehQiw0SfEzN30wZtI waQ6DTFKHCipHXv0iw+QbQVNiwFF5eshNXBS+1T3nmQh+C7NTuiyQWK73t962g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044266; a=rsa-sha256; cv=none; b=s4IgKFxArJuRzwDewkvKJ9BhV3VZ/r2X8eUjROASTqzkduuhT4206Mj0X0ydKweEtA3pNC EdnLBBOIpEw3Yz1ykwTQ/HCfW4rYAsZzVaJsW2ALSFZWvqgjJ4xacel9COSzmtW1b8+4qx LxLMS3LAwEkdu45Oi/xMQSzH/xr+UkKPOWUP0VHJnSMcCykg7jihZqDC+KJN+KbGClz3ng 1xIQi0X1kh6MZCGNv5HdyEg32TOH1vwwfi6FR4uJPWlc7HH3t5D27G72uz+TGZCbFlZuzi ZGLasRVAZFAiuInc+rEMBIcWSydfh21bHDAQmsYN3gaVwC4PmvSXNz91x+AXBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+YxKgxPF8VCRRT4r4lUF22AKsE+DQknGl8nXjf78Fc=; b=OLqI2ylRE6MAWL5JJ1SIuC/W3aC7w4yJUgWYAbqM7u1phB3u8wSCFzPjrTAYwCFZbDcuXv n59UaK2HfJ9euTMfkv5mmyyBHlrgYba1BGNjn/xvtgpWEyAVU8K/OwMQ5iOTSNG/EXWKnK zjrEjylobLjXfFricOPTiLIXdD2hLsxfzumfL0gANGmkwKiElWVaIUtRoqEcF+13e0sXFZ 776LgqsdpisCFAd1Vh1g71arXPCC1gWNM/EEN0p0meltMy+5PFUmDkdX0NvVA6uqBXBvC7 PLudSKE+l+TURn/WPDhZHqo193hsiXbkWD4f7/4EXKEC0MNEWvU2zAY7AVq3BQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyx71WzzPMg; Wed, 11 Sep 2024 08:44:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iPXb007539; Wed, 11 Sep 2024 08:44:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iPEa007536; Wed, 11 Sep 2024 08:44:25 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:25 GMT Message-Id: <202409110844.48B8iPEa007536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 93865104f762 - stable/14 - DMAR: rename domain_{alloc,free}_pgtbl to domain_domain_$1_pgtbl 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 93865104f7620542fadb2f43baa6f50b3ecd4946 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=93865104f7620542fadb2f43baa6f50b3ecd4946 commit 93865104f7620542fadb2f43baa6f50b3ecd4946 Author: Konstantin Belousov AuthorDate: 2024-06-30 03:52:52 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 DMAR: rename domain_{alloc,free}_pgtbl to domain_domain_$1_pgtbl (cherry picked from commit 23145534154c279e3e8cbcd17d155f7ee67d8aa9) --- sys/x86/iommu/intel_ctx.c | 4 ++-- sys/x86/iommu/intel_dmar.h | 4 ++-- sys/x86/iommu/intel_idpgtbl.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 62e4e17e5d9b..082c05ff4c83 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -425,7 +425,7 @@ dmar_domain_alloc(struct dmar_unit *dmar, bool id_mapped) } domain->iodom.flags |= IOMMU_DOMAIN_IDMAP; } else { - error = domain_alloc_pgtbl(domain); + error = dmar_domain_alloc_pgtbl(domain); if (error != 0) goto fail; /* Disable local apic region access */ @@ -511,7 +511,7 @@ dmar_domain_destroy(struct dmar_domain *domain) if ((domain->iodom.flags & IOMMU_DOMAIN_PGTBL_INITED) != 0) { if (domain->pgtbl_obj != NULL) DMAR_DOMAIN_PGLOCK(domain); - domain_free_pgtbl(domain); + dmar_domain_free_pgtbl(domain); } iommu_domain_fini(iodom); dmar = DOM2DMAR(domain); diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index 8a815d5cfca6..7b4a7900fa25 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -240,8 +240,8 @@ vm_object_t domain_get_idmap_pgtbl(struct dmar_domain *domain, void put_idmap_pgtbl(vm_object_t obj); void domain_flush_iotlb_sync(struct dmar_domain *domain, iommu_gaddr_t base, iommu_gaddr_t size); -int domain_alloc_pgtbl(struct dmar_domain *domain); -void domain_free_pgtbl(struct dmar_domain *domain); +int dmar_domain_alloc_pgtbl(struct dmar_domain *domain); +void dmar_domain_free_pgtbl(struct dmar_domain *domain); extern const struct iommu_domain_map_ops dmar_domain_map_ops; int dmar_dev_depth(device_t child); diff --git a/sys/x86/iommu/intel_idpgtbl.c b/sys/x86/iommu/intel_idpgtbl.c index deee50858dd2..79e184035b23 100644 --- a/sys/x86/iommu/intel_idpgtbl.c +++ b/sys/x86/iommu/intel_idpgtbl.c @@ -697,7 +697,7 @@ domain_unmap_buf(struct iommu_domain *iodom, iommu_gaddr_t base, } int -domain_alloc_pgtbl(struct dmar_domain *domain) +dmar_domain_alloc_pgtbl(struct dmar_domain *domain) { vm_page_t m; @@ -719,7 +719,7 @@ domain_alloc_pgtbl(struct dmar_domain *domain) } void -domain_free_pgtbl(struct dmar_domain *domain) +dmar_domain_free_pgtbl(struct dmar_domain *domain) { vm_object_t obj; vm_page_t m; From nobody Wed Sep 11 08:44:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz02bRJz5W7gn; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz01j76z41ly; Wed, 11 Sep 2024 08:44:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8rL9J3Kk6ZOd+5gG8vhTwGrzvEB0/2Cx4pTF2Rsfs4=; b=WmlU0lXMoryNHzoht3v1PMt/ZmKL8W8ryAKj66J4CHs6npRK0itLH71CGtyk815k7jtS9u kbGE+RtTQvc4qIk3sB4lJ4Y1Q6VETZo6vchv4RPFpDS+WQMED/BULx8zTDu9llFzC2W/rK OL2HWiABvwerrfJT+Gux7s1iATqct56bYfIoAdIpRLflHRdMoDSnUDpuUbOfd2UcsCRnGL JzXYxfyvYFg2G39pIUe3XLNGG/2VUGCZg3IantzTU8xUPf84MNhokKc9iA7dsi2fWO6mc8 AnfNMcdmTwn/sm1csJPxMYkj3Eg/03f+0XS9o+9YAD4UPw1CDKfSJFW4kLEzQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044268; a=rsa-sha256; cv=none; b=Bfz8R032muOPSZCLtt70li8PemvcktTZtnq5cyd8oVwkhd8pDUQQh4mJPYFBEGafWCuuWL 41eSIk8VlgHGdtl0iHWbcyvJwmtFr2PdiGJ11/CcGtPSsKOqM3UglN5cS4Oa9x814Xyt9e thJLyfstmrczgfonRKCk/OpRPofMCO5Sh5ba7RQKC6Rs3vYD447usgwiVXqkzxPehQICep /8EJyHvbkAoWGfX2Sx7fzcoTwhEREYro27UJrS2vB7uzdUk2ae/HKAe7VI4aEATDAyqfaf 2kZ9NQCa5NwHAUcxSlJnb7fdV/sPbO465uGV8/2/BV2Vw20KUfJCEIKn+tE8cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8rL9J3Kk6ZOd+5gG8vhTwGrzvEB0/2Cx4pTF2Rsfs4=; b=XYWiPOUlurcAfymO6hw4GnoTaFCFqmu3f0Zrd/klKhALDsyLrIH3e/jdX5k25iGjS7q3iO T5nCnVqatiljzBtmf1hkGh+A/K63mBNIdyDrMdoJcXxZqLL2EvFT32dMVgrkc0kuKZeAG1 5glx+aIgBh5oZ0YelG4VBFGBh9UvoaP3O1e3/0TauvjGAUsKRgXJfU/NAk8VCDDBrtpkgu U8HrguS2GXmrvCJTMAN+8tj42fxj0hTXExgOsRenB6RUO/cr5By0k6w4XOEzUhB5BBi71c /CJAwsJRMK/I5l1KHKOew4A0Vvj0Kg9DTzn0wGWlNkoVYcjVwTOIpvMHwWYodA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz01HyKzPbB; Wed, 11 Sep 2024 08:44:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iSrL007670; Wed, 11 Sep 2024 08:44:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iShF007667; Wed, 11 Sep 2024 08:44:28 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:28 GMT Message-Id: <202409110844.48B8iShF007667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2a6982e2643f - stable/14 - x86 iommu: move DMAR-independent parts of the interrupt setup code into common 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2a6982e2643fdb3f1c122f0260107afdbf51bc67 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2a6982e2643fdb3f1c122f0260107afdbf51bc67 commit 2a6982e2643fdb3f1c122f0260107afdbf51bc67 Author: Konstantin Belousov AuthorDate: 2024-06-09 19:36:10 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 x86 iommu: move DMAR-independent parts of the interrupt setup code into common (cherry picked from commit 5967352a923efe6676bdf794d6b73f7354719a43) --- sys/x86/iommu/intel_dmar.h | 24 ++----- sys/x86/iommu/intel_drv.c | 151 ++++++++++++-------------------------------- sys/x86/iommu/intel_fault.c | 16 +++-- sys/x86/iommu/intel_qi.c | 14 ++-- sys/x86/iommu/iommu_utils.c | 105 ++++++++++++++++++++++++++++++ sys/x86/iommu/x86_iommu.h | 23 +++++++ 6 files changed, 193 insertions(+), 140 deletions(-) diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index 7b4a7900fa25..0242e0cb954f 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -103,20 +103,6 @@ struct dmar_ctx { #define CTX2DMAR(ctx) (CTX2DOM(ctx)->dmar) #define DOM2DMAR(domain) ((domain)->dmar) -struct dmar_msi_data { - int irq; - int irq_rid; - struct resource *irq_res; - void *intr_handle; - int (*handler)(void *); - int msi_data_reg; - int msi_addr_reg; - int msi_uaddr_reg; - void (*enable_intr)(struct dmar_unit *); - void (*disable_intr)(struct dmar_unit *); - const char *name; -}; - #define DMAR_INTR_FAULT 0 #define DMAR_INTR_QI 1 #define DMAR_INTR_TOTAL 2 @@ -131,8 +117,6 @@ struct dmar_unit { int reg_rid; struct resource *regs; - struct dmar_msi_data intrs[DMAR_INTR_TOTAL]; - /* Hardware registers cache */ uint32_t hw_ver; uint64_t hw_cap; @@ -216,14 +200,14 @@ uint64_t dmar_get_timeout(void); void dmar_update_timeout(uint64_t newval); int dmar_fault_intr(void *arg); -void dmar_enable_fault_intr(struct dmar_unit *unit); -void dmar_disable_fault_intr(struct dmar_unit *unit); +void dmar_enable_fault_intr(struct iommu_unit *unit); +void dmar_disable_fault_intr(struct iommu_unit *unit); int dmar_init_fault_log(struct dmar_unit *unit); void dmar_fini_fault_log(struct dmar_unit *unit); int dmar_qi_intr(void *arg); -void dmar_enable_qi_intr(struct dmar_unit *unit); -void dmar_disable_qi_intr(struct dmar_unit *unit); +void dmar_enable_qi_intr(struct iommu_unit *unit); +void dmar_disable_qi_intr(struct iommu_unit *unit); int dmar_init_qi(struct dmar_unit *unit); void dmar_fini_qi(struct dmar_unit *unit); void dmar_qi_invalidate_locked(struct dmar_domain *domain, diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index 66d99748888f..2439ef9e4ef5 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -230,22 +230,6 @@ dmar_probe(device_t dev) return (BUS_PROBE_NOWILDCARD); } -static void -dmar_release_intr(device_t dev, struct dmar_unit *unit, int idx) -{ - struct dmar_msi_data *dmd; - - dmd = &unit->intrs[idx]; - if (dmd->irq == -1) - return; - bus_teardown_intr(dev, dmd->irq_res, dmd->intr_handle); - bus_release_resource(dev, SYS_RES_IRQ, dmd->irq_rid, dmd->irq_res); - bus_delete_resource(dev, SYS_RES_IRQ, dmd->irq_rid); - PCIB_RELEASE_MSIX(device_get_parent(device_get_parent(dev)), - dev, dmd->irq); - dmd->irq = -1; -} - static void dmar_release_resources(device_t dev, struct dmar_unit *unit) { @@ -256,7 +240,7 @@ dmar_release_resources(device_t dev, struct dmar_unit *unit) dmar_fini_qi(unit); dmar_fini_fault_log(unit); for (i = 0; i < DMAR_INTR_TOTAL; i++) - dmar_release_intr(dev, unit, i); + iommu_release_intr(DMAR2IOMMU(unit), i); if (unit->regs != NULL) { bus_deactivate_resource(dev, SYS_RES_MEMORY, unit->reg_rid, unit->regs); @@ -274,84 +258,19 @@ dmar_release_resources(device_t dev, struct dmar_unit *unit) } } -static int -dmar_alloc_irq(device_t dev, struct dmar_unit *unit, int idx) -{ - device_t pcib; - struct dmar_msi_data *dmd; - uint64_t msi_addr; - uint32_t msi_data; - int error; - - dmd = &unit->intrs[idx]; - pcib = device_get_parent(device_get_parent(dev)); /* Really not pcib */ - error = PCIB_ALLOC_MSIX(pcib, dev, &dmd->irq); - if (error != 0) { - device_printf(dev, "cannot allocate %s interrupt, %d\n", - dmd->name, error); - goto err1; - } - error = bus_set_resource(dev, SYS_RES_IRQ, dmd->irq_rid, - dmd->irq, 1); - if (error != 0) { - device_printf(dev, "cannot set %s interrupt resource, %d\n", - dmd->name, error); - goto err2; - } - dmd->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &dmd->irq_rid, RF_ACTIVE); - if (dmd->irq_res == NULL) { - device_printf(dev, - "cannot allocate resource for %s interrupt\n", dmd->name); - error = ENXIO; - goto err3; - } - error = bus_setup_intr(dev, dmd->irq_res, INTR_TYPE_MISC, - dmd->handler, NULL, unit, &dmd->intr_handle); - if (error != 0) { - device_printf(dev, "cannot setup %s interrupt, %d\n", - dmd->name, error); - goto err4; - } - bus_describe_intr(dev, dmd->irq_res, dmd->intr_handle, "%s", dmd->name); - error = PCIB_MAP_MSI(pcib, dev, dmd->irq, &msi_addr, &msi_data); - if (error != 0) { - device_printf(dev, "cannot map %s interrupt, %d\n", - dmd->name, error); - goto err5; - } - dmar_write4(unit, dmd->msi_data_reg, msi_data); - dmar_write4(unit, dmd->msi_addr_reg, msi_addr); - /* Only for xAPIC mode */ - dmar_write4(unit, dmd->msi_uaddr_reg, msi_addr >> 32); - return (0); - -err5: - bus_teardown_intr(dev, dmd->irq_res, dmd->intr_handle); -err4: - bus_release_resource(dev, SYS_RES_IRQ, dmd->irq_rid, dmd->irq_res); -err3: - bus_delete_resource(dev, SYS_RES_IRQ, dmd->irq_rid); -err2: - PCIB_RELEASE_MSIX(pcib, dev, dmd->irq); - dmd->irq = -1; -err1: - return (error); -} - #ifdef DEV_APIC static int dmar_remap_intr(device_t dev, device_t child, u_int irq) { struct dmar_unit *unit; - struct dmar_msi_data *dmd; + struct iommu_msi_data *dmd; uint64_t msi_addr; uint32_t msi_data; int i, error; unit = device_get_softc(dev); for (i = 0; i < DMAR_INTR_TOTAL; i++) { - dmd = &unit->intrs[i]; + dmd = &unit->x86c.intrs[i]; if (irq == dmd->irq) { error = PCIB_MAP_MSI(device_get_parent( device_get_parent(dev)), @@ -359,11 +278,14 @@ dmar_remap_intr(device_t dev, device_t child, u_int irq) if (error != 0) return (error); DMAR_LOCK(unit); - (dmd->disable_intr)(unit); - dmar_write4(unit, dmd->msi_data_reg, msi_data); - dmar_write4(unit, dmd->msi_addr_reg, msi_addr); - dmar_write4(unit, dmd->msi_uaddr_reg, msi_addr >> 32); - (dmd->enable_intr)(unit); + dmd->msi_data = msi_data; + dmd->msi_addr = msi_addr; + (dmd->disable_intr)(DMAR2IOMMU(unit)); + dmar_write4(unit, dmd->msi_data_reg, dmd->msi_data); + dmar_write4(unit, dmd->msi_addr_reg, dmd->msi_addr); + dmar_write4(unit, dmd->msi_uaddr_reg, + dmd->msi_addr >> 32); + (dmd->enable_intr)(DMAR2IOMMU(unit)); DMAR_UNLOCK(unit); return (0); } @@ -407,6 +329,7 @@ dmar_attach(device_t dev) { struct dmar_unit *unit; ACPI_DMAR_HARDWARE_UNIT *dmaru; + struct iommu_msi_data *dmd; uint64_t timeout; int disable_pmr; int i, error; @@ -439,37 +362,47 @@ dmar_attach(device_t dev) dmar_update_timeout(timeout); for (i = 0; i < DMAR_INTR_TOTAL; i++) - unit->intrs[i].irq = -1; - - unit->intrs[DMAR_INTR_FAULT].name = "fault"; - unit->intrs[DMAR_INTR_FAULT].irq_rid = DMAR_FAULT_IRQ_RID; - unit->intrs[DMAR_INTR_FAULT].handler = dmar_fault_intr; - unit->intrs[DMAR_INTR_FAULT].msi_data_reg = DMAR_FEDATA_REG; - unit->intrs[DMAR_INTR_FAULT].msi_addr_reg = DMAR_FEADDR_REG; - unit->intrs[DMAR_INTR_FAULT].msi_uaddr_reg = DMAR_FEUADDR_REG; - unit->intrs[DMAR_INTR_FAULT].enable_intr = dmar_enable_fault_intr; - unit->intrs[DMAR_INTR_FAULT].disable_intr = dmar_disable_fault_intr; - error = dmar_alloc_irq(dev, unit, DMAR_INTR_FAULT); + unit->x86c.intrs[i].irq = -1; + + dmd = &unit->x86c.intrs[DMAR_INTR_FAULT]; + dmd->name = "fault"; + dmd->irq_rid = DMAR_FAULT_IRQ_RID; + dmd->handler = dmar_fault_intr; + dmd->msi_data_reg = DMAR_FEDATA_REG; + dmd->msi_addr_reg = DMAR_FEADDR_REG; + dmd->msi_uaddr_reg = DMAR_FEUADDR_REG; + dmd->enable_intr = dmar_enable_fault_intr; + dmd->disable_intr = dmar_disable_fault_intr; + error = iommu_alloc_irq(DMAR2IOMMU(unit), DMAR_INTR_FAULT); if (error != 0) { dmar_release_resources(dev, unit); dmar_devs[unit->iommu.unit] = NULL; return (error); } + dmar_write4(unit, dmd->msi_data_reg, dmd->msi_data); + dmar_write4(unit, dmd->msi_addr_reg, dmd->msi_addr); + dmar_write4(unit, dmd->msi_uaddr_reg, dmd->msi_addr >> 32); + if (DMAR_HAS_QI(unit)) { - unit->intrs[DMAR_INTR_QI].name = "qi"; - unit->intrs[DMAR_INTR_QI].irq_rid = DMAR_QI_IRQ_RID; - unit->intrs[DMAR_INTR_QI].handler = dmar_qi_intr; - unit->intrs[DMAR_INTR_QI].msi_data_reg = DMAR_IEDATA_REG; - unit->intrs[DMAR_INTR_QI].msi_addr_reg = DMAR_IEADDR_REG; - unit->intrs[DMAR_INTR_QI].msi_uaddr_reg = DMAR_IEUADDR_REG; - unit->intrs[DMAR_INTR_QI].enable_intr = dmar_enable_qi_intr; - unit->intrs[DMAR_INTR_QI].disable_intr = dmar_disable_qi_intr; - error = dmar_alloc_irq(dev, unit, DMAR_INTR_QI); + dmd = &unit->x86c.intrs[DMAR_INTR_QI]; + dmd->name = "qi"; + dmd->irq_rid = DMAR_QI_IRQ_RID; + dmd->handler = dmar_qi_intr; + dmd->msi_data_reg = DMAR_IEDATA_REG; + dmd->msi_addr_reg = DMAR_IEADDR_REG; + dmd->msi_uaddr_reg = DMAR_IEUADDR_REG; + dmd->enable_intr = dmar_enable_qi_intr; + dmd->disable_intr = dmar_disable_qi_intr; + error = iommu_alloc_irq(DMAR2IOMMU(unit), DMAR_INTR_QI); if (error != 0) { dmar_release_resources(dev, unit); dmar_devs[unit->iommu.unit] = NULL; return (error); } + + dmar_write4(unit, dmd->msi_data_reg, dmd->msi_data); + dmar_write4(unit, dmd->msi_addr_reg, dmd->msi_addr); + dmar_write4(unit, dmd->msi_uaddr_reg, dmd->msi_addr >> 32); } mtx_init(&unit->iommu.lock, "dmarhw", NULL, MTX_DEF); diff --git a/sys/x86/iommu/intel_fault.c b/sys/x86/iommu/intel_fault.c index 59b482720cf1..1064165ea5d7 100644 --- a/sys/x86/iommu/intel_fault.c +++ b/sys/x86/iommu/intel_fault.c @@ -127,7 +127,7 @@ dmar_fault_intr(void *arg) int fri, frir, faultp; bool enqueue; - unit = arg; + unit = IOMMU2DMAR((struct iommu_unit *)arg); enqueue = false; fsts = dmar_read4(unit, DMAR_FSTS_REG); dmar_fault_intr_clear(unit, fsts); @@ -276,9 +276,9 @@ dmar_init_fault_log(struct dmar_unit *unit) "dmar%d fault taskq", unit->iommu.unit); DMAR_LOCK(unit); - dmar_disable_fault_intr(unit); + dmar_disable_fault_intr(&unit->iommu); dmar_clear_faults(unit); - dmar_enable_fault_intr(unit); + dmar_enable_fault_intr(&unit->iommu); DMAR_UNLOCK(unit); return (0); @@ -292,7 +292,7 @@ dmar_fini_fault_log(struct dmar_unit *unit) return; DMAR_LOCK(unit); - dmar_disable_fault_intr(unit); + dmar_disable_fault_intr(&unit->iommu); DMAR_UNLOCK(unit); taskqueue_drain(unit->fault_taskqueue, &unit->fault_task); @@ -306,10 +306,12 @@ dmar_fini_fault_log(struct dmar_unit *unit) } void -dmar_enable_fault_intr(struct dmar_unit *unit) +dmar_enable_fault_intr(struct iommu_unit *iommu) { + struct dmar_unit *unit; uint32_t fectl; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); fectl = dmar_read4(unit, DMAR_FECTL_REG); fectl &= ~DMAR_FECTL_IM; @@ -317,10 +319,12 @@ dmar_enable_fault_intr(struct dmar_unit *unit) } void -dmar_disable_fault_intr(struct dmar_unit *unit) +dmar_disable_fault_intr(struct iommu_unit *iommu) { + struct dmar_unit *unit; uint32_t fectl; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); fectl = dmar_read4(unit, DMAR_FECTL_REG); dmar_write4(unit, DMAR_FECTL_REG, fectl | DMAR_FECTL_IM); diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c index d6ce6749e4d4..a4939e337289 100644 --- a/sys/x86/iommu/intel_qi.c +++ b/sys/x86/iommu/intel_qi.c @@ -293,7 +293,7 @@ dmar_qi_intr(void *arg) { struct dmar_unit *unit; - unit = arg; + unit = IOMMU2DMAR((struct iommu_unit *)arg); KASSERT(unit->qi_enabled, ("dmar%d: QI is not enabled", unit->iommu.unit)); taskqueue_enqueue(unit->x86c.qi_taskqueue, &unit->x86c.qi_task); @@ -379,7 +379,7 @@ dmar_init_qi(struct dmar_unit *unit) ics = DMAR_ICS_IWC; dmar_write4(unit, DMAR_ICS_REG, ics); } - dmar_enable_qi_intr(unit); + dmar_enable_qi_intr(DMAR2IOMMU(unit)); DMAR_UNLOCK(unit); return (0); @@ -388,7 +388,7 @@ dmar_init_qi(struct dmar_unit *unit) static void dmar_fini_qi_helper(struct iommu_unit *iommu) { - dmar_disable_qi_intr(IOMMU2DMAR(iommu)); + dmar_disable_qi_intr(iommu); dmar_disable_qi(IOMMU2DMAR(iommu)); } @@ -402,10 +402,12 @@ dmar_fini_qi(struct dmar_unit *unit) } void -dmar_enable_qi_intr(struct dmar_unit *unit) +dmar_enable_qi_intr(struct iommu_unit *iommu) { + struct dmar_unit *unit; uint32_t iectl; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); KASSERT(DMAR_HAS_QI(unit), ("dmar%d: QI is not supported", unit->iommu.unit)); @@ -415,10 +417,12 @@ dmar_enable_qi_intr(struct dmar_unit *unit) } void -dmar_disable_qi_intr(struct dmar_unit *unit) +dmar_disable_qi_intr(struct iommu_unit *iommu) { + struct dmar_unit *unit; uint32_t iectl; + unit = IOMMU2DMAR(iommu); DMAR_ASSERT_LOCKED(unit); KASSERT(DMAR_HAS_QI(unit), ("dmar%d: QI is not supported", unit->iommu.unit)); diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 571e5a2e65cd..04d42799310e 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -28,7 +28,15 @@ * SUCH DAMAGE. */ +#include "opt_acpi.h" +#if defined(__amd64__) +#define DEV_APIC +#else +#include "opt_apic.h" +#endif + #include +#include #include #include #include @@ -38,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -56,6 +66,12 @@ #include #include #include +#ifdef DEV_APIC +#include "pcib_if.h" +#include +#include +#include +#endif vm_page_t iommu_pgalloc(vm_object_t obj, vm_pindex_t idx, int flags) @@ -483,3 +499,92 @@ iommu_qi_common_fini(struct iommu_unit *unit, void (*disable_qi)( x86c->inv_queue = NULL; x86c->inv_queue_size = 0; } + +int +iommu_alloc_irq(struct iommu_unit *unit, int idx) +{ + device_t dev, pcib; + struct iommu_msi_data *dmd; + uint64_t msi_addr; + uint32_t msi_data; + int error; + + MPASS(idx >= 0 || idx < IOMMU_MAX_MSI); + + dev = unit->dev; + dmd = &IOMMU2X86C(unit)->intrs[idx]; + pcib = device_get_parent(device_get_parent(dev)); /* Really not pcib */ + error = PCIB_ALLOC_MSIX(pcib, dev, &dmd->irq); + if (error != 0) { + device_printf(dev, "cannot allocate %s interrupt, %d\n", + dmd->name, error); + goto err1; + } + error = bus_set_resource(dev, SYS_RES_IRQ, dmd->irq_rid, + dmd->irq, 1); + if (error != 0) { + device_printf(dev, "cannot set %s interrupt resource, %d\n", + dmd->name, error); + goto err2; + } + dmd->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &dmd->irq_rid, RF_ACTIVE); + if (dmd->irq_res == NULL) { + device_printf(dev, + "cannot allocate resource for %s interrupt\n", dmd->name); + error = ENXIO; + goto err3; + } + error = bus_setup_intr(dev, dmd->irq_res, INTR_TYPE_MISC, + dmd->handler, NULL, unit, &dmd->intr_handle); + if (error != 0) { + device_printf(dev, "cannot setup %s interrupt, %d\n", + dmd->name, error); + goto err4; + } + bus_describe_intr(dev, dmd->irq_res, dmd->intr_handle, "%s", dmd->name); + error = PCIB_MAP_MSI(pcib, dev, dmd->irq, &msi_addr, &msi_data); + if (error != 0) { + device_printf(dev, "cannot map %s interrupt, %d\n", + dmd->name, error); + goto err5; + } + + dmd->msi_data = msi_data; + dmd->msi_addr = msi_addr; + + return (0); + +err5: + bus_teardown_intr(dev, dmd->irq_res, dmd->intr_handle); +err4: + bus_release_resource(dev, SYS_RES_IRQ, dmd->irq_rid, dmd->irq_res); +err3: + bus_delete_resource(dev, SYS_RES_IRQ, dmd->irq_rid); +err2: + PCIB_RELEASE_MSIX(pcib, dev, dmd->irq); + dmd->irq = -1; +err1: + return (error); +} + +void +iommu_release_intr(struct iommu_unit *unit, int idx) +{ + device_t dev; + struct iommu_msi_data *dmd; + + MPASS(idx >= 0 || idx < IOMMU_MAX_MSI); + + dmd = &IOMMU2X86C(unit)->intrs[idx]; + if (dmd->handler == NULL || dmd->irq == -1) + return; + dev = unit->dev; + + bus_teardown_intr(dev, dmd->irq_res, dmd->intr_handle); + bus_release_resource(dev, SYS_RES_IRQ, dmd->irq_rid, dmd->irq_res); + bus_delete_resource(dev, SYS_RES_IRQ, dmd->irq_rid); + PCIB_RELEASE_MSIX(device_get_parent(device_get_parent(dev)), + dev, dmd->irq); + dmd->irq = -1; +} diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 966a13c19b6e..d6e3ea56bd2c 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -93,6 +93,24 @@ struct x86_iommu { void set_x86_iommu(struct x86_iommu *); struct x86_iommu *get_x86_iommu(void); +struct iommu_msi_data { + int irq; + int irq_rid; + struct resource *irq_res; + void *intr_handle; + int (*handler)(void *); + int msi_data_reg; + int msi_addr_reg; + int msi_uaddr_reg; + uint64_t msi_addr; + uint32_t msi_data; + void (*enable_intr)(struct iommu_unit *); + void (*disable_intr)(struct iommu_unit *); + const char *name; +}; + +#define IOMMU_MAX_MSI 3 + struct x86_unit_common { uint32_t qi_buf_maxsz; uint32_t qi_cmd_sz; @@ -145,6 +163,8 @@ struct x86_unit_common { struct iommu_map_entry *tlb_flush_tail; struct task qi_task; struct taskqueue *qi_taskqueue; + + struct iommu_msi_data intrs[IOMMU_MAX_MSI]; }; void iommu_qi_emit_wait_seq(struct iommu_unit *unit, struct iommu_qi_genseq * @@ -160,4 +180,7 @@ void iommu_qi_common_init(struct iommu_unit *unit, task_fn_t taskfunc); void iommu_qi_common_fini(struct iommu_unit *unit, void (*disable_qi)( struct iommu_unit *)); +int iommu_alloc_irq(struct iommu_unit *unit, int idx); +void iommu_release_intr(struct iommu_unit *unit, int idx); + #endif From nobody Wed Sep 11 08:44:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz25sYdz5W7gp; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz23Zbdz41g3; Wed, 11 Sep 2024 08:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gjp7VwbMcKrl+iuuMiOwexe1VtX47IvevKA/aFRVn0I=; b=wEavmPYGaCLttZscYOaodrWd5JBvt90GifWXOJfACgo29SE/+6kZLbSDd9kkbadPIq3mnz s6jTSv8T3G8R/NzlxRJLYbJSXbKQAm66A91p7N2U4SRLaq1dYjnorBwMfuA4nP1t4d37OC UiMK3LIpB3KpYlfpZTgB3K8NXxThFkFTI47rr2cYdjQaxH4VjeR70IaP0qiN6/w/GUd/fh JdQzAIqYXmpC8eLxQm/R7SWnP211vlOquZhV92J/E8mS/eA9vKG0omrFrHL6ldYKO8+GoL DCxj3iPyoOdeY/F/2qrsM28CGn/2QqcoXct7P+0vL0gzsbDukIlXYM5bpl/FEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044270; a=rsa-sha256; cv=none; b=sscjXC1ZJjgGpm/B+yWXyY0XHTPaGAVxSMVpRtC5C0XMSrYQkjxOuK+gmC+Uhaye5owfzM Tn7Cd1FNSHZeskgsXNJQk6Scw7WeCQpDbN2lS5DBtKV1jT+QaGEhYcxU+MwHZ9xZ0wSuy2 dpIJXkTnG0BxDbJ6bWvJKSvm8nwDUrPOyK3rRxk5NBLM+nyLOUlJlcoLozMSqw/2LTYHfZ ASz6UP6mEpCHa7q70y+/brjTn3A8qoTEltVZNiCdNn8/N09A/YIZIL7GA21Gk3t4+Etbf2 EFRFakHMc1hpH1AfGDS/tG5lLC+1oxJspYRb66J8Eu+GbkAocNhZhsaSd5g8WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gjp7VwbMcKrl+iuuMiOwexe1VtX47IvevKA/aFRVn0I=; b=mgqVHBi1DyhFIuv5VF9cHA6W54gbww+9MiPNQplPmodixdk/R91d44Un5a/CpJcOvw+/xH cBeetSDbm0u0WXtVo0/GF7+ihj2jvtYqgIg/W85uHUitkOpDwbdEKwEqcKI7flha2qJvJ5 LHwWS0OerfP/YpkvALXMu6kr/UF29otmXZH3S1+lCC+PrknNb+0MnUVvCIZmu6XRo87MBO KyKPMoPAYwcePQ+XEsHlAKvIrKdWnKhMts4aUKSZRG0QA99h8KKzQQnhgrQV//wXm9Dfob wz88xerpOfpsoY2TOcICNJh+kDh/YFIwHbI/fYAhQHJrQ/6x/dyqR3Is9WY88Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz23CNzzP9j; Wed, 11 Sep 2024 08:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iULi007762; Wed, 11 Sep 2024 08:44:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iUlX007759; Wed, 11 Sep 2024 08:44:30 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:30 GMT Message-Id: <202409110844.48B8iUlX007759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c7447c45fb00 - stable/14 - x86 dmar: generalize dmar_domain_free_entry() into iommu_domain_free_entry() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c7447c45fb00cfd06b639d9b78f7b5b7ab79520c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c7447c45fb00cfd06b639d9b78f7b5b7ab79520c commit c7447c45fb00cfd06b639d9b78f7b5b7ab79520c Author: Konstantin Belousov AuthorDate: 2024-07-07 03:22:00 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 x86 dmar: generalize dmar_domain_free_entry() into iommu_domain_free_entry() (cherry picked from commit b3042e3a7c6ffee3867d52b192c6a9f4f49faf4b) --- sys/x86/iommu/intel_ctx.c | 19 +++---------------- sys/x86/iommu/intel_dmar.h | 1 - sys/x86/iommu/iommu_utils.c | 14 ++++++++++++++ sys/x86/iommu/x86_iommu.h | 2 ++ 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 41135628ffa8..814a5a8c7105 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -834,19 +834,6 @@ dmar_find_ctx_locked(struct dmar_unit *dmar, uint16_t rid) return (NULL); } -void -dmar_domain_free_entry(struct iommu_map_entry *entry, bool free) -{ - if ((entry->flags & IOMMU_MAP_ENTRY_RMRR) != 0) - iommu_gas_free_region(entry); - else - iommu_gas_free_space(entry); - if (free) - iommu_gas_free_entry(entry); - else - entry->flags = 0; -} - /* * If the given value for "free" is true, then the caller must not be using * the entry's dmamap_link field. @@ -875,12 +862,12 @@ dmar_domain_unload_entry(struct iommu_map_entry *entry, bool free, } else { iommu_qi_invalidate_sync(&domain->iodom, entry->start, entry->end - entry->start, cansleep); - dmar_domain_free_entry(entry, false); + iommu_domain_free_entry(entry, false); } } else { domain_flush_iotlb_sync(domain, entry->start, entry->end - entry->start); - dmar_domain_free_entry(entry, free); + iommu_domain_free_entry(entry, free); } } @@ -916,7 +903,7 @@ dmar_domain_unload(struct iommu_domain *iodom, domain_flush_iotlb_sync(domain, entry->start, entry->end - entry->start); TAILQ_REMOVE(entries, entry, dmamap_link); - dmar_domain_free_entry(entry, true); + iommu_domain_free_entry(entry, true); } } if (TAILQ_EMPTY(entries)) diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index 0242e0cb954f..edb152f42fe7 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -243,7 +243,6 @@ void dmar_free_ctx_method(struct iommu_ctx *ctx); struct dmar_ctx *dmar_find_ctx_locked(struct dmar_unit *dmar, uint16_t rid); struct iommu_ctx *dmar_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, bool id_mapped, bool rmrr_init); -void dmar_domain_free_entry(struct iommu_map_entry *entry, bool free); void dmar_domain_unload_entry(struct iommu_map_entry *entry, bool free, bool cansleep); void dmar_domain_unload(struct iommu_domain *iodom, diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 20ca7890ce65..9c6cae5ff51f 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -605,3 +605,17 @@ iommu_device_tag_init(struct iommu_ctx *ctx, device_t dev) ctx->tag->ctx = ctx; ctx->tag->owner = dev; } + +void +iommu_domain_free_entry(struct iommu_map_entry *entry, bool free) +{ + if ((entry->flags & IOMMU_MAP_ENTRY_RMRR) != 0) + iommu_gas_free_region(entry); + else + iommu_gas_free_space(entry); + if (free) + iommu_gas_free_entry(entry); + else + entry->flags = 0; +} + diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 5f56a2db74b5..9e3a82283729 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -167,6 +167,8 @@ struct x86_unit_common { struct iommu_msi_data intrs[IOMMU_MAX_MSI]; }; +void iommu_domain_free_entry(struct iommu_map_entry *entry, bool free); + void iommu_qi_emit_wait_seq(struct iommu_unit *unit, struct iommu_qi_genseq * pseq, bool emit_wait); void iommu_qi_wait_for_seq(struct iommu_unit *unit, const struct From nobody Wed Sep 11 08:44:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yyz2P4fz5W7dW; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yyz1LMRz41Qn; Wed, 11 Sep 2024 08:44:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uExEfhzA4My9WuFp2ahPeNhgAjvhLyr77PqJQk0Oohc=; b=ZTcJKoLZDr9//xax3KEs0BvQUCtHss1wgfyQa+TgHGv0k9bgddIbMDEPoh+Fi1m/rlQ2mE UJmdZo6QCQ3V417RmwVc7m6sOkCirQs9aCfm518b6ka6b6EVGPwwK7LJIJyFfQSSS2f7wZ +Pc1OTWsgPe8d3NbHpyBNxelCG2xsZGDtY+1WuHWIP4vnhEF7DPHi6gePYAOhnHNA49940 lpF3KQzntjxvUXHr3CtD3IbTHPqiQIlj3B4ejk3tHwbVzBcvrNOYxZFUTf3B4ROZGB8DVZ 80kbj7aqtY+cKOqVr0gvq3kobKevRD/ieDThDINnebeDtvqJYpo+7+V0oiqjHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044267; a=rsa-sha256; cv=none; b=lilrdUedev55EI4gE2XOxwlM3iBNIhXFcabXzfzhpW/Zx8eIFuAvZgZ9TTTOeDsgNz7gAk DpqLW1krjUxJ+O17MUWpx8YOm7iliD56+01rj4DEkyn6Hd/HHVMgwpCQxHtXVTqzRMZPuK q5YI5MP4qHJl+5+N1A4dbnn1NoysJYW4jm3M//mMomukqxT7cuFscdyF2UWeL8DWg2XWOC ou20mCCoRpBtlxpSWK3+TZYcykbN/r+OZx6MsqNAnpJ6QkKDi4zu9/pMy+C/oF0dFmC+cD 2ODlDq1xWDYlmpZN69FfET4eQByuJhx3doou4lQ7uHjhxOElci6s0mA+Vx59VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uExEfhzA4My9WuFp2ahPeNhgAjvhLyr77PqJQk0Oohc=; b=N1DWtctzT8DySMCA8lHoTXA+DyqWv7g6q6EluOOx6i9WW3M0pzat071LYtZb9aRey5V4zO IAV9BNjlgIvlUlpDFzKJx7FoKu4+KFbX1IfdtwRB7SypwgQQewxWcGrXAsr/THM66H4xVG ceKSgf/hJ/lB/S1GpB7PlM/iiaIRbt+LwQTT+I+21BpucfClfe0xLfLWJ9VwFldT5YAQ2/ 3t1YT7Wn7orXIkBkEhZ+iUu9U17bz14OTUP+BCguDD4ga9xCNXZH4G1m8VlzQu//Dr0RHG KbcVVv1DXTtonr0rC2yPjh72BUMkRiMkmHU1z+vmPAmKYSRW1EEhFoXj8HX2VA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yyz0x3TzPYJ; Wed, 11 Sep 2024 08:44:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iRX8007601; Wed, 11 Sep 2024 08:44:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iRrw007598; Wed, 11 Sep 2024 08:44:27 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:27 GMT Message-Id: <202409110844.48B8iRrw007598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: eed2b98a2e0c - stable/14 - x86 iommu x86_unit_common: expand hw completion write-out area to 8 bytes 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eed2b98a2e0c9d3ac07e91efba99dab09caf56bd Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eed2b98a2e0c9d3ac07e91efba99dab09caf56bd commit eed2b98a2e0c9d3ac07e91efba99dab09caf56bd Author: Konstantin Belousov AuthorDate: 2024-06-09 14:08:28 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 x86 iommu x86_unit_common: expand hw completion write-out area to 8 bytes (cherry picked from commit fc8da73b93be3f5cc50f7607dbcfc1edb911de65) --- sys/x86/iommu/intel_drv.c | 4 ++-- sys/x86/iommu/x86_iommu.h | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index 9fa1b3f98dc6..66d99748888f 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -1302,7 +1302,7 @@ dmar_print_one(int idx, bool show_domains, bool show_mappings) db_printf("qi is enabled: queue @0x%jx (IQA 0x%jx) " "size 0x%jx\n" " head 0x%x tail 0x%x avail 0x%x status 0x%x ctrl 0x%x\n" - " hw compl 0x%x@%p/phys@%jx next seq 0x%x gen 0x%x\n", + " hw compl 0x%jx@%p/phys@%jx next seq 0x%x gen 0x%x\n", (uintmax_t)unit->x86c.inv_queue, (uintmax_t)dmar_read8(unit, DMAR_IQA_REG), (uintmax_t)unit->x86c.inv_queue_size, @@ -1311,7 +1311,7 @@ dmar_print_one(int idx, bool show_domains, bool show_mappings) unit->x86c.inv_queue_avail, dmar_read4(unit, DMAR_ICS_REG), dmar_read4(unit, DMAR_IECTL_REG), - unit->x86c.inv_waitd_seq_hw, + (uintmax_t)unit->x86c.inv_waitd_seq_hw, &unit->x86c.inv_waitd_seq_hw, (uintmax_t)unit->x86c.inv_waitd_seq_hw_phys, unit->x86c.inv_waitd_seq, diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index eb1bbafbeb77..966a13c19b6e 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -101,8 +101,14 @@ struct x86_unit_common { vm_size_t inv_queue_size; uint32_t inv_queue_avail; uint32_t inv_queue_tail; - volatile uint32_t inv_waitd_seq_hw; /* hw writes there on wait - descr completion */ + + /* + * Hw writes there on completion of wait descriptor + * processing. Intel writes 4 bytes, while AMD does the + * 8-bytes write. Due to little-endian, and use of 4-byte + * sequence numbers, the difference does not matter for us. + */ + volatile uint64_t inv_waitd_seq_hw; uint64_t inv_waitd_seq_hw_phys; uint32_t inv_waitd_seq; /* next sequence number to use for wait descr */ From nobody Wed Sep 11 08:44:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz13Thlz5W7WR; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz12l3Vz41Nq; Wed, 11 Sep 2024 08:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=btctu+wyvmzhCR0+AVFZdbnbQ7HfDR30mQ2ulnVd3EY=; b=ty6k0Ae0cfE4xwTON/cl7fhpoSDg/fs4MRS/6GmukQdjDVp5WqbYj+dCF39zbP94urYBtv uczMetMpFfiAJZoPxrTn5z7XQFwVfCkV9FZ39F4N9sZWzaUj/mmwdLNdgR5qmYcmXCwLjh 4lJr2ABEdi72uTWSlq6MzQOoVblZ5vgeCE8u8ila4QX+yCTzkaUlDv5FGcfnGLdQq4v2bA 2zNKmoNbFeIzAfweAJ8nNAUESW7UnwiMjKRJgQKA+hMUvglMJ43kc6J4l09DIKqr2H/L8+ Zf/pe7OL2nXnZs6luS2u1eVghcqufViUN/rFwHVWJPvNSduzrJvBt5y6XZDrHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044269; a=rsa-sha256; cv=none; b=EN42r+rWSTofNy2g7ScGGX00t1euFMbDuQaFPMlbwKx3lza/j81OzQGow+0Fr7Ch7Ewmzv Nw3sYZIgGfaG7+KcyZ74SW+zpMoEnX5Pd2omaAwMg2Rl6zGMnXGSTKaJal5aqgTUHWqTKN jIRv/CbBu3CKtblOn49EBCOfK7ADkfWFckenXTnIHZiQ5aIQ5XVl8uWFom2W10AX5SxlEY rzlhnIvOKu99nJl5wHY2KdOr1yPQaPR55auiobCS6hZb/BrdpXa/kPJggZK6ZP6q9pZS/C aEa/hv4kqhZJ3hjjg5vul1QSz0gjLWgcEDeZGuXCbU8I7kyikFvYIseJdDLDig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=btctu+wyvmzhCR0+AVFZdbnbQ7HfDR30mQ2ulnVd3EY=; b=k8eTFnXcMJDcSbIvx9aHgZiApkE2L8uwI3iGq4ab10DIl4Se+rRlPbiB/5ukUV2SVRrWjD tkYlPsQj13hbl1O0WQeL8IxfmH9p0Y8y9NVYk+YAHZwGq4pHHKzcMFNUxxtF5AAUq0kbDt rKhJNrTR6YKf0/pB71pwNVRwL5JcvCYcx/W1Iagd7mBPEBN4aJ2KMBj8lNBGrvKtR08NDt IVsMzRw8fvPgs81punYEaXHqvn4JM1+KY1rPVQAQTGjjvn6wCP1Oe4X0tLVqngJJQs+j58 3YQp7g+0cTT30GFbctgijxK7KHMX3SG9A8UruUxEIDmpCHACbac39QADUFkKaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz12Ln3zNqF; Wed, 11 Sep 2024 08:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iTKW007715; Wed, 11 Sep 2024 08:44:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iTCd007712; Wed, 11 Sep 2024 08:44:29 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:29 GMT Message-Id: <202409110844.48B8iTCd007712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 046d7aea4d8a - stable/14 - x86 iommu: move device_tag_init() to utils 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 046d7aea4d8a707d134394396dcd941063318539 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=046d7aea4d8a707d134394396dcd941063318539 commit 046d7aea4d8a707d134394396dcd941063318539 Author: Konstantin Belousov AuthorDate: 2024-06-30 01:16:51 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:43:59 +0000 x86 iommu: move device_tag_init() to utils (cherry picked from commit ff54674b09501f4302e675bb2d3e34a752a63405) --- sys/x86/iommu/intel_ctx.c | 22 +--------------------- sys/x86/iommu/iommu_utils.c | 17 +++++++++++++++++ sys/x86/iommu/x86_iommu.h | 2 ++ 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c index 082c05ff4c83..41135628ffa8 100644 --- a/sys/x86/iommu/intel_ctx.c +++ b/sys/x86/iommu/intel_ctx.c @@ -125,26 +125,6 @@ dmar_map_ctx_entry(struct dmar_ctx *ctx, struct sf_buf **sfp) return (ctxp); } -static void -device_tag_init(struct dmar_ctx *ctx, device_t dev) -{ - struct dmar_domain *domain; - bus_addr_t maxaddr; - - domain = CTX2DOM(ctx); - maxaddr = MIN(domain->iodom.end, BUS_SPACE_MAXADDR); - ctx->context.tag->common.ref_count = 1; /* Prevent free */ - ctx->context.tag->common.impl = &bus_dma_iommu_impl; - ctx->context.tag->common.boundary = 0; - ctx->context.tag->common.lowaddr = maxaddr; - ctx->context.tag->common.highaddr = maxaddr; - ctx->context.tag->common.maxsize = maxaddr; - ctx->context.tag->common.nsegments = BUS_SPACE_UNRESTRICTED; - ctx->context.tag->common.maxsegsz = maxaddr; - ctx->context.tag->ctx = CTX2IOCTX(ctx); - ctx->context.tag->owner = dev; -} - static void ctx_id_entry_init_one(dmar_ctx_entry_t *ctxp, struct dmar_domain *domain, vm_page_t ctx_root) @@ -588,7 +568,7 @@ dmar_get_ctx_for_dev1(struct dmar_unit *dmar, device_t dev, uint16_t rid, ctx = ctx1; dmar_ctx_link(ctx); ctx->context.tag->owner = dev; - device_tag_init(ctx, dev); + iommu_device_tag_init(CTX2IOCTX(ctx), dev); /* * This is the first activated context for the diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 04d42799310e..20ca7890ce65 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -588,3 +588,20 @@ iommu_release_intr(struct iommu_unit *unit, int idx) dev, dmd->irq); dmd->irq = -1; } + +void +iommu_device_tag_init(struct iommu_ctx *ctx, device_t dev) +{ + bus_addr_t maxaddr; + + maxaddr = MIN(ctx->domain->end, BUS_SPACE_MAXADDR); + ctx->tag->common.impl = &bus_dma_iommu_impl; + ctx->tag->common.boundary = 0; + ctx->tag->common.lowaddr = maxaddr; + ctx->tag->common.highaddr = maxaddr; + ctx->tag->common.maxsize = maxaddr; + ctx->tag->common.nsegments = BUS_SPACE_UNRESTRICTED; + ctx->tag->common.maxsegsz = maxaddr; + ctx->tag->ctx = ctx; + ctx->tag->owner = dev; +} diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index d6e3ea56bd2c..5f56a2db74b5 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -183,4 +183,6 @@ void iommu_qi_common_fini(struct iommu_unit *unit, void (*disable_qi)( int iommu_alloc_irq(struct iommu_unit *unit, int idx); void iommu_release_intr(struct iommu_unit *unit, int idx); +void iommu_device_tag_init(struct iommu_ctx *ctx, device_t dev); + #endif From nobody Wed Sep 11 08:44:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz35srJz5W7WT; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz34tFKz41qh; Wed, 11 Sep 2024 08:44:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=196QQGRp6Chg3V/v0MmSp4d2gt92r7j49f7PG9ttxtQ=; b=G/8h7ap+BtyaFYKIb/LZnW7xnxQ1Lh5KZOmuaIyYISIpX1/Bv35t/oeG1yEx8Mn7oW9wn1 Xqcb076iRK1S020rY13cC5DMA7CJ8WtK67C8e7P7U9/iRoepLQbz+utDaFGv1LNsZ33s5p +op9Zi8UDKeNAJSHqpTzOfF3HVDVO0p1lrEJicb9GPCZyPdRGRjn3JEmxlDnSQP6Fn/maW i6F+emD1IxDbWB39Erewtp71MKoVp9yjWytYH6AM9xumjWFraaY6d6gsDQkEPUX0S3KpFc x/W/NPRmHvAWqpw9VhTsrMQlhA4HtnHq+QaQy41cKk5WZXjeb6nwRk5DPl1KBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044271; a=rsa-sha256; cv=none; b=B01/QlCjV9LheE92Zhrvf0lN0O0aVjPfD53q1t35Jdkep/bsY5od0WhHzZ4wY2C7eEj/yh CMNfl6GSngd9/Uyprhb7ebuBX2vgWZdk3eeigW/BesJAOTe6rL6+x1cTFS+2UdL01EnKjV j1zqICwrzrH2cmonf5vtvL5351lNi+0Gpj/j/Naq9PEbFFsSMazAB1frB3iidjgjIdQQwm fO9hyLB14qpyC6wxFS5GkuZ8RqwGsX21IuqGC9H5EQZik2FMaio/ZkozGTZRFouBEiViRe DGKTb8N02bdsZw0vDteIW8HZn+OvTTasg6QIKAM0AFq7DaBE2RCCPHbA2gThMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=196QQGRp6Chg3V/v0MmSp4d2gt92r7j49f7PG9ttxtQ=; b=uUb2Q5aXh9tjGVD6Puoj7qiXusmFZph3Gu7JkM/y7zm6L07+gv4mROiwEtrI5bVpK3Fp8h dP/wRcpgoaW2LGOXF2ej+2Lkntu3Kwd7nkx3cVPMtHhGUPwqPXKkEcFNKB5uCwd9NhlsS6 A1n+ahxyVn/hnVGwVUqQgGLrlnga/o8U4chTw2CygJFwbyl7UkgVfVXP1/uMuJf8aewlwh 5sv7ZbJ3e3b1cW3hNFDlzOtPAdhUaXTfWjSFA9S4bb6q6SZZlfF2eULBVqI1D2L5YLfD1l tQtwj6AdOCIBEbAU4hl+pK0kO8VAA8SKjHxChf9cebWqPiDFukZYJ6y+fCTVXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz34CH2zP7T; Wed, 11 Sep 2024 08:44:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iVLI007828; Wed, 11 Sep 2024 08:44:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iVCR007825; Wed, 11 Sep 2024 08:44:31 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:31 GMT Message-Id: <202409110844.48B8iVCR007825@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: eebdbe7f1975 - stable/14 - x86 iommu: move page level related functions to common utils 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eebdbe7f1975bc3d605ee161ace7402037f279d8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eebdbe7f1975bc3d605ee161ace7402037f279d8 commit eebdbe7f1975bc3d605ee161ace7402037f279d8 Author: Konstantin Belousov AuthorDate: 2024-07-19 23:47:48 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 x86 iommu: move page level related functions to common utils (cherry picked from commit 29e227047065c6b1d08fdb72a21f33560637332b) --- sys/x86/iommu/intel_dmar.h | 2 -- sys/x86/iommu/intel_idpgtbl.c | 38 ++--------------------- sys/x86/iommu/intel_utils.c | 37 ---------------------- sys/x86/iommu/iommu_utils.c | 71 +++++++++++++++++++++++++++++++++++++++++++ sys/x86/iommu/x86_iommu.h | 5 +++ 5 files changed, 78 insertions(+), 75 deletions(-) diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index edb152f42fe7..c1e6c8f06f64 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -175,9 +175,7 @@ bool dmar_pglvl_supported(struct dmar_unit *unit, int pglvl); int domain_set_agaw(struct dmar_domain *domain, int mgaw); int dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr, bool allow_less); -vm_pindex_t pglvl_max_pages(int pglvl); int domain_is_sp_lvl(struct dmar_domain *domain, int lvl); -iommu_gaddr_t pglvl_page_size(int total_pglvl, int lvl); iommu_gaddr_t domain_page_size(struct dmar_domain *domain, int lvl); int calc_am(struct dmar_unit *unit, iommu_gaddr_t base, iommu_gaddr_t size, iommu_gaddr_t *isizep); diff --git a/sys/x86/iommu/intel_idpgtbl.c b/sys/x86/iommu/intel_idpgtbl.c index 79e184035b23..850627a2defd 100644 --- a/sys/x86/iommu/intel_idpgtbl.c +++ b/sys/x86/iommu/intel_idpgtbl.c @@ -317,40 +317,6 @@ put_idmap_pgtbl(vm_object_t obj) * address. Support superpages. */ -/* - * Index of the pte for the guest address base in the page table at - * the level lvl. - */ -static int -domain_pgtbl_pte_off(struct dmar_domain *domain, iommu_gaddr_t base, int lvl) -{ - - base >>= IOMMU_PAGE_SHIFT + (domain->pglvl - lvl - 1) * - IOMMU_NPTEPGSHIFT; - return (base & IOMMU_PTEMASK); -} - -/* - * Returns the page index of the page table page in the page table - * object, which maps the given address base at the page table level - * lvl. - */ -static vm_pindex_t -domain_pgtbl_get_pindex(struct dmar_domain *domain, iommu_gaddr_t base, int lvl) -{ - vm_pindex_t idx, pidx; - int i; - - KASSERT(lvl >= 0 && lvl < domain->pglvl, - ("wrong lvl %p %d", domain, lvl)); - - for (pidx = idx = 0, i = 0; i < lvl; i++, pidx = idx) { - idx = domain_pgtbl_pte_off(domain, base, i) + - pidx * IOMMU_NPTEPG + 1; - } - return (idx); -} - static iommu_pte_t * domain_pgtbl_map_pte(struct dmar_domain *domain, iommu_gaddr_t base, int lvl, int flags, vm_pindex_t *idxp, struct sf_buf **sf) @@ -363,7 +329,7 @@ domain_pgtbl_map_pte(struct dmar_domain *domain, iommu_gaddr_t base, int lvl, DMAR_DOMAIN_ASSERT_PGLOCKED(domain); KASSERT((flags & IOMMU_PGF_OBJL) != 0, ("lost PGF_OBJL")); - idx = domain_pgtbl_get_pindex(domain, base, lvl); + idx = pglvl_pgtbl_get_pindex(domain->pglvl, base, lvl); if (*sf != NULL && idx == *idxp) { pte = (iommu_pte_t *)sf_buf_kva(*sf); } else { @@ -415,7 +381,7 @@ retry: goto retry; } } - pte += domain_pgtbl_pte_off(domain, base, lvl); + pte += pglvl_pgtbl_pte_off(domain->pglvl, base, lvl); return (pte); } diff --git a/sys/x86/iommu/intel_utils.c b/sys/x86/iommu/intel_utils.c index a66682b68a2b..7e15299c1bd3 100644 --- a/sys/x86/iommu/intel_utils.c +++ b/sys/x86/iommu/intel_utils.c @@ -173,23 +173,6 @@ dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr, bool allow_less return (-1); } -/* - * Calculate the total amount of page table pages needed to map the - * whole bus address space on the context with the selected agaw. - */ -vm_pindex_t -pglvl_max_pages(int pglvl) -{ - vm_pindex_t res; - int i; - - for (res = 0, i = pglvl; i > 0; i--) { - res *= IOMMU_NPTEPG; - res++; - } - return (res); -} - /* * Return true if the page table level lvl supports the superpage for * the context ctx. @@ -210,26 +193,6 @@ domain_is_sp_lvl(struct dmar_domain *domain, int lvl) return (alvl < nitems(sagaw_sp) && (sagaw_sp[alvl] & cap_sps) != 0); } -iommu_gaddr_t -pglvl_page_size(int total_pglvl, int lvl) -{ - int rlvl; - static const iommu_gaddr_t pg_sz[] = { - (iommu_gaddr_t)IOMMU_PAGE_SIZE, - (iommu_gaddr_t)IOMMU_PAGE_SIZE << IOMMU_NPTEPGSHIFT, - (iommu_gaddr_t)IOMMU_PAGE_SIZE << (2 * IOMMU_NPTEPGSHIFT), - (iommu_gaddr_t)IOMMU_PAGE_SIZE << (3 * IOMMU_NPTEPGSHIFT), - (iommu_gaddr_t)IOMMU_PAGE_SIZE << (4 * IOMMU_NPTEPGSHIFT), - (iommu_gaddr_t)IOMMU_PAGE_SIZE << (5 * IOMMU_NPTEPGSHIFT), - }; - - KASSERT(lvl >= 0 && lvl < total_pglvl, - ("total %d lvl %d", total_pglvl, lvl)); - rlvl = total_pglvl - lvl - 1; - KASSERT(rlvl < nitems(pg_sz), ("sizeof pg_sz lvl %d", lvl)); - return (pg_sz[rlvl]); -} - iommu_gaddr_t domain_page_size(struct dmar_domain *domain, int lvl) { diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 9c6cae5ff51f..645c7e15740a 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -619,3 +619,74 @@ iommu_domain_free_entry(struct iommu_map_entry *entry, bool free) entry->flags = 0; } +/* + * Index of the pte for the guest address base in the page table at + * the level lvl. + */ +int +pglvl_pgtbl_pte_off(int pglvl, iommu_gaddr_t base, int lvl) +{ + + base >>= IOMMU_PAGE_SHIFT + (pglvl - lvl - 1) * + IOMMU_NPTEPGSHIFT; + return (base & IOMMU_PTEMASK); +} + +/* + * Returns the page index of the page table page in the page table + * object, which maps the given address base at the page table level + * lvl. + */ +vm_pindex_t +pglvl_pgtbl_get_pindex(int pglvl, iommu_gaddr_t base, int lvl) +{ + vm_pindex_t idx, pidx; + int i; + + KASSERT(lvl >= 0 && lvl < pglvl, + ("wrong lvl %d %d", pglvl, lvl)); + + for (pidx = idx = 0, i = 0; i < lvl; i++, pidx = idx) { + idx = pglvl_pgtbl_pte_off(pglvl, base, i) + + pidx * IOMMU_NPTEPG + 1; + } + return (idx); +} + +/* + * Calculate the total amount of page table pages needed to map the + * whole bus address space on the context with the selected agaw. + */ +vm_pindex_t +pglvl_max_pages(int pglvl) +{ + vm_pindex_t res; + int i; + + for (res = 0, i = pglvl; i > 0; i--) { + res *= IOMMU_NPTEPG; + res++; + } + return (res); +} + +iommu_gaddr_t +pglvl_page_size(int total_pglvl, int lvl) +{ + int rlvl; + static const iommu_gaddr_t pg_sz[] = { + (iommu_gaddr_t)IOMMU_PAGE_SIZE, + (iommu_gaddr_t)IOMMU_PAGE_SIZE << IOMMU_NPTEPGSHIFT, + (iommu_gaddr_t)IOMMU_PAGE_SIZE << (2 * IOMMU_NPTEPGSHIFT), + (iommu_gaddr_t)IOMMU_PAGE_SIZE << (3 * IOMMU_NPTEPGSHIFT), + (iommu_gaddr_t)IOMMU_PAGE_SIZE << (4 * IOMMU_NPTEPGSHIFT), + (iommu_gaddr_t)IOMMU_PAGE_SIZE << (5 * IOMMU_NPTEPGSHIFT), + (iommu_gaddr_t)IOMMU_PAGE_SIZE << (6 * IOMMU_NPTEPGSHIFT), + }; + + KASSERT(lvl >= 0 && lvl < total_pglvl, + ("total %d lvl %d", total_pglvl, lvl)); + rlvl = total_pglvl - lvl - 1; + KASSERT(rlvl < nitems(pg_sz), ("sizeof pg_sz lvl %d", lvl)); + return (pg_sz[rlvl]); +} diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 9e3a82283729..b2caed550e35 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -187,4 +187,9 @@ void iommu_release_intr(struct iommu_unit *unit, int idx); void iommu_device_tag_init(struct iommu_ctx *ctx, device_t dev); +int pglvl_pgtbl_pte_off(int pglvl, iommu_gaddr_t base, int lvl); +vm_pindex_t pglvl_pgtbl_get_pindex(int pglvl, iommu_gaddr_t base, int lvl); +vm_pindex_t pglvl_max_pages(int pglvl); +iommu_gaddr_t pglvl_page_size(int total_pglvl, int lvl); + #endif From nobody Wed Sep 11 08:44:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz71SmYz5W7q1; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz70nCxz41rB; Wed, 11 Sep 2024 08:44:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcfyYemWPZeCDLon+VT0Jpf16eg4nB5N2d+1h1PNjBo=; b=rEWTmcAXTwPhDTqUbBtq5dj9tNRf4RKvLFTulNC2A5EtNp0AuupK6QfIw9Q+mgHCOmjczo 2Wh8WKiTIQE3JeY7WrTr76RSQZD9z/2tvRfvN9mYFkWO8CUL8fvOZ1MEJiSMuB2FZgtvgV vBRdaoxsnE4n73I79qbe2AaZdq57ae3dqebBJ9Or8OsUWtG3qfxyiphzjZJxYVYPXw+iZ4 GDJ5s4BviUTasOGcZVXCosQP/qoM3chYClluiOZgOHiatPaTbnS/7BfV9mFPunjLbzXuzn QiFM4FOA1yB1OilhXQAyfGHm5AVWgbxREGl4clYzGEvwbnB/9oNyfTQu1j7mDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044275; a=rsa-sha256; cv=none; b=Fy3fFQQe9KMWyn7GLd/SATNfRXZ67h9HGEEvSA0GNohlIZORZFAI8a23GyF+n7jK7BS5ne ZtTgMbQg2I/mBO61vNFK0XpgOVUO4LIPVK3KDIh8P7KxAL8r/U9hVo4NdGYD/eNOpKwYFw d5iMCSHQRsGj1/VsZzh+gAs9AnGkJ/AMQL2Xm7po3NnmwU5r/mTGHXwzpA6ZgHzeyWNMyi JUONqEK2m+htxhlTre4+WwL/Nzx2sy/TKdkbhcsXwTsyEAv4FDNjaycCHovKficCK4bVGK BFMa+eUIAiRhW+T/CHZeveps7fpaMpBuad0AidetZy1ONmWsY8CXlczYZHWyxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcfyYemWPZeCDLon+VT0Jpf16eg4nB5N2d+1h1PNjBo=; b=rZO6llcYxia8FH9tOK6aE4ap78vUGSQ7zPrxfboN3IqikFRcHMi+nUnaga1/fl8e1lyOxL JprJ8RNjCMBDT/BzBc7ZTeqxdPTT2VYJpuv76wXjv6LEhH9UQG5Z64LiWfpjWpMvn/t3x0 Z+g1AG35FQrQn8LeA4nGK5VAE/ck/xL4HxLclxGrbn5qHQq76gw6b7SRwiKhbjBKy2g8gI LZeE5+hmcGt162204rifKQRTWAoV9iEWfqq643/xZAf7HZzyeorLH5eSCFaIVyiUwDwwkZ MxfXT+R6aaBwKRYu7pSSbeZbUKVl/MO0yn7mYP6i6BfF1Hnwg4j3XuBpOoak8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz705XMzP9l; Wed, 11 Sep 2024 08:44:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iYqh007990; Wed, 11 Sep 2024 08:44:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iY79007987; Wed, 11 Sep 2024 08:44:34 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:34 GMT Message-Id: <202409110844.48B8iY79007987@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1dfa8765409b - stable/14 - busdma_iommu: indirect dmar-specific method calls in iommu_get_dev_ctx() 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1dfa8765409b1f1424c66ec9584768033a97ef19 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1dfa8765409b1f1424c66ec9584768033a97ef19 commit 1dfa8765409b1f1424c66ec9584768033a97ef19 Author: Konstantin Belousov AuthorDate: 2024-07-27 16:28:01 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 busdma_iommu: indirect dmar-specific method calls in iommu_get_dev_ctx() (cherry picked from commit ba33e74c7d48479784896807eb8a1c2e1012d163) --- sys/arm64/iommu/iommu.c | 5 +++++ sys/dev/iommu/busdma_iommu.c | 6 +----- sys/dev/iommu/iommu.h | 1 + sys/x86/iommu/intel_drv.c | 8 ++++++++ sys/x86/iommu/iommu_utils.c | 6 ++++++ sys/x86/iommu/x86_iommu.h | 1 + 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/sys/arm64/iommu/iommu.c b/sys/arm64/iommu/iommu.c index 331553a93623..d876d443ffa0 100644 --- a/sys/arm64/iommu/iommu.c +++ b/sys/arm64/iommu/iommu.c @@ -503,6 +503,11 @@ iommu_find(device_t dev, bool verbose) return (NULL); } +void +iommu_unit_pre_instantiate_ctx(struct iommu_unit *unit) +{ +} + void iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free, bool cansleep __unused) diff --git a/sys/dev/iommu/busdma_iommu.c b/sys/dev/iommu/busdma_iommu.c index 565067488435..0d86ff0d4468 100644 --- a/sys/dev/iommu/busdma_iommu.c +++ b/sys/dev/iommu/busdma_iommu.c @@ -279,11 +279,7 @@ iommu_get_dev_ctx(device_t dev) if (!unit->dma_enabled) return (NULL); -#if defined(__amd64__) || defined(__i386__) - dmar_quirks_pre_use(unit); - dmar_instantiate_rmrr_ctxs(unit); -#endif - + iommu_unit_pre_instantiate_ctx(unit); return (iommu_instantiate_ctx(unit, dev, false)); } diff --git a/sys/dev/iommu/iommu.h b/sys/dev/iommu/iommu.h index 157f4c62423f..9845b09e8732 100644 --- a/sys/dev/iommu/iommu.h +++ b/sys/dev/iommu/iommu.h @@ -158,6 +158,7 @@ void iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free, void iommu_domain_unload(struct iommu_domain *domain, struct iommu_map_entries_tailq *entries, bool cansleep); +void iommu_unit_pre_instantiate_ctx(struct iommu_unit *iommu); struct iommu_ctx *iommu_instantiate_ctx(struct iommu_unit *iommu, device_t dev, bool rmrr); device_t iommu_get_requester(device_t dev, uint16_t *rid); diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index 2439ef9e4ef5..05fb49538add 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -1310,8 +1310,16 @@ dmar_get_x86_common(struct iommu_unit *unit) return (&dmar->x86c); } +static void +dmar_unit_pre_instantiate_ctx(struct iommu_unit *unit) +{ + dmar_quirks_pre_use(unit); + dmar_instantiate_rmrr_ctxs(unit); +} + static struct x86_iommu dmar_x86_iommu = { .get_x86_common = dmar_get_x86_common, + .unit_pre_instantiate_ctx = dmar_unit_pre_instantiate_ctx, .domain_unload_entry = dmar_domain_unload_entry, .domain_unload = dmar_domain_unload, .get_ctx = dmar_get_ctx, diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 5d22c6584ab7..2c647fd21c67 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -278,6 +278,12 @@ iommu_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) return (x86_iommu->unmap_ioapic_intr(ioapic_id, cookie)); } +void +iommu_unit_pre_instantiate_ctx(struct iommu_unit *unit) +{ + x86_iommu->unit_pre_instantiate_ctx(unit); +} + #define IOMMU2X86C(iommu) (x86_iommu->get_x86_common(iommu)) static bool diff --git a/sys/x86/iommu/x86_iommu.h b/sys/x86/iommu/x86_iommu.h index 210ce82c8f6d..a1ed5c71c513 100644 --- a/sys/x86/iommu/x86_iommu.h +++ b/sys/x86/iommu/x86_iommu.h @@ -64,6 +64,7 @@ struct x86_unit_common; struct x86_iommu { struct x86_unit_common *(*get_x86_common)(struct iommu_unit *iommu); + void (*unit_pre_instantiate_ctx)(struct iommu_unit *iommu); void (*qi_ensure)(struct iommu_unit *unit, int descr_count); void (*qi_emit_wait_descr)(struct iommu_unit *unit, uint32_t seq, bool, bool, bool); From nobody Wed Sep 11 08:44:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz60FQJz5W7WV; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz56bLSz41Qx; Wed, 11 Sep 2024 08:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGDd7J55TLq/WG3vU5rPi0fB1AGnR+ojam+t1Edvvkw=; b=dv7984WJ5kI0u2fQ/z496/e8Pbhsi0ev8n+1rHp8PQTMal3I7/9JiUC2hDDC0ahq7iomAF qjbyD9d3oB1V/ILY6AC3di0UbRUUzj1ewUbHbnqHGAqNrSjjewu/+eCpxOONEY0IWRxQDA De41tkcvTo8qF4mWsoNUC30WQfDzvFw17s98aHa8vExTdybE+iLYkgZZeCNlzp+TzOCgTJ l0EbMyhkNcG8yW7BU8hZMtGd9ZZpepGRTwHmbUl3FeEwD+cwB0yDTecXKWoph2V0sEcwQJ tW+3pzfcXn+veHaRoE9BsrSt91kluSvvKVM2NZugyDInJvrdtVky4FKOk7s9vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044273; a=rsa-sha256; cv=none; b=ti5XrdL59mz7X/oTy+G+C6N0X1vhduJIqG7ZED9Cc6sqmrNm53zxD/jMiBWpyRXST3dRrI DLatE+vCHHTeLV6k8FCSrzVArqTJhLWxMHmLQ6YIg1WzzWOuI8l07EkjvbfNNoAchWOKzn KezCJy+6k9Fz9eBrrJMuUHq99VX3gNsQN1xKmlhq8K05wSGIN8zAbp5zzNzBDBUCrGAlMC kKt+50NlzYiKXFNiimxodaAKArOx3W/Y6DCDEi1sjYvEEJCaoyGiTfCOOEUT8jMamQV/ON Ye54WxgW24FYmS0GqIYqak0CevyQzCoGqEBdPGOTynqkEOggDXeboq75lPdHrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGDd7J55TLq/WG3vU5rPi0fB1AGnR+ojam+t1Edvvkw=; b=ZM1QMQQqMQNWq4vq6T9vru80yue9wl7TLHTXdbvJ81UuUZA7yZFz6Kgk5mx+G3RUPK54WX 7DZUxaCmKC+1bbAtVbnOwUgZtTMf1zPeQTBOp2JVWIfeP0Ke3M8EQ2t+imrWiijWRKuY7P KKPxHDZdH95WnshDDFeQLdV/C2DgD8gjqOM+NFM89TGQmwar9W0JyEkiTzLnBiGdtFgWDh DA8OCLKok1+y2rw3osP7QOctr1PmeAlLFD30FGPLycm1QW7q8sU95sVoICjm/NF1W91kQD m5d31Y1Gsdo9KhksLd2asxU92ita+fcGep8HvkbTM6rvkaUMVm+ZLq5vHJHBlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz56C2BzPMh; Wed, 11 Sep 2024 08:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8iX7p007939; Wed, 11 Sep 2024 08:44:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8iXbA007936; Wed, 11 Sep 2024 08:44:33 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:33 GMT Message-Id: <202409110844.48B8iXbA007936@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 173116c6a392 - stable/14 - DMAR: provide hw.iommu.ir alias for the hw.dmar.ir tunable 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 173116c6a392b4a17af08f5262838e2b1e5ccb1a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=173116c6a392b4a17af08f5262838e2b1e5ccb1a commit 173116c6a392b4a17af08f5262838e2b1e5ccb1a Author: Konstantin Belousov AuthorDate: 2024-08-23 21:12:15 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 DMAR: provide hw.iommu.ir alias for the hw.dmar.ir tunable (cherry picked from commit 22bf8cf32f355705eb40cfbd7892492ac8140c50) --- sys/x86/iommu/intel_intrmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/x86/iommu/intel_intrmap.c b/sys/x86/iommu/intel_intrmap.c index 1ac51a7aaea0..d2f8f8df4691 100644 --- a/sys/x86/iommu/intel_intrmap.c +++ b/sys/x86/iommu/intel_intrmap.c @@ -331,6 +331,7 @@ dmar_init_irt(struct dmar_unit *unit) return (0); unit->ir_enabled = 1; TUNABLE_INT_FETCH("hw.dmar.ir", &unit->ir_enabled); + TUNABLE_INT_FETCH("hw.iommu.ir", &unit->ir_enabled); if (!unit->ir_enabled) return (0); if (!unit->qi_enabled) { From nobody Wed Sep 11 08:44:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3YzB5m6Sz5W7q5; Wed, 11 Sep 2024 08:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3YzB3S83z41R4; Wed, 11 Sep 2024 08:44:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4u96C7aMU9oIgImLa9izIeEg2Tcn4U4lZlCYfehoxLM=; b=Hu3p5cfLhNwk4FRzInfNZnJmsKvhMTEsoEzWeFow21a5MheM7QnMzTPmjH16bVEsGB3+G2 /03t9JqjBME7QClSpZw0wYUPqovcwF7stxA/b0fzTfnXS60jBKz0yAYDwn11HaNXxQj9TK B3x50YV3Ge7RlYoJAim5qEtIzZL5qZn3HQlzTM4ZcCRSliAVGwOjvR40WIfEXxnRGGNdAZ AUKSPt0bBSV9YnuMcPGcEXjK+QGBPb864afpX6FebLpHM1yJwmVG5GHYrY6f++GZN7b86C M96OJPte5NsgsgRSJZTLKv0a0ZHM13Xr8TGkoW3AZI9dtMdUZI7F3pacBawrzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044278; a=rsa-sha256; cv=none; b=JXUTdsvoE+4crWIds1eB/i2vva9jhI5dQ4o0tBL9AeH0QriXlMFpAzFMhgEXWZyChqqzG/ c7YazJ9sySe6Fqz3VgkwWtrxJmG2r7iWz27uc9doiR7qx+TTSpkYKNKNjFmnc5qTRB14oC 5MeFtzMGQmkSjNsu+2dUPDhVv9P5a03E39i8uewtByQAfTD19R4Z9csf1vtO7bi0WAxrXD SjE+qNmRnR3MyyWfXoL8nrOOxquJQSXlYRI8yxTEPLMbVUMkLsJcPerk7D3dUFqsfceQBI UPLpTdIWJqkK9jggJbIS1++ZVqTo57Gz0gFEq3PvjnyagW5vxOQJzxjEaelNnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4u96C7aMU9oIgImLa9izIeEg2Tcn4U4lZlCYfehoxLM=; b=C+gCh6mRnML0TknQ9k1KMfgqrmcUnHk4evwigA8V723po2pwkxSewrC5Kqp1Rki13osBOt IUtZt413BVlyuK86Psome4PEjfjkg/LuBK+uZqCvESi/MShQBuRBzj1EMSRCF7KTWwYHCx NPKQRuH13J9uaDH8hSRMy/DtISvUp3jOebMZTZr6daM7mWLlKnokviqH1utLll3FJxiJSj 6clGhHMH1pXrmiQDaaUugAjleA+V6MsEld2Y6txtrTJr5mwdkYgsT8DzfetUzYkWTqJTW4 bakfsBAFzlqxs8I0/vHlUHr3tKCvf54FrNis9LwYbFLSbekkksbhs7bCrV4yxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3YzB3462zP7V; Wed, 11 Sep 2024 08:44:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8icqG008141; Wed, 11 Sep 2024 08:44:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8icjW008138; Wed, 11 Sep 2024 08:44:38 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:38 GMT Message-Id: <202409110844.48B8icjW008138@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 483c1340a009 - stable/14 - msi_release(): consistently unlock msi_lock around iommu_unmap_msi_intr() 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 483c1340a009ba51e3694f3990e6c07479667002 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=483c1340a009ba51e3694f3990e6c07479667002 commit 483c1340a009ba51e3694f3990e6c07479667002 Author: Konstantin Belousov AuthorDate: 2024-08-27 02:28:49 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 msi_release(): consistently unlock msi_lock around iommu_unmap_msi_intr() (cherry picked from commit e8fc8eb8b8f55072379f65f5f058b81870031b7d) --- sys/x86/x86/msi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c index 177bd7868ec4..c8e7db9469ed 100644 --- a/sys/x86/x86/msi.c +++ b/sys/x86/x86/msi.c @@ -555,7 +555,9 @@ msi_release(int *irqs, int count) KASSERT(msi->msi_first == first, ("message not in group")); KASSERT(msi->msi_dev == first->msi_dev, ("owner mismatch")); #ifdef IOMMU + mtx_unlock(&msi_lock); iommu_unmap_msi_intr(first->msi_dev, msi->msi_remap_cookie); + mtx_lock(&msi_lock); #endif msi->msi_first = NULL; msi->msi_dev = NULL; From nobody Wed Sep 11 08:44:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz93bsQz5W7mT; Wed, 11 Sep 2024 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz92qFVz41cr; Wed, 11 Sep 2024 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ie3ttZ4ZdB0nYqaG+TT4BVZfwrhVJD6ens2C98Cc/LQ=; b=sVjQOFloXKTiPhMrUTEtuyfBtT+3glOT6DshpJmBfUYEhZQZIcy9LTaHgFrjPYRmookAC9 ysx1E1tSOLQ4cQKt/OTYXOcMM+zmYvz7BaUIrayzIhx6oAVahR1osum/Mx1aW3hO8j+O05 6EY57TXynQeguAGlCVTGIu7DQHKkwk3VIGaND2T6P1N8MVlGc5m06XwsL66pJ+2yVrzMws YoO+ZHC5sUtQu4nhAW1oQk8U6FTDGaLHXzoQSprAHQ4sN2pW1kNypneIubrFp+DI/e1BzI O5EUt55XsG1fuJhH+52AR4WBgGPYxyGKUgHgOp9i8ZLOdpG/nAeNQIKLhzktaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044277; a=rsa-sha256; cv=none; b=j1jwNm9OldWTFxi/PzNIazExsqeCdtufGRLC4n0vbh/9qORTGe9cN6J4saBQwHRcoFI7km MBgixSdwq6PNHtcEAPfF3Y6MPMnw6oSg4n21xbhUcSxEMqeQwuifEBDqEMz+5Xk91V7bgM QCUW7dGRC5SUxBK4nCZel1K8zVg2GbP1pWVeRhUOLGwaAWeBG2pqLXDv1Ln/KAcVd2pFt2 FntEhlk7eF7r8ngEvZ/7urQL2tzrX9wep2USgELFj3Nh8AX31BBkaJEpdD6lDw4Cq2NUcR mSS5TIDp6pXh0yxataoZUv09YoZ8YFceSEi7sj1Y3oMJBoHeHWWLMpGGCYOfZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ie3ttZ4ZdB0nYqaG+TT4BVZfwrhVJD6ens2C98Cc/LQ=; b=p1AjpdojA2+nZUDFLBepoWmGTkTDKE2DNv09GSch55W46DXrulRj7yarpt/w8gMYymhIAV JgBmXxL+IwL0GJDHTRld0ivt/st8D6+ves81q1RyhrYhlpx9U70yNAi5rr6N3LKkTJuxnz 8BgGx+Dn+XCmnVbOR95Wt5U/YRm51tlyd02VQODGmVcbwZIBYZ1ckP+WPkp3hBMGjqRD43 f3hxn6MPsnP+qEGH+H8Gz1DMAndIabEEOly/Zj4eE+/se/+q8tC0APSGmSzEvZYGr/F4mE 8l+bGwb5SVr5G10LqDaxpJ4dInZNgQLGarqkfF32mwwO9dggOo0CyFZUeDhkrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz92FyGzP9n; Wed, 11 Sep 2024 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8ibEO008095; Wed, 11 Sep 2024 08:44:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8ibOF008092; Wed, 11 Sep 2024 08:44:37 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:37 GMT Message-Id: <202409110844.48B8ibOF008092@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3ff2b417a0c1 - stable/14 - msi_alloc(): do not leak msi_lock in error case 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3ff2b417a0c193379a982b9b95e1d52456c0efe3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3ff2b417a0c193379a982b9b95e1d52456c0efe3 commit 3ff2b417a0c193379a982b9b95e1d52456c0efe3 Author: Konstantin Belousov AuthorDate: 2024-08-27 02:28:10 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 msi_alloc(): do not leak msi_lock in error case (cherry picked from commit 5681ddfd9f80c3aa25f900a1bcaa69b36a4e9e27) --- sys/x86/x86/msi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c index 888635cba3f4..177bd7868ec4 100644 --- a/sys/x86/x86/msi.c +++ b/sys/x86/x86/msi.c @@ -480,6 +480,7 @@ again: if (error != 0) { for (i = 0; i < count; i++) apic_free_vector(cpu, vector + i, irqs[i]); + mtx_unlock(&msi_lock); free(mirqs, M_MSI); return (error); } From nobody Wed Sep 11 08:44:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3Yz82B9Cz5W7gq; Wed, 11 Sep 2024 08:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3Yz81ck8z41R1; Wed, 11 Sep 2024 08:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HgAgj0F9DVbb+A3kpz2FPg1iuP6MFSHCmZxamOBN4+c=; b=oWT/13Q5/GMNrQ6Ot4F9zowPTqdJij2Z6y1usL6MsZMm+s89lJ6ISX96Zc/D5hkAz/5R5x KqouADaGBV9d5Jtu3KU/5LhI6HQ25r6UIOrq0gcI/u7mFdmx0x4hAnG/UG5PXlSP0lRuoT fLKzdPMcDzeZ8XWjB6GfDAsFncIE8rBNYFNuTnchKY8G+kAvNAN5cNjW6Z3YWhv5t8QTty Eb3LG+u900/WAVS103uz83jAHTa1sYkd2L9eXeMNGo0y6yNL1pcXzUJjuGgM4Ag5MfNDxT Le4/IgVslBFDnOpgRYIqm49vGcu/oD2mPsLKxn4pjNajZgZfSX26/OsahHAJ9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044276; a=rsa-sha256; cv=none; b=tgc/Lql+/67e+j6WyMZSfrW3bRhQ7e2ivXFJtlAhFstHePVqmwMCCRIibNG0AAbpH8F5al k3EanjrGN5nAGXb474kCna0ci5sIAqnlkoyjN9fTe4Djpx26dfmN5QpUahgmJ7TUtxg84D IPbEPZawWzjP655wLrlAyyon3S6TF3vhG+9HSWDE5izXWwTWqALfUswjUY5dm/yAKjCI3l Arq5MXVpNrMkk5OyaOmwq4T8OdPyY6oxKCE2riJkXu59lzvlBBazxSwZ+bQC/QSYZYVhge LrlHPGc8y/rkhctz7IjkxBWYhZAL8+Efl5uEevUE1ploZVo+412cV7uaaCE35A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HgAgj0F9DVbb+A3kpz2FPg1iuP6MFSHCmZxamOBN4+c=; b=OnxblxSD7Kj+yQuo6WYyaMF1B6hBcLR1YG+/pD6MGoomuFLU2wvTUnF1alfMLg4ND1sD2P s1YPZO1KUbxi2oADMFBurPKhYInr9zkgYjyoMqXbEiJJcpanIIwLHYdEPWmxPMU5RLg86m uoB2al/943nT0uFVAbACYE5EzM2pMcTfl3tjPp5zTxw74EkZM9kZOr6Scsod1oFhTKsp8n 6vp5r6nwLbcDOiyrestt2x3Qo4ZcF5XFojqKB9f5fqzO2AcNl4wKBVvgg46OCrDLC0ij58 02QxcpzcVwxvlm1sS4dLiDLNa1ueW/w4VpZ+OOSyMBKoPRwAtUx/dXp5gLNvxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3Yz81D0gzP9m; Wed, 11 Sep 2024 08:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8ianC008044; Wed, 11 Sep 2024 08:44:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8ianC008041; Wed, 11 Sep 2024 08:44:36 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:36 GMT Message-Id: <202409110844.48B8ianC008041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1d85f40e7fe3 - stable/14 - dmar: avoid excessive indirection in KASSERT() in domain_map_buf() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1d85f40e7fe35f9e434f22cdc16a9f8c02b1dd16 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1d85f40e7fe35f9e434f22cdc16a9f8c02b1dd16 commit 1d85f40e7fe35f9e434f22cdc16a9f8c02b1dd16 Author: Konstantin Belousov AuthorDate: 2024-07-20 00:15:22 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 dmar: avoid excessive indirection in KASSERT() in domain_map_buf() (cherry picked from commit 09fc33d1d75f93ed04fc6b18e7fe2911b7e770e0) --- sys/x86/iommu/intel_idpgtbl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/x86/iommu/intel_idpgtbl.c b/sys/x86/iommu/intel_idpgtbl.c index 850627a2defd..21b717f54f34 100644 --- a/sys/x86/iommu/intel_idpgtbl.c +++ b/sys/x86/iommu/intel_idpgtbl.c @@ -479,7 +479,7 @@ domain_map_buf(struct iommu_domain *iodom, iommu_gaddr_t base, domain = IODOM2DOM(iodom); unit = domain->dmar; - KASSERT((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) == 0, + KASSERT((iodom->flags & IOMMU_DOMAIN_IDMAP) == 0, ("modifying idmap pagetable domain %p", domain)); KASSERT((base & IOMMU_PAGE_MASK) == 0, ("non-aligned base %p %jx %jx", domain, (uintmax_t)base, From nobody Wed Sep 11 08:44:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3YzD0mBtz5W7bS; Wed, 11 Sep 2024 08:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3YzC4VvRz41R8; Wed, 11 Sep 2024 08:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gfZyN6yPBUe3yW/QirxNHadBFxBr18J8eHjeHCmlwDU=; b=TyLCGSdWn2q+UrHF0MmWKzbA3jEQa76IGSa/mC59yShSQ1+bH5xhKo9oMZSi7PK/79BRxy 6Zp818WCh9Ex0+6TSlep9m5tTweh8mKvn+rpBq9LsbDsuH/dNCwvmJBYd+bFjP+a+hkIv0 Su//eSe6fVcSYeBrB8o++faZDELBknrc+NJuoXGmmegV1qVacx2IYjQr0qXWBsYZ43gtmr /7/R7FS43c7HQGyWFLyRPcJq3U42eY/5T0W6pmUD8hFTARJGKisss0lZApMpykC9xe+DT5 VulCu+UW2b3ZsRocCPclVLcvOGdV4Zo+RHOB9rBI4Leo2llpKat5i4dDwzirRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044279; a=rsa-sha256; cv=none; b=hkmQMdGydxuQa/OEJsprH3J95pb7cXchg2ohzh1V2/dir/5MUD0aCcJv4iHqN5WStMQIoF OQvfJbo4qbluO5JVeKLftLg/F/hcjzFav0/XxpSPtPEoHMaD6QXlloTfnl/rQoDGXESm1+ K2ZFenOkAh/ZzOPioOSZrF71Ui3Gv/vS8kQrVrP6c1nzwmsTu2Le3R8s4pQXOTgT3cR4B3 WN0Ht5tqMZEwd91vyMxy08qTfxj7S1YVLMC3RoRZ6Cidk7IV/Xv/mNL/lKbM5yU8xRdo0H qdVBBGiYjdSRfby5hPefkrBXDoLhTYqv0Fb76dsX1KNDXDrp4O3X3kNpmB1rlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gfZyN6yPBUe3yW/QirxNHadBFxBr18J8eHjeHCmlwDU=; b=Pp7XoaVzfKhDW0cewvTrRipYM4mrsUUTaFYjLkndnZiCkdNzStTy9pF2sHGRlYvbk97/ds T6YgXCBOaIGuWQZmY5/IBMSbBZfqgdBUbZZSlXvVBOAh0PEYsWrOEiGBXv3dYQ6lFmmBkG 8g+yjOkJNzq8Mp/vYydkduEQ5Y4o3cGpgNRe/6cqE/+BVj4m9iwDVZGgU+26vg1BpT905G vZ5rIqM+C0o3mFi9V/b9KZfT0IVEp7CNffsSx1pQMnNVHssXt4GQXwmnQ2oWc6+J58Z4lt M+P2SVgMXc7sAH2A6HMKKTkQN4dCG9PY5dSWWsG05kRGZRbcQ3ZhnPS7cBU1dQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3YzC477qzPbC; Wed, 11 Sep 2024 08:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8id6x008195; Wed, 11 Sep 2024 08:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8idWS008192; Wed, 11 Sep 2024 08:44:39 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:39 GMT Message-Id: <202409110844.48B8idWS008192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c5c01f6276ee - stable/14 - x86: always provide dummy x86_iommu virtual methods 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c5c01f6276ee117af069ca84f84f46362b0b279c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c5c01f6276ee117af069ca84f84f46362b0b279c commit c5c01f6276ee117af069ca84f84f46362b0b279c Author: Konstantin Belousov AuthorDate: 2024-09-05 00:33:34 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:00 +0000 x86: always provide dummy x86_iommu virtual methods (cherry picked from commit 99e3d96fc1a2b1d5cac5a635608ec3044ec4fa13) --- sys/x86/iommu/iommu_utils.c | 52 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 2c647fd21c67..2011c632f770 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -190,12 +190,60 @@ SYSCTL_INT(_hw_iommu, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, &iommu_qi_batch_coalesce, 0, "Number of qi batches between interrupt"); -static struct x86_iommu *x86_iommu; +static struct iommu_unit * +x86_no_iommu_find(device_t dev, bool verbose) +{ + return (NULL); +} + +static int +x86_no_iommu_alloc_msi_intr(device_t src, u_int *cookies, u_int count) +{ + return (EOPNOTSUPP); +} + +static int +x86_no_iommu_map_msi_intr(device_t src, u_int cpu, u_int vector, + u_int cookie, uint64_t *addr, uint32_t *data) +{ + return (EOPNOTSUPP); +} + +static int +x86_no_iommu_unmap_msi_intr(device_t src, u_int cookie) +{ + return (0); +} + +static int +x86_no_iommu_map_ioapic_intr(u_int ioapic_id, u_int cpu, u_int vector, + bool edge, bool activehi, int irq, u_int *cookie, uint32_t *hi, + uint32_t *lo) +{ + return (EOPNOTSUPP); +} + +static int +x86_no_iommu_unmap_ioapic_intr(u_int ioapic_id, u_int *cookie) +{ + return (0); +} + +static struct x86_iommu x86_no_iommu = { + .find = x86_no_iommu_find, + .alloc_msi_intr = x86_no_iommu_alloc_msi_intr, + .map_msi_intr = x86_no_iommu_map_msi_intr, + .unmap_msi_intr = x86_no_iommu_unmap_msi_intr, + .map_ioapic_intr = x86_no_iommu_map_ioapic_intr, + .unmap_ioapic_intr = x86_no_iommu_unmap_ioapic_intr, +}; + +static struct x86_iommu *x86_iommu = &x86_no_iommu; void set_x86_iommu(struct x86_iommu *x) { - MPASS(x86_iommu == NULL); + MPASS(x86_iommu == &x86_no_iommu); x86_iommu = x; } From nobody Wed Sep 11 08:44:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3YzF1qZPz5W7mX; Wed, 11 Sep 2024 08:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3YzD5G2Bz41RC; Wed, 11 Sep 2024 08:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4jNAGSNQdtmkvsBRh79r9Kccgim2ATVXeLx3AGSNP/E=; b=uVeyiv5Q1qklM5BJ7gPUSy6FaVb7zWcwSuMUB3EdDXk92eLJ1iJMTwI3fT7nbSKkQK7S6m fTCG7Kg25Kk3VWr8RLT6F0CkKg/v7XWrYAadgLm3vVYY4KMD8V5PSxF38LyIc3WazA058K zj/0fQJzGqV8fzZ93vB96Rw5h7nlCFyLnxWzaqQ1lWMLhqgDBplxotxQiZo2f8jM2ORTw2 OK8xtOIHPDYcsIzPVEIbscaFI7JykPDWksdqGnIdfxvMNF5EoAvHbOEsAXCiRTqM88VZlu vh3ncNAUR9OEPIR56U9MNxiQdt/x+URbW4A3WjujvUFpZPzaviW1nkpSddwVAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726044280; a=rsa-sha256; cv=none; b=gGvGKcoYak94Cl5wysaz5DfWfqdHCNxIjVEwbK893eDgtHC3j16jjFuwkfSrSe45P/nqhn IbCnJMqI59XtxmiEf3IRrjbJdQjCfrtnYNjtJgl+NdGF0xUGiFjf47wUxgi2yhMJP5K9N4 dpZ7I30hbVTrbY4TuhWXRAhyOfx8DzN9KvwtaeH914wuCUk4G1uoJHzNUFFztcnOBOTGp2 1ApQoYfGceuvAoHSVwrpSeY04atcbzwnvMlwJOESp/0JBUSs9nFvLBbrYxb0vTRi083kwm +b+KuLZD4lXrygkCqS8AbXPEtRgE9zNuFCeaqEa1fyda01hgqo9IThan0FonVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726044280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4jNAGSNQdtmkvsBRh79r9Kccgim2ATVXeLx3AGSNP/E=; b=RjMAhp7IeOKxynPYnfFCeRq4bLPSHnSDraubqQ16b3MxH8omjjWJTxDXfA4vlGyyITs2UX lUT5Cwg0gmocri8/LWkS0osAGVTa+ldlZX5FmSDKcE2X2gIVu7/3XxsyWQTT2VYiEdbKPy fWQ8tppXllzfchbUePaTjC3VQuZctyzeBLU88LX+xX5sTsZ1McjL2wHI5ykWYS4BT5LKaX DocLdCXsda+wNuJDtId2OxoCcYstkhQ+37TAKziWL5GLjkAVKGkJymC0Ood2DFH3u1IDeI pvSqIoA99SNdBGt4xCND3MX/ZUWbs253gPBTnwVNhtw3ZX1H5gsLX9Mn41DY4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3YzD4t1KzP5L; Wed, 11 Sep 2024 08:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48B8ienY008231; Wed, 11 Sep 2024 08:44:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48B8ie9P008228; Wed, 11 Sep 2024 08:44:40 GMT (envelope-from git) Date: Wed, 11 Sep 2024 08:44:40 GMT Message-Id: <202409110844.48B8ie9P008228@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9f319352d7ac - stable/14 - vfs_default.c: trim whitespace 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9f319352d7aca8cb1d1f7e34e5729668aa794d04 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9f319352d7aca8cb1d1f7e34e5729668aa794d04 commit 9f319352d7aca8cb1d1f7e34e5729668aa794d04 Author: Konstantin Belousov AuthorDate: 2024-09-03 03:42:54 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:01 +0000 vfs_default.c: trim whitespace (cherry picked from commit e28ee29d2d13dc24cd3d5e19fa1fe6bef0085d41) --- sys/kern/vfs_default.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 82076c84279d..e5c37433a77d 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -116,10 +116,10 @@ struct vop_vector default_vnodeops = { .vop_fsync = VOP_NULL, .vop_stat = vop_stdstat, .vop_fdatasync = vop_stdfdatasync, - .vop_getlowvnode = vop_stdgetlowvnode, + .vop_getlowvnode = vop_stdgetlowvnode, .vop_getpages = vop_stdgetpages, .vop_getpages_async = vop_stdgetpages_async, - .vop_getwritemount = vop_stdgetwritemount, + .vop_getwritemount = vop_stdgetwritemount, .vop_inactive = VOP_NULL, .vop_need_inactive = vop_stdneed_inactive, .vop_ioctl = vop_stdioctl, @@ -1090,7 +1090,7 @@ vop_stdadvise(struct vop_advise_args *ap) /* * Round to block boundaries (and later possibly further to - * page boundaries). Applications cannot reasonably be aware + * page boundaries). Applications cannot reasonably be aware * of the boundaries, and the rounding must be to expand at * both extremities to cover enough. It still doesn't cover * read-ahead. For partial blocks, this gives unnecessary From nobody Wed Sep 11 10:09:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3brk3hmHz5WJc5; Wed, 11 Sep 2024 10:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3brk2xQNz4Mxn; Wed, 11 Sep 2024 10:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726049350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H09vazdN98BLt0Mcyo+QRHOqONRfFkbiWaj18NdPQiY=; b=NEkEvN/G/s5QfRYviZ7c3xuO5wS+FEs084fRX9tb6lJlfcuLVMK/YO/4poHKImYFa1/4j2 mZqvZeNQF8+8eXUYejf1b6ISHuIm+TNVBHX0qIfmeHk53ilQtgUvT8ltW+aWmALP2nTjni Cdjb71GVVml/U30IXK042L1vM8lSEVVnT6rpo7ehrj+HRGGcvw6breQUmk+aiuWJaGgfny qLkqnxSJ95PmS5yMjxpFIfEZVQhn2bbyKX5jvBJCo1NQWyqxwNs7qm32BaQEtIfsod58n9 1ZsVVulEjMXXupsvcOhwj/pxuTVC/chrCYft560nUBlZxGQ2V14W4lJJPBa19g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726049350; a=rsa-sha256; cv=none; b=cHY+ifiYWdw0wwG5zywIwOoOZhYfCYrtzTd5vjJ3Itx+vrYik7ERx3V8WSYdvT5dbs2erO WI/kUSqwFhwsyYcPEtuO/kHOZ98kBZuRDoGBRBh73qYwayt2cYRJ0nmNDjYThK0spGrsOc JFVr2dwti3lfDECf/STHoxLCYfBSoOULd/fZJZXh0NGyTu+hLxtgD76cigqwVz8p26zHcC SZza/GHEbp0hdTd89n2KojtIZR1znh0pMA5e/vl2hGt5ikMByXBafOLOhL1VrCRUl7JqWh Yy/giZQnkd3baloYUkRc6sucrQIFgD0wBGRy9ATfAn9UBUN7e6BHgxBnlMEMQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726049350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H09vazdN98BLt0Mcyo+QRHOqONRfFkbiWaj18NdPQiY=; b=IDoYj9tEiWpOdU8HT0JmHvSU3/QA2nIVs3k9d64QAP3AcudYFaFfnMtXAnDSMdkovNZAlG N4PMGnO16A8ccVGnRdm+sbkGwgsaC/uFGvcgwWRmyZtXfzn+dQCALm54qmeWH92F9qVFtM P2kKp2So9UOQzY+WIxDHNshL3cqHGg7kbwGZOSKGoYbX2/SELZIdmssRnxToU74lGzllgW dBUAu0m4DePgvrJeVzysIyBCMgSghMXZH2AeaTK3qQAqtqEP0MlcrnpPo/29lJnDOccWiY IkNKoOjp3HLJBPPAMzIVYbULFeTWYVjIauFJWMpM/h2N2h2Adnp1TPw58YGogQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3brk2PlvzRPX; Wed, 11 Sep 2024 10:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48BA9AOX046094; Wed, 11 Sep 2024 10:09:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48BA9Aei046091; Wed, 11 Sep 2024 10:09:10 GMT (envelope-from git) Date: Wed, 11 Sep 2024 10:09:10 GMT Message-Id: <202409111009.48BA9Aei046091@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: 818a8f2ef344 - stable/13 - ndp: Fix libxo formatting for the header of neighbor cache 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: 818a8f2ef34408e2e85d9317e67492fa165bd98a Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=818a8f2ef34408e2e85d9317e67492fa165bd98a commit 818a8f2ef34408e2e85d9317e67492fa165bd98a Author: Helge Oldach AuthorDate: 2024-09-02 10:12:43 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-11 10:07:48 +0000 ndp: Fix libxo formatting for the header of neighbor cache PR: 272749 Reviewed by: zlei Fixes: e1c7783e220b ndp(8): add structured output formatting via libxo MFC after: 3 days (Note this is only a partial MFS, as the netlink part was not MFS'ed) (cherry picked from commit 209905ec384eedd58f1b9b7ab774029d22787dfb) (cherry picked from commit 07cf1ce012c51e30ef5078c23a7d68a9b5d87c0a) --- usr.sbin/ndp/ndp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 425afdca56f6..c826fb8d241f 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -598,7 +598,7 @@ dump(struct sockaddr_in6 *addr, int cflag) if (!tflag && !cflag) { char xobuf[200]; snprintf(xobuf, sizeof(xobuf), - "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:%%1s} {T:%%5s}\n", + "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:/%%1s} {T:/%%5s}\n", W_ADDR, W_ADDR, W_LL, W_LL, W_IF, W_IF); xo_emit(xobuf, "Neighbor", "Linklayer Address", "Netif", "Expire", "S", "Flags"); } From nobody Thu Sep 12 01:01:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X3zdp3hpWz5W4Xd; Thu, 12 Sep 2024 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X3zdp24Hxz4TRX; Thu, 12 Sep 2024 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726102862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uz8UEQK7K8pxeGXcJZSvTHT5LK9AY3uEoDus9N35vAY=; b=Uohk0VxII77h7ylVcXHbdxwVkjYWtYEsdK9LPC9ITq37BojwVcBQwVT5VO0icMwFILKO7K StGu9xIDUZHIe9qMuq3ApNjBM+q3eyM+yC/YkADLfrNRtwjY+fanp3szo3hHE9NcaKogCz +NdDQSZoN70dLRDGZYj4LHTbOXTCNn9HE1YbtkGq3oH13NFWU5JIDeBjgb2Yf1S9Mfg6SO 5HH2jN91/HfFWSmYLmUHe9/VvBkpL8hlb3jmCUxGz6kw4wq+JZA3HnooM0wOpgjysgDfox yq23rD3SCK9W9MlOSYJCofBh6hjTjegjSvN8eHn2JO5dAJd8+6cSBSrXzBSeaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726102862; a=rsa-sha256; cv=none; b=YmVPaxQwIXbp1LoKEMAs5qxLH1Vu9NCzw1ve3FQdAmauYZn/eOVSkJzLikcU281FDAuyla MA0IL6jJYQTRwot2r9C2sNxvPE+BaPep3J6HFc53DdGgxJtlWvp3gXb/o1cmSMsDPdDhxx BVR+vs8arTim0c5gNfk/DkqXtkqupsifqUuYqzY8vHdV159UBLhTZtXiN6ZDV5O8Eu4zcG jzhhjDoORcHtdzBLmTUjXb6wzkZIuqkZF+MyVHjSBaEYKwKvm55kYUOrq5SZIcPT8IB5Ry mkEi+lUtikz5SIx2LVlCognfLA0G4rPuX3r2a0p2tc9xv2juN+lMZQ2iS25WfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726102862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uz8UEQK7K8pxeGXcJZSvTHT5LK9AY3uEoDus9N35vAY=; b=t9qFJ0qgKfkn+vuMJiIJWkqz7oQKGzeuZ3+Zw7FokBXkZZlXUloSphVx3RCsLF/bpnTcyq 7VDVZ8Cmv2M7ZAS24Umaxy3UsU5gd7BkPg+rdP9xCYP7Y/foRP4ajIAcJmSSHA7zZpsHPg YtHPhaXF5K1ahflewNkzK0wIABF2mW5PSJ42deMExbzI99GvUt4UeRV2tqFIyYEV/pVGTd YxwhByXyL+o1qKCQ64G1mHBq3IxDEnb1f8H0MGMvZGw3ru943YtkzDQSaje37M7ta9XHS6 Gv4JlOZdyDbC8++KVtw+lw+6dYCtNEe8E4TDnYfYg4SNvlFsgrbXhGMXAoN26Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X3zdp1hTtztkc; Thu, 12 Sep 2024 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48C112Yc071264; Thu, 12 Sep 2024 01:01:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48C112sZ071261; Thu, 12 Sep 2024 01:01:02 GMT (envelope-from git) Date: Thu, 12 Sep 2024 01:01:02 GMT Message-Id: <202409120101.48C112sZ071261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e8b9bd97e3cb - stable/14 - vop_stdadvise(): restore correct handling of length == 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e8b9bd97e3cb1f58d4a4514c48d2fb4d49380511 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e8b9bd97e3cb1f58d4a4514c48d2fb4d49380511 commit e8b9bd97e3cb1f58d4a4514c48d2fb4d49380511 Author: Konstantin Belousov AuthorDate: 2024-09-03 04:20:40 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-11 08:44:01 +0000 vop_stdadvise(): restore correct handling of length == 0 (cherry picked from commit 79eba754bec39d88a6494318a2176d19743cf993) --- sys/kern/vfs_default.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index e5c37433a77d..c2bded76f6dc 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -1066,8 +1066,8 @@ vop_stdadvise(struct vop_advise_args *ap) { struct vnode *vp; struct bufobj *bo; + uintmax_t bstart, bend; daddr_t startn, endn; - off_t bstart, bend, start, end; int bsize, error; vp = ap->a_vp; @@ -1099,7 +1099,8 @@ vop_stdadvise(struct vop_advise_args *ap) */ bsize = vp->v_bufobj.bo_bsize; bstart = rounddown(ap->a_start, bsize); - bend = roundup(ap->a_end, bsize); + bend = ap->a_end; + bend = roundup(bend, bsize); /* * Deactivate pages in the specified range from the backing VM @@ -1108,18 +1109,17 @@ vop_stdadvise(struct vop_advise_args *ap) * below. */ if (vp->v_object != NULL) { - start = trunc_page(bstart); - end = round_page(bend); VM_OBJECT_RLOCK(vp->v_object); - vm_object_page_noreuse(vp->v_object, OFF_TO_IDX(start), - OFF_TO_IDX(end)); + vm_object_page_noreuse(vp->v_object, + OFF_TO_IDX(trunc_page(bstart)), + OFF_TO_IDX(round_page(bend))); VM_OBJECT_RUNLOCK(vp->v_object); } bo = &vp->v_bufobj; - BO_RLOCK(bo); startn = bstart / bsize; endn = bend / bsize; + BO_RLOCK(bo); error = bnoreuselist(&bo->bo_clean, bo, startn, endn); if (error == 0) error = bnoreuselist(&bo->bo_dirty, bo, startn, endn); From nobody Thu Sep 12 07:02:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X47fS6kmlz5V3sH; Thu, 12 Sep 2024 07:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X47fS2pF3z4PcM; Thu, 12 Sep 2024 07:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726124528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uHKocotPqjq8ij1ZVXk+Dh8Ppumw29k/9qGqX7hvqQ=; b=LLY9AJvq5Eh2ochBN3zFgPdvvv+5kahzvyecN22JpNMWc/rqQ+aKrk9bXnnciaiW9TNvsG 8HqdaZX4KoVEGVhOIzZ68wlDbDCNCXKmdbkY5ePfkRGK5YJOR8Rs4KEAfb0cxKVyzBvDCA g/orDfvuSv7JsS5fmfZaYNi03Mx0oycAIryBRinc9Mu34IamlSRdDEDSEE81UXrlYxqBD5 ElPVjeF+Mw1kAFQ6VEtx7w4pLlGrGe7TXKfLYqvpixKS9ioWLCoPtTgIpNutK71rkL0C/Q SVOjowpuX2kf+frO2bNnTBXFJEYLpIOw3UjNNE49DQRplnIj6NnXeYWP4Fr04Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726124528; a=rsa-sha256; cv=none; b=Qc0vGNk18xjp7ax9hms4y1tCXIbmqDxW8JHhADugcE6CC2C063L3w0pYQ4h45WxZjTaIpQ 2tS7iOAcyxd1T8jNDLYImEL1cEjW2AsAolls2T6nfNU0//VCfWn8Il9KnNw3D5H/fkniCN HBPZaq0ahaIFzOKbVV0txTNV0yNjUYIAAzK9iQRkrqELTJcIXgwZdpU3R/Q9j0eKdayvzX F4MteamAlEyW6hcTkohyG4yK15agH226h9/ACP6aABhkezXJ8+LT1vGCRIVqPtnpuaCm5v /yWqCsTVd7+dRwvd+LGyWlnT599oBDvQJa2CYkR4vOw99nnxW+aSA8wYnMJcEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726124528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uHKocotPqjq8ij1ZVXk+Dh8Ppumw29k/9qGqX7hvqQ=; b=jckNO9onoMb++7tcmf6UWZrNPcTiUHzPx3JYOXIPtDm64PrEQktKHZHCqTRj47OW5QtrKs h+pG+iTmv7674v40juOAOK5Z8p5vdZwTNU4Gwi+oasUUV4iBwIXhqVkvouc0840QhPK2L7 KFn2EkSdiqCh6kN/5V2S8XgOCWouGxPvX02qPRsXcWvsfgr1mybKqjfRaEKvI+2EkFWXGc oSjsE+7pJBnBXuktsDHSad9LaJ263605U2kFyO1fOLsp0ZBs30TASvKvJR0Qqb5r45Jwe2 usnJsHbm3H8MyiFMIPdiDZaygMITpQhh9Ida2fDkVmcW3+DjcqQyCDVR4oB9jQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X47fS2QVPz150L; Thu, 12 Sep 2024 07:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48C728wQ086982; Thu, 12 Sep 2024 07:02:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48C728NI086979; Thu, 12 Sep 2024 07:02:08 GMT (envelope-from git) Date: Thu, 12 Sep 2024 07:02:08 GMT Message-Id: <202409120702.48C728NI086979@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: 4fe752ccb3f8 - stable/14 - zfs: fix build without MAC 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4fe752ccb3f8faeecf747932d13b15fc774cc244 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=4fe752ccb3f8faeecf747932d13b15fc774cc244 commit 4fe752ccb3f8faeecf747932d13b15fc774cc244 Author: Gleb Smirnoff AuthorDate: 2024-08-14 16:06:31 +0000 Commit: Colin Percival CommitDate: 2024-09-12 07:01:40 +0000 zfs: fix build without MAC (cherry picked from commit b458ddf27fd87afa57575cdad68f6b4183916666) --- sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c index 715b0ee6419c..96ea560a1a85 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c @@ -6323,7 +6323,9 @@ zfs_freebsd_copy_file_range(struct vop_copy_file_range_args *ap) error == EOPNOTSUPP) goto bad_locked_fallback; *ap->a_lenp = (size_t)len; +#ifdef MAC out_locked: +#endif if (invp != outvp) VOP_UNLOCK(invp); VOP_UNLOCK(outvp); From nobody Thu Sep 12 11:53:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X4G661PfYz5WKpd; Thu, 12 Sep 2024 11:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X4G656S1Nz53HQ; Thu, 12 Sep 2024 11:53:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726141981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tudeZe2/bkYBhaNX6qRj0xG4OdZo/nAfRCp4gVuoQjw=; b=L5HdCRlh1F9rwhPCfHGNTJPfbu5CmQFOhjZpVo3zo3bZiG66HJmTAIgLJzEtHT3gveuoxi 5HBoIRiV044GR49U7YkcWsLlFQLhwpymuydJiJsDpaGN6EBhQ7l1JHqRkGyTyFJxJOVoT5 TYWRLRDLaVUwtb91kRODfCVFugfFQ4m6x4C2vuljWxRxgJzrY988Cnrhc+jWUKuTYhz3/b 3nLms4TnpRA5/xqsiLnpHvpqFr8lQgIZZLCBTd/ZFZqtUQzSxJitczSyX8hgi93Pz01AaO 8wGSyIUp173X1ie+RZPuRj3iNqr4dHA7fCvddIYrcpKCCnuHCCNKdz9kbUiVRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726141981; a=rsa-sha256; cv=none; b=bsDYwyLZ6tg9Vq6qw1gfwfMdUnFLv5sjgXgBU05raX68AzStqT+gRa4f1pC24sikDpXgfX y5OTSxyOoIscu7yodWQTb0reStc+eAleHIWHWmXMnQ83Ofs753wHnQzWAw+joGsuL9R37c 4+c5G3Yr71iqv2BGcqf74jru5Pkg3ZVQEsf5ds2q7b9SmywJQdjQjNpQXMdG1ELVD15Boh Z2sLVvfY/Am1w3ltgXmR4NLx9Qymldfu+W57duXoqnjNyczLK83Tg2b6mAw++XsZNOdauj 5+wJbfTs4bOjo4NpIF1DBXvUs1Sn2mN0v7s+Wi8oblr562zU2iW+vGLM+WHSNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726141981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tudeZe2/bkYBhaNX6qRj0xG4OdZo/nAfRCp4gVuoQjw=; b=x+5k/M2STk7JKywMU3SahmaLxHZ9xfJ57qCXDkw4dPA3mKwUUOYR0pSE4vqMhy1RcOWA4p tk/D9r0RyL40HzL3XlWMNz4ZAV38ZOmgvftRJCViu/+nM8SEZP53OPC7alvsbBHDEh/XNt KU5YLYQPnbx4qVKnpRk8YE4y8Jk5brNIGz08SnrGN+iE+BFrycNvKWGWtBY/p7m4lQz56V bWCaaPa1GjdRFAoHHc6dY2RPEiFy4hfT+NeGKcxgz/QXFVa+9E4hb92o4nWpWnqp9vEPP3 eQQ8sWsWleBYmr30wNHoMCDCCB5V/iWzSTm6qnzo97JTNkGtETmSo0n+Ritx5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X4G655B2Qz1D4w; Thu, 12 Sep 2024 11:53:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48CBr1C1080984; Thu, 12 Sep 2024 11:53:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48CBr1B1080981; Thu, 12 Sep 2024 11:53:01 GMT (envelope-from git) Date: Thu, 12 Sep 2024 11:53:01 GMT Message-Id: <202409121153.48CBr1B1080981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8f2519378501 - stable/14 - if_ovpn: ensure it's safe to modify the mbuf 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8f251937850142748cdf67a46630342934ff9f91 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8f251937850142748cdf67a46630342934ff9f91 commit 8f251937850142748cdf67a46630342934ff9f91 Author: Kristof Provost AuthorDate: 2024-09-04 12:54:23 +0000 Commit: Kristof Provost CommitDate: 2024-09-12 07:57:04 +0000 if_ovpn: ensure it's safe to modify the mbuf PR: 280036 Reviewed by: ae MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D46529 (cherry picked from commit 5644e2c6d47c6113a61ab7fc0776b7227677656a) --- sys/net/if_ovpn.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index 7af669c69511..e550fb9921dc 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -2119,6 +2119,12 @@ ovpn_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, sc = ifp->if_softc; + m = m_unshare(m, M_NOWAIT); + if (m == NULL) { + OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + return (ENOBUFS); + } + OVPN_RLOCK(sc); SDT_PROBE1(if_ovpn, tx, transmit, start, m); @@ -2237,6 +2243,12 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, M_ASSERTPKTHDR(m); + m = m_unshare(m, M_NOWAIT); + if (m == NULL) { + OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + return (true); + } + OVPN_COUNTER_ADD(sc, transport_bytes_received, m->m_pkthdr.len - off); ohdrlen = sizeof(*ohdr) - sizeof(ohdr->auth_tag); From nobody Fri Sep 13 00:18:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X4Zdr2CDGz5V2Q2; Fri, 13 Sep 2024 00:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X4Zdr1hg9z4WyN; Fri, 13 Sep 2024 00:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726186688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbwVTJ0/FdFm4nY4Iw8vNCLdjewz0Y5icfV1JeH0fe0=; b=ZfIh7acsxif9CiLRKZs/FEN+o9CNxnm+dZ4qLJbaabUh6WwAZ7bBzDgwPjCyohCSjZj0rc uccB/mRvcejUTzPygnQ9misY2WfHjLAII3F3YC7MBDpmyy6esvtkfrsiQih+WWD1FpniHY 5Pi/YRp5K/R1wjiGmLzJjIE+b0M9kFTDMcZbb7rlTRy7n4OZhMosVMjKKLPFCGZwo7e1Hi O5GTRHb4iwnnY2YOVcOZgdFZJLFFHghfjX7x+T8fryBNSTK5J/jLg1RrzLVLbXPl6lFn5j iyJaGzdxw4jRU4TFJxOr6vntrFCgi18HEh1imR09M5MbpTN8PyIynU2DfnAlpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726186688; a=rsa-sha256; cv=none; b=Q3JAzuQxgHUEZs76oHayAKENQ4gSQ56WEyNZD5RzDJuSZatGVQeIO1PbWjqq57acPNX+bD ytJanUK/f+aCcSekE25waXDIVUtSYMld+eCKELizrbGuxmVeAVPmfYr1LzRc7XcGy5tA19 Ad4k1WCXItsMtEKbys6nG9EcUrqAeQHr35g8eAlPckQDSSeqomMFLnWmxo6T9bNP0FkwIn 4r3rwVP80zgpemBNt0hsAgWXUi4u+grhVeFvQZ0iXPjc/DOEZk4heAeMn+EcnPvU3I96YV TsPrDveQVusUugj9qGsBwVIvaZFNiYA7T0y3KvXB+jV56BjHg26nEBsPr8V/jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726186688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbwVTJ0/FdFm4nY4Iw8vNCLdjewz0Y5icfV1JeH0fe0=; b=Rw47BryQ8xFNNcyWC8BCt+2wWu+qhqpLTbbH5ZQxwLmOYgiQTmlOCp5Mh9XPLmEWSwJHqR 6bFO32wR7SbMU0/5UyYzq9wBQYHG+iptdkMDIc7gljnhvMtB+MwwoCwr6t5XQa9GQLfFLo VhCyWNTzinNtbpaMCegTECOlsd4x0pX3BAoOQN2DbMO+I6UoMc38Vu3O700NmtJwNQKtdk CUQR6wC9zozvkNb2tIv5cJwRFZi0OQ5GiSwd4++apmMOHdaOz83842LbGHGi/1/AjYga2c lWKPt4m4+XOWqOAQLZZ4dbvCRC3HOLlijyuivqC0V3iBQoy8QQ2fAl20Yp2eFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X4Zdr1Hz9zLbC; Fri, 13 Sep 2024 00:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48D0I8wo039267; Fri, 13 Sep 2024 00:18:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48D0I8xx039264; Fri, 13 Sep 2024 00:18:08 GMT (envelope-from git) Date: Fri, 13 Sep 2024 00:18:08 GMT Message-Id: <202409130018.48D0I8xx039264@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: 58066db597be - releng/13.4 - Update in preparation for 13.4-RELEASE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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.4 X-Git-Reftype: branch X-Git-Commit: 58066db597befb899b2fe59031b2a32fb9183f0f Auto-Submitted: auto-generated The branch releng/13.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=58066db597befb899b2fe59031b2a32fb9183f0f commit 58066db597befb899b2fe59031b2a32fb9183f0f Author: Colin Percival AuthorDate: 2024-09-13 00:00:00 +0000 Commit: Colin Percival CommitDate: 2024-09-13 00:00:00 +0000 Update in preparation for 13.4-RELEASE - Bump BRANCH to RELEASE - Record the anticipated announcement date in UPDATING - Set a static __FreeBSD_version in crtbrand.S Approved by: re (implicit) Sponsored by: Amazon --- UPDATING | 3 +++ lib/csu/common/crtbrand.S | 2 +- sys/conf/newvers.sh | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/UPDATING b/UPDATING index f1c2c0d8617e..3080a1e5b420 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,9 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240917: + 13.4-RELEASE. + 20240904: 13.4-RC2-p1 SA-24:09.libnv SA-24:11.ctl diff --git a/lib/csu/common/crtbrand.S b/lib/csu/common/crtbrand.S index 0ed86bfba2b2..7935e6b3dddb 100644 --- a/lib/csu/common/crtbrand.S +++ b/lib/csu/common/crtbrand.S @@ -43,7 +43,7 @@ .4byte NT_FREEBSD_ABI_TAG 1: .asciz NOTE_FREEBSD_VENDOR 2: .p2align 2 -3: .4byte __FreeBSD_version +3: .4byte 1304000 4: .section .note.GNU-stack,"",%progbits diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 862c89a779f1..dd9ff3795158 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.4" -BRANCH="RC3" +BRANCH="RELEASE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Sep 13 00:18:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X4Zf70PfLz5V2Ys; Fri, 13 Sep 2024 00:18: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X4Zf672m4z4X3R; Fri, 13 Sep 2024 00:18:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726186703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gjqlh1UB9YQhgWphJ7P2atVKpD8gG2eP8y4g0cXcrSQ=; b=ySMjX5QfNccb5++DJkMLDMNIuulgJST24fUs4nzS5nk/tGzf487Pwv9ld2N68ar4GCHG0C uTrxd4PsAYZvGm5HkcG39bHreDqUGwhplKglRJ9Gm8ByfpcXKkYlYAHl/jwpw7wXtcTNJx 1pm1/pRe9YGaxVQVAylTPRaV1x7mxalWG3kJNr64LpJaLtIPJE63obK2KruphLuAZ8xrut l8mNzuSUuQX551Px7jHKTTpuUa2Ro27I8FA5hOr4oR85q4Qpz6Y46Z5OB77fWL37LlD/dc 71vFIac6i2oclyb29YoVhP2A/FO9suvguv5h6PCoLqKsZjFhhE+Xzmr3hkfL3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726186703; a=rsa-sha256; cv=none; b=vA3dRXGkmMj8RexsGlu5LX9SPq8Yis53mYFhHFvBSnrBaIPSzpZggR772Oaku7IfbRkHjh s2a0apIRTd2AHA6OY2kKHEUpa7S3+KI0obhR0/xo2he7F/XtuTtG6ePbe3W7Y550YFxntP drXb2tlbqSmlszsnOcevm4YU4zLunvi0tUZPEEHhwXqdSW8yP1rPfxmOm5P2qdYMxZAjik JB4L1Ho/9zfG+kRaao3+S8Q0FHr02jhcKiTaWHFGAmHT0SjNeFKD6fuKIFngvSLCVlaISf qrLj3RExEHvZgdiruiOewJ9qdd6SIqaOG+u70YqOWuxgWV14bIzcQMBmlrEX6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726186703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gjqlh1UB9YQhgWphJ7P2atVKpD8gG2eP8y4g0cXcrSQ=; b=iKDv8/AiJsBzB2gHHOwcvqftTzXe/Kj2l7v1Rb7GkPQP84QUlhVKx2ucnl9sEb8zO3PHhE BORHS6V3+O0ajllYLbqMIdV4XBk4Eu/B/TJxFLebgRyBgCt7utuGOk/bjx/AIE1k8iYnWk 6eFEqSk0RjAcA2F0gm5nF0wBl/X6gN2u5nmr11+33uJL0Ykvx12Tj1nB6nFqFxLsrnYua8 kHZeJXTQfr/vB1ixnFksGXqbWhNCd2/+/TqjWQLY52CT0VBn5tmsWXGBsDU5PlGViaMg36 tAvaqUzGahgHJThQMHtUEE+qSz5X2w5s0FISeCM2NeMxmXSNh0hyfDfGHb/03g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X4Zf66cVdzLGP; Fri, 13 Sep 2024 00:18:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48D0IM1e039386; Fri, 13 Sep 2024 00:18:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48D0IMui039385; Fri, 13 Sep 2024 00:18:22 GMT (envelope-from git) Date: Fri, 13 Sep 2024 00:18:22 GMT Message-Id: <202409130018.48D0IMui039385@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: c876eaf40915 - Create tag release/13.4.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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/tags/release/13.4.0 X-Git-Reftype: annotated tag X-Git-Commit: c876eaf40915f213dc07f74e730ee6a2a9de7ba1 Auto-Submitted: auto-generated The annotated tag release/13.4.0 has been created by cperciva: URL: https://cgit.FreeBSD.org/src/tag/?h=release/13.4.0 tag release/13.4.0 Tagger: Colin Percival TaggerDate: 2024-09-13 00:00:00 +0000 Tag 13.4-RELEASE from 58066db597be -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmbjJPQACgkQOJfy4i5l rT+gLBAAj1n2d0DahQBObfAN336mKcT3F8ywdbfRTtG/W0YmtuzZxkZB1+2+Z6io 5/qz2jbLhy2ZmdHhStGRI401p5lF0v9GxAr/iv7EAurnu/MqvxdbhaHS8ClwdFDk 9DgFpI0EY0pMus+bu9K/cZhx69DfgAgqgFGjyO9DDCqP9AWgMSb8V4JuMgnJHYiG PznhxdBfehCqkCKwm6wY+tYqiG33kC4Xpe5/D9W2TTFhvExwJHXI+Sb645ioU6ZI ylzjsgIqsW+9wWnvIAtizjF0oEfMa053qQV8vXC4lyFbqAQDefhRay5GC8EgBZZu bA6CNisHUCqJEx420meInoMDYGPZ9EVySG3YahXCndLhaofIP3K2PpVnklUS9aSL Rzt4alyt1VCjmO8+yq1c4Jdx8TkZfnMsZsH2Chdc3twmp860y3ID03uqcTsmLo4N qfIA3JD6RsXVDDqhE7O5cjwIyypcpulvkDzC3y2q1OWBgv3UobRCWgfXx7xU4GPq pt1/9q8salXhDULKekUOyLBrbo21H+zBJuwysh3NdMtlkL1BD9aEEmZi+LZE8RSd FnRAKk8yIx/x3USS7cxLBSsD2ezt9N0cI3bvBUMo5SX7rJ/3Wj4cWwhmKeSnq08a E6WK6zJMu9qn8movf/sHaoGdBOMIbVUHoHQmmGukyttblyHKdTI= =clL4 -----END PGP SIGNATURE----- commit 58066db597befb899b2fe59031b2a32fb9183f0f Author: Colin Percival AuthorDate: 2024-09-13 00:00:00 +0000 Commit: Colin Percival CommitDate: 2024-09-13 00:00:00 +0000 Update in preparation for 13.4-RELEASE - Bump BRANCH to RELEASE - Record the anticipated announcement date in UPDATING - Set a static __FreeBSD_version in crtbrand.S Approved by: re (implicit) Sponsored by: Amazon From nobody Sat Sep 14 07:21:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X5N0C0J6yz5W3DW; Sat, 14 Sep 2024 07:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X5N0B6nJ3z4d5W; Sat, 14 Sep 2024 07:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726298507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfaNtuopUKkcGq72X5GI7tLk2XGMq8MZ8jT3OdbSa+E=; b=Eiod0dpQ5yI4LDNN2CYQY17QeDBEJ9nl4rbIkJwKzmIIkF2Q+q788Vz7Nj1bAbd/ma1vtJ Kd3Ee5fEsifCK/mUoMqOubZRC0ST1B6sv6SJaVfjhwpDLH3n8vB+PAn7thZL8MjrSx5/rm A7u+rRzQroqcDNiUXwXSy2eOGYGqiv+3oTq1oaaexojexqhK+WDiDgMdEgelrplrJB7iJJ 4KXtbz3JWwDM6Es/pI2ptK1Xaab4YQYp6BDX19589ZeW3ExeoFv2+yDRPEEN3b+7My1r8k jKL4/4dOmVO2alBlF4d2t6Osfd9f8Y3BP3pDpLdD3CQrJ1o2HZWdoTd5+/zEGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726298507; a=rsa-sha256; cv=none; b=IqQ615mTXqJhf9cErN3sEfVhEHcFKEknAQ7wO66k98bA+8DRZukWXyTi9Z+9ikeu4EpUq2 8PuNYQzNXbqc/paXF+yH/ho+wZYgmyl9SXjUSn//QI1x8hKQpdzMUX9OGQPWIxfW5aTlMX ymxpNDzUNF8xoCTUsJ76zQ203u6SPuWwXIxzo+Q2aw5sGq72KwBRjqt6fcdckEathphBLw 9akPj2p9NrM5pISrfaESWaANmMbgoF+BmlqXxvjuQtyMRt+JKCDCzNaO1CMgeYUYHlhx/o 2seOFZ1xMEze1LW2NEdwdNayIUTupC8qAZWit7kxEHullKu56b4AKivTuWLdXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726298507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfaNtuopUKkcGq72X5GI7tLk2XGMq8MZ8jT3OdbSa+E=; b=iAhX6Sy9z/pbHFK+ZbunVWuIk6Y/Z29TqF7nNpWan/i7ip0ZeMdMpj7CAzpdVzntV2uVT7 HCvRPaKTfazEQrYFVVtt/VVpyQ8/PLS2/KFKn3XDhws2VQeqw/QaN6VLwa4zi25Lz27uST onxzICsBG+7sEwi+DamMK1OodlW+ACDuU0gDuOn03CMMWhUJ5Gb/0rxJxVgZ6Hj3Qpf9GM TIKF6THGhE0KjyQQ+6J/DFwTQUokTdt4sESI/NSJ4ZGWJV07DtjMSlLaSZnZuDRqgXem+P fNcx8vIYlUFBgoRVnpzOLXCiarlWrvedGMyvy8TYwNA/IvIdWwJQaTNjwgpnLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X5N0B6NYvzHwb; Sat, 14 Sep 2024 07:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48E7LkRJ012392; Sat, 14 Sep 2024 07:21:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48E7Lk9C012389; Sat, 14 Sep 2024 07:21:46 GMT (envelope-from git) Date: Sat, 14 Sep 2024 07:21:46 GMT Message-Id: <202409140721.48E7Lk9C012389@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 048132192698 - stable/14 - MFC: fetch(1): suppress "Not Modified" in quiet mode 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 048132192698865914e07c899898861b2b24d676 Auto-Submitted: auto-generated The branch stable/14 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=048132192698865914e07c899898861b2b24d676 commit 048132192698865914e07c899898861b2b24d676 Author: Eugene Grosbein AuthorDate: 2024-09-07 02:14:23 +0000 Commit: Eugene Grosbein CommitDate: 2024-09-14 07:21:07 +0000 MFC: fetch(1): suppress "Not Modified" in quiet mode "fetch -qi" should skip printing "Not Modified" for successful http(s) request. Still print it by default (v_level == 1). (cherry picked from commit 7a6309fdc79427b0a7a5c3876daba150d946ae22) --- usr.bin/fetch/fetch.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 8be5742386e7..bb7d27d896b6 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -583,16 +583,17 @@ again: if (sigalrm || sigint) goto signal; if (f == NULL) { - warnx("%s: %s", URL, fetchLastErrString); - if (i_flag && (strcmp(url->scheme, SCHEME_HTTP) == 0 || - strcmp(url->scheme, SCHEME_HTTPS) == 0) && - fetchLastErrCode == FETCH_OK && + if (i_flag && *is_http && fetchLastErrCode == FETCH_OK && strcmp(fetchLastErrString, "Not Modified") == 0) { /* HTTP Not Modified Response, return OK. */ + if (v_level > 0) + warnx("%s: %s", URL, fetchLastErrString); r = 0; goto done; - } else + } else { + warnx("%s: %s", URL, fetchLastErrString); goto failure; + } } if (sigint) goto signal; From nobody Sat Sep 14 07:36:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X5NKM4X5cz5W5Pf; Sat, 14 Sep 2024 07:36: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X5NKM2NGTz4fxK; Sat, 14 Sep 2024 07:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726299399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLT1+BYroPJPVKMVA2MEwHMICJ5lGObnmWMv+l0eIFg=; b=v8FKVuvOrNRZbldzloPLpWqtAnmJkuIRgB+7fuC6r6F3UWvCvparf1w2M/YtdUwPWpinpY SJXp6Dbk9r+6CG1guzgFSS5dJc1uUgyfeSfthj4+BRHYLdCeUE0CoIBQ59C1L3F0ZNbPre kzZolofgj9C6p2JZI1uPSiRJUTjo49TEzeDmNkJmEGjrzPOUifjsa/h6Y5V0lyc28EOk+X GukheT4NlxDyPXvD0ug6kiduzrenWyxM9xaX/ecgkX93uCpUzBg8ZjiBN4ZpUTplDJRabs SS5ZlES3tPZtTY1SaB1MCSBdMGai4vIFC5piY9RsjKvMEbmkixGwC3c6u2CiAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726299399; a=rsa-sha256; cv=none; b=reeu3SOd0RcKoKAqRbUcw3AoBq52AV7GbtbOt0Mcngmv0YD3r6O/HLRogaMhlC5KVVPOgh b37FeSwmAGNz4vY+ALa2SqWilNaqlU5PvzP9FtdAVhvm7O80vm3T2td+3ZnfusAdqolyDK mowNEZUR7hHExbyWIRlO7/3l8uoJxUH1Xgd8QStGgWVJV1v2vSLRxmGg1V9IbqPnm+a88X AflDZ3XlGW9UgJrqyjhFkkRM4mcusroM1XsGmnVwHqTUE0DOacvEw5ol9s1Tray3NB3lxB eYCmHnIDdlHM0eswwx9Kw7nqTppBvr9RIlF8v+2wM9ROnmVX6pj29fje3+tryg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726299399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLT1+BYroPJPVKMVA2MEwHMICJ5lGObnmWMv+l0eIFg=; b=PdQM1JnQtvervxFJkoWPtAplLNtjyvcsfLCUdRQrwJ02kbT+W9rfyn3qIOGQzDcRBSeuYY 38YKsW8fquncQR9nxGkhRKc+xInYKH4M5vC5OEuDd7CX5YsKkOnergRkrqGPcCTSrxLqCd bY6PtUkMwTD+d1gCxifm3A4ZAodyFGSlsHGWmH7y52lA1PyXZuxKexZmQkrid8oi5gNpWx wRgOkg/RMaNqOyttzVzm4Oa+XOyiju7sAr4bp3959Qk0Rjpne5SfCG/6HRb32m242V+WN8 PW0Qs7gnU8RC1OpfqzKEWfQS1oQpRxYMjFmBRW0MyS6avMDpHEA/4P1YTiNz4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X5NKM1LqTzJ8g; Sat, 14 Sep 2024 07:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48E7ade6032526; Sat, 14 Sep 2024 07:36:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48E7adTY032523; Sat, 14 Sep 2024 07:36:39 GMT (envelope-from git) Date: Sat, 14 Sep 2024 07:36:39 GMT Message-Id: <202409140736.48E7adTY032523@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 251d93eda084 - stable/13 - MFC: fetch(1): suppress "Not Modified" in quiet mode 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 251d93eda084cbae31cb89b42a0a11d4a3121d81 Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=251d93eda084cbae31cb89b42a0a11d4a3121d81 commit 251d93eda084cbae31cb89b42a0a11d4a3121d81 Author: Eugene Grosbein AuthorDate: 2024-09-07 02:14:23 +0000 Commit: Eugene Grosbein CommitDate: 2024-09-14 07:22:49 +0000 MFC: fetch(1): suppress "Not Modified" in quiet mode "fetch -qi" should skip printing "Not Modified" for successful http(s) request. Still print it by default (v_level == 1). (cherry picked from commit 7a6309fdc79427b0a7a5c3876daba150d946ae22) --- usr.bin/fetch/fetch.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 8be5742386e7..bb7d27d896b6 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -583,16 +583,17 @@ again: if (sigalrm || sigint) goto signal; if (f == NULL) { - warnx("%s: %s", URL, fetchLastErrString); - if (i_flag && (strcmp(url->scheme, SCHEME_HTTP) == 0 || - strcmp(url->scheme, SCHEME_HTTPS) == 0) && - fetchLastErrCode == FETCH_OK && + if (i_flag && *is_http && fetchLastErrCode == FETCH_OK && strcmp(fetchLastErrString, "Not Modified") == 0) { /* HTTP Not Modified Response, return OK. */ + if (v_level > 0) + warnx("%s: %s", URL, fetchLastErrString); r = 0; goto done; - } else + } else { + warnx("%s: %s", URL, fetchLastErrString); goto failure; + } } if (sigint) goto signal; From nobody Sun Sep 15 14:59:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6B636KvMz5WmLR; Sun, 15 Sep 2024 14:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X6B6356h0z4Nrd; Sun, 15 Sep 2024 14:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726412379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYoUMbG5tc5aGN7t+KLmbxlnzj3nUqL6rNZm9zHkArw=; b=RFZgCpZiADJ1r5QMeuloHOnSwuqxKTeUiIZ2BwV+gCNy8R1CCNJzozgfAo9BEeJwUjllR9 9c07ZfyCE9ZrDd43pUPXWw9IR6ag2VI4EWat1c5TUSf/Qgmwl7DWcRTuXxhl2JR1/1qeF4 ku12+qrQptGp5fmzavtOjYPVkumxtVPjIsSVaYbVqwnGcCwZu8YJzVImj5uetZ0ENxQQMb lYYAlJPKx1zA+Q/uzGQQJDKj0hDuw4um48Y8F3yJ7b7OoPwAiClFAS89Ku27fsgX2RNs9k yPwJsPLA8/TLMZ8i3p4nhPF6t4/LOObXF8Rzeim4QZh6N8AeqXcSzfkUOVylEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726412379; a=rsa-sha256; cv=none; b=C8ljZuhzrAoBNwZicN1f3D0vNM4r4X0iDsVr4lwxNZ0I7Of3R6qJAEPQLmi8/iz0KGDcZ1 RVnnrBB68fGItTPJd8vLOPcWjEs5YlnwQLGAXlpTo/iCVjBfh+pdqIHoqfKpVK5iXXWJCf ePq5D4nPVktxybu3w/qC8bNJyVc1H8DRPAVkDQjBRTEbiY2SsPNdU1YYc0f2wY2Mpz7QJq qyvXc8Fivb7cVl+2bgZDP8Gs0u9VdzJRzmtkoKHrNE572n26Ljo/ZdtF9kbCpLE+WvsXi1 oCf9fQ1OT8eLoeTyUeM5bj3qgqWXDSPUFL363PY1nUgRkbMSURGDAF0zN6El4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726412379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYoUMbG5tc5aGN7t+KLmbxlnzj3nUqL6rNZm9zHkArw=; b=LpkQvSWqNXmVMSdEFGMVS1e4m3LrKsFSLtg5rd71Zxoo9mQucAiuISUkXVY5ONxGck98qr m4GDldE5a5JclnbXeu3rYs2JiF0xhntsHOkYxKVmvuyGVwLBGD5MsZ1wkLbmjcbpoW07st y1vlRbp+FpFGJK/t3INE5ha8cuM5ZrRHFC2G+PnvWMYeCaZdTq1gvRkFqMG43HRu9/wfAG qjJfHPc18wMyRayz5i1y+DBEsIUlBzFj+lplttgTk2i8QuS6WVFj1VBfnrIVCQePjoojep /XszGLzNh1mQY4EtDgzFWSIHh5JQ1yxXt8OkKHechDPf/xwjrzCMKhECDiD+9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6B632S5gzFgc; Sun, 15 Sep 2024 14:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48FExdpo031937; Sun, 15 Sep 2024 14:59:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48FExd2u031934; Sun, 15 Sep 2024 14:59:39 GMT (envelope-from git) Date: Sun, 15 Sep 2024 14:59:39 GMT Message-Id: <202409151459.48FExd2u031934@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: 056c50c48be3 - stable/14 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 056c50c48be3e3828ef740d2fcce988a545e52aa Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=056c50c48be3e3828ef740d2fcce988a545e52aa commit 056c50c48be3e3828ef740d2fcce988a545e52aa Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Ed Maste CommitDate: 2024-09-15 14:59:15 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index 64078b10973e..92d6e655876a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); } From nobody Sun Sep 15 15:00:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6B6X0W1Cz5WmWs; Sun, 15 Sep 2024 15:00: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X6B6W4sxWz4NyY; Sun, 15 Sep 2024 15:00:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726412403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ay8gih3zjfZ9CYxDFUZcGd9gpsTs5NS19epZG3YyWs8=; b=Rq8MiDHg2qQtKVRwxvvwMbDC6lwjDldHN5SI+dz99fhwjdK9pyL9r2rfJwEdXw/E3KoPBf rZwPFfh7Edr0s/GYf7s+nRsXTxmhDB//rxylB9PyFDPMmwVjLAZyO9+jcCK8c1V7SKu+bY xz2GHTzqWlKeqGpp/e1THydSZ0yGAOzwx0UmS+lIfHwsaCQAwWp3X7hze/0F/Eh0Se+QoH jJbPGl+Bxhxc4usTyev1ZbrwF0NBOURjni8hWdnFvLMRqRri25c8x4UQbn+hTo1+90aMDt nRax3y0AD6gSPRytlmhYghnxaOnyY7AdLp7qY768owG8KI8bU8J3dTJXhVHNkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726412403; a=rsa-sha256; cv=none; b=WTNV2u9h9ns0gF0iil/oOUxJQkb51YeSGiJ+A5YrumJgq3jbWJbGhO+UCRAMD30oKh6lVx Zojg9MQWERq6zh2nAcbBN/DGlnY46UCgf13vOL+9yg4fKFAyjlQSdZE6zj5Gg/f3KDz5U9 ZLKC75W4h55S2uW0p/TNByxIoRd6owKqlzu3knkr8uffbHhyLc3R62OCVvH8pO6+csbmbs knd3xqx2bo+UNu95F20Qub6mHbMo1O+wiYXgOTJXLArWXipugX9aEg1ZiciVn3cJ/mfwf2 3x4ysOumRZtjtYeV/wZx3h6FhxAbOBpt9T17gzSa29MDWFymQNvXeonfNg0MBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726412403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ay8gih3zjfZ9CYxDFUZcGd9gpsTs5NS19epZG3YyWs8=; b=ervrKMjL3cOEgP/4PPeoCeeescTX53KP1kJ1E95mjOj6bOfuVv0hQnmSGjF+pv0Zz+HwOS X3u9VuH2ZKHMYyB3vY/njc6u8r7qG9+jEz7WVZyhrrvQnJGzFtTnjY6TNIsr2COt/sxMGU tVmh9zf+a/HZ2+iXcro8NySUtwTKedE/DsnRLvjjl8/y6LCLVrkYtTUGMJMB1GxjETHlvB Urd7RFIFKqDfoAdMooFBdyMoNSdsqLNMRaBXV5x/3f08AqOlBuAmKKPM9CFbyaK64LqrG/ Ewv4v51NM1656wrg3IlnPylAlj9RG4/QpcsOtA31rt09ZoIz7NxXM7fZfIGyHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6B6W4TYbzFgd; Sun, 15 Sep 2024 15:00:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48FF03MS035456; Sun, 15 Sep 2024 15:00:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48FF03rk035450; Sun, 15 Sep 2024 15:00:03 GMT (envelope-from git) Date: Sun, 15 Sep 2024 15:00:03 GMT Message-Id: <202409151500.48FF03rk035450@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: d84fced6b468 - stable/13 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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: d84fced6b468a637b5a47bad747730fa344d68d8 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d84fced6b468a637b5a47bad747730fa344d68d8 commit d84fced6b468a637b5a47bad747730fa344d68d8 Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Ed Maste CommitDate: 2024-09-15 14:59:51 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) (cherry picked from commit 056c50c48be3e3828ef740d2fcce988a545e52aa) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index e399d610a7ce..6934da0df00a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); }