From nobody Mon Sep 8 09:40:19 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cL24N1Hk9z66N2y; Mon, 08 Sep 2025 09:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cL24N031cz3hnJ; Mon, 08 Sep 2025 09:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757324420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMaDwLMuj/b36C2koLuu/PC3nifY4N61SW88N96ODwQ=; b=JXKS+QXkPfmd4u1IEDRpZqBWpWx+ypo7Myx0lV2jyp4UJvujyvOBx+jb5aB7BDqd1LncEP WUi08j+Lshq0zKgEjaQWusupa5WYiGNkoCMXgA9FSX6k53eR2pTgHv452XWQ7ezHh2biha Vb8Vdw9YtgVZQrOILvK4EdxANZUlJme9gZc/NE/tCFyz+hp7/dv5vsO77A31Dxpdq1aIOA RCx+FI6KNc6mu8mJfsnryh2Oy/tYyX4tJOcXH2vvmjJ9DfB8YDoEus9UPo8kypQi9sPQPV tzvscg3gHOfu4aNgyncnAyXTbR1InV8gOMWU/de9tXDscgjTX/KP++r9RR+/Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757324420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMaDwLMuj/b36C2koLuu/PC3nifY4N61SW88N96ODwQ=; b=SR4k7rzHknwkQlhXsA/o+FZsrNlSdygopjegcfPDN0zHFzmuMzhrMkBpPD+PtrQMc1iebP RWBC99x0P9DGH5Y+97LeTF1b35PU2uxrM3VPp98eWZAxV3qVShPbPXYndfuvfGmW+4/QJT TSusDbidI15jI6a9cKQrtLYGfEpGSPtgPzlr/UEKwywk1JnieNu3H1aXayIOkwi1Vj+tp0 yDdeUun3Z8YiK4WPh2oVk02zHupMClsTuF6NelxOGbrGaxtloxOdgk2jLoyS1ibtaMBS35 vP4bHrmYjme1EF1NmLtmoA3Vu5lDZ1OMPiN+kYkoULwIbSpyrMwivAoLGKJ+Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757324420; a=rsa-sha256; cv=none; b=eAhzPaN2288ZBBP8sh4dIjuDEosngOxgjp+5qOMHTz26zYIjMapqOfZLea1qXZ2Jfy0Ffn XUjMeru2dgIt1m0FS+IlVw3mlkB8a7yVMbSgHW4wTHAd9MdVF3f4GpyezA+eJlsiaCA0ws XptzLLGH+Fj4+9lExgiuQTMYJxiyHo2sg0dJ5yf9f9hLBWVyKBLx7RhNKxG7wmGOGc4QYn sq09TgH3Aa1VBmNYUyrltJdxIMM+G0rSkohtilFOICcRW5ujsN9VcBQ2hv3btJa12hR3S0 rtBlaEuYRStA53FhCmIe7twG3LZBFHU2kO2ityEQUYIgCuZAdUfC7Z2iv3ciKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cL24M6PgSz11S2; Mon, 08 Sep 2025 09:40: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 5889eJqK028755; Mon, 8 Sep 2025 09:40:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5889eJIG028752; Mon, 8 Sep 2025 09:40:19 GMT (envelope-from git) Date: Mon, 8 Sep 2025 09:40:19 GMT Message-Id: <202509080940.5889eJIG028752@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: 7caa8fbd17a8 - stable/14 - libc/amd64: rewrite memrchr() scalar impl. to read the string from the back List-Id: Commits to the stable branches 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: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7caa8fbd17a8a50df6677f2e7c6a6cade053366e Auto-Submitted: auto-generated The branch stable/14 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=7caa8fbd17a8a50df6677f2e7c6a6cade053366e commit 7caa8fbd17a8a50df6677f2e7c6a6cade053366e Author: Robert Clausecker AuthorDate: 2025-07-29 20:12:11 +0000 Commit: Robert Clausecker CommitDate: 2025-09-08 09:39:12 +0000 libc/amd64: rewrite memrchr() scalar impl. to read the string from the back A very simple implementation as I don't have the patience right now to write a full SWAR kernel. Should still do the trick if you wish to opt out of SSE for some reason. Reported by: Mikael Simonsson Reviewed by: strajabot PR: 288321 MFC after: 1 month (cherry picked from commit 30acc84270266e41f66cf572f67c3290d923da2f) --- lib/libc/amd64/string/memrchr.S | 72 +++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/lib/libc/amd64/string/memrchr.S b/lib/libc/amd64/string/memrchr.S index 4f6c5a238daa..f487437255a9 100644 --- a/lib/libc/amd64/string/memrchr.S +++ b/lib/libc/amd64/string/memrchr.S @@ -16,58 +16,54 @@ ARCHFUNCS(memrchr) ENDARCHFUNCS(memrchr) ARCHENTRY(memrchr, scalar) - xor %eax, %eax # prospective return value - sub $4, %rdx # 4 bytes left to process? - jb 1f + lea -1(%rdi, %rdx, 1), %rax # point to last char in buffer + sub $4, %rdx # 4 bytes left to process? + jb .Ltail ALIGN_TEXT -0: xor %r8, %r8 - lea 2(%rdi), %r10 - cmp %sil, 2(%rdi) - cmovne %r8, %r10 # point to null if no match +0: cmp %sil, (%rax) # match at last entry? + je 1f - cmp %sil, (%rdi) - cmove %rdi, %r8 # point to first char if match + cmp %sil, -1(%rax) # match at second to last entry? + je 2f - lea 1(%rdi), %r9 - cmp %sil, 1(%rdi) - cmovne %r8, %r9 # point to first result if no match in second + cmp %sil, -2(%rax) # match at third to last entry? + je 3f - lea 3(%rdi), %r11 - cmp %sil, 3(%rdi) - cmovne %r10, %r11 + cmp %sil, -3(%rax) # match at fourth to last entry? + je 4f - test %r11, %r11 - cmovz %r9, %r11 # take first pair match if none in second + sub $4, %rax + sub $4, %rdx + jae 0b - test %r11, %r11 - cmovnz %r11, %rax # take match in current set if any +.Ltail: cmp $-3, %edx # at least one character left to process? + jb .Lnotfound - add $4, %rdi - sub $4, %rdx - jae 0b + cmp %sil, (%rax) + je 1f -1: cmp $-3, %edx # a least one character left to process? - jb 2f + cmp $-2, %edx # at least two characters left to process? + jb .Lnotfound - cmp %sil, (%rdi) - cmove %rdi, %rax + cmp %sil, -1(%rax) + je 2f - lea 1(%rdi), %rcx - cmp $-2, %edx # at least two characters left to process? - jb 2f + cmp $-1, %edx # at least three characters left to process? + jb .Lnotfound - cmp %sil, 1(%rdi) - cmove %rcx, %rax + cmp %sil, -2(%rax) + je 3f - lea 2(%rdi), %rcx - cmp $-1, %edx # at least three character left to process? - jb 2f - - cmp %sil, 2(%rdi) - cmove %rcx, %rax +.Lnotfound: + xor %eax, %eax + ret -2: ret + /* match found -- adjust rax to point to matching byte */ +4: dec %rax +3: dec %rax +2: dec %rax +1: ret ARCHEND(memrchr, scalar) ARCHENTRY(memrchr, baseline) From nobody Mon Sep 8 09:40:20 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cL24P1Gt0z66MlP; Mon, 08 Sep 2025 09:40: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cL24N6ZFbz3hQd; Mon, 08 Sep 2025 09:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757324420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOL3BgyMm7tDS9/YziuFq2KPHy3r5bpVNWU2a4i5Fss=; b=SIH/1DlmxXG9T59+/4iEqfik/G2B86tJ8V/GrXG2ltDxw+Tzk3OVBbWlMxLvkTzxlllQGj NGzRbMs0JcNenryqHEpBMkzo7cJxZIi/JhXiuIFO50InusJ0b7DQgRnE/j8mxwyABITyOH ujMZBci0ocrCqD6uzkwcZbNmhjVexWWwOjz2w37ZXQq2x3v2J4QOedDF3iS/1R7XiBCR/u s4ddxx1M0XW1V0QJ4/NgewE7bKb3r2s87887oDDAnGmt5uWnqCEakn7GJZ8KAZ8fFHJtuk r+saRUWvXNYu/IQvdP7zCvRGmhPxVAj52+LAlJu0uOnPF6JFwJ0elCAXOcQ/Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757324420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOL3BgyMm7tDS9/YziuFq2KPHy3r5bpVNWU2a4i5Fss=; b=oF6WKeRoLfAC8wcykVyYFw/HgVlT91fOJRvXjPIlUWl+89oruToVz6vCRM4Vov6Y7uhHRN 5sU1FW7MNiP1zJS7JIdmhI9CD0P0GyfJQhO9SSsQdMgbysbyP81K6swdrylqBW0NSPkIkQ nOacPEBmWP6hFaL66Vx71aMMFz+kEGl3mTyOCrx+TzdW6nZLnHJc0gEGEcH1RnjhfWp8bk K9wTdxVxIi2aMBQvmyfIMNciFALy2ai4YZJ09ctVUrohaVnjQMmkLYX3ObLFn2XSOxahrC ixRw2bP53ncCiR1hhBQ+IENmpnltEQrkLB0vqsoIQQcEQZ6RolNMIg5P6wSiXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757324420; a=rsa-sha256; cv=none; b=TU1xRtRfNFb95ikE4Qwg7jjSrjhKCEJgVFgGVUyskSmKuBZqf7cYllJiK7lUNXcWSdwjnr 6CLMylhU3TPdTtKqa5c787D/PfPPrIQiz0st7AI/8BRqLxstPfNwGO/pehXZB2OP5PTmij UE+e0ZlBs4M8mUfDyp7eG4xIZ4NxYwLHarhxPfWiiqqOgD+ZDV3AEjcYGrYKuFFdSSbMMb Q0I5zjOHQvC7O665ECOS+5/eOk3nKIcdm2JkKX7p3DBT9RB/JmRKeVe4PBr3OAX3PY0JxI LOC3huPelVHMv0GTb3k/U14ltSDaLUNecsTQ1QrOwukvp7uwDvDVYkvevnEpLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cL24N61S6z11Cg; Mon, 08 Sep 2025 09:40:20 +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 5889eKQK028800; Mon, 8 Sep 2025 09:40:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5889eKp4028794; Mon, 8 Sep 2025 09:40:20 GMT (envelope-from git) Date: Mon, 8 Sep 2025 09:40:20 GMT Message-Id: <202509080940.5889eKp4028794@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: d779cb94daaa - stable/14 - libc/amd64: rewrite memrchr() baseline impl. to read the string from the back List-Id: Commits to the stable branches 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: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d779cb94daaa5f1c172cbe413c66a331730763b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=d779cb94daaa5f1c172cbe413c66a331730763b7 commit d779cb94daaa5f1c172cbe413c66a331730763b7 Author: Robert Clausecker AuthorDate: 2025-07-29 20:12:32 +0000 Commit: Robert Clausecker CommitDate: 2025-09-08 09:39:13 +0000 libc/amd64: rewrite memrchr() baseline impl. to read the string from the back This ensures O(1) behaviour if the character is a constant offset from the end of the string, regardless of how long the string is. Reported by: Mikael Simonsson Reviewed by: benni PR: 288321 MFC after: 1 month (cherry picked from commit 4b15965daa99044daf184221b7c283bf7f2d7e66) --- lib/libc/amd64/string/memrchr.S | 152 +++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 78 deletions(-) diff --git a/lib/libc/amd64/string/memrchr.S b/lib/libc/amd64/string/memrchr.S index f487437255a9..80fb306af2a3 100644 --- a/lib/libc/amd64/string/memrchr.S +++ b/lib/libc/amd64/string/memrchr.S @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2023 Robert Clausecker + * Copyright (c) 2023, 2025 Robert Clausecker */ #include @@ -67,95 +67,91 @@ ARCHENTRY(memrchr, scalar) ARCHEND(memrchr, scalar) ARCHENTRY(memrchr, baseline) - movd %esi, %xmm4 - test %rdx, %rdx # empty buffer? - jz .L0 # if yes, return immediately + test %rdx, %rdx # empty input? + je .Lnomatchb + + + lea (%rdi, %rdx, 1), %ecx # pointer to end of buffer + lea -1(%rdi, %rdx, 1), %rdx # pointer to last char in buffer + movd %esi, %xmm2 + and $~0x1f, %rdx # pointer to final 32 buffer bytes + movdqa (%rdx), %xmm0 # load last 32 bytes + movdqa 16(%rdx), %xmm1 + + punpcklbw %xmm2, %xmm2 # c -> cc - punpcklbw %xmm4, %xmm4 # c -> cc - mov %edi, %ecx - punpcklwd %xmm4, %xmm4 # cc -> cccc - and $~0xf, %rdi # align source pointer - pshufd $0, %xmm4, %xmm4 # cccc -> cccccccccccccccc - and $0xf, %ecx - movdqa %xmm4, %xmm0 mov $-1, %r8d - pcmpeqb (%rdi), %xmm0 # compare aligned head - shl %cl, %r8d # mask of bytes in the head of the buffer - pmovmskb %xmm0, %eax + neg %ecx + mov %r8d, %r9d + shr %cl, %r8d # mask with zeroes after the string - sub $16, %rcx - and %r8d, %eax # match mask - add %rcx, %rdx # advance past head - cmc - jbe .Lrunt # did the string end in the buffer? + punpcklwd %xmm2, %xmm2 # cc -> cccc - mov %rdi, %rsi # pointer to matching chunk - add $16, %rdi - sub $16, %rdx # enough left for another round? - jbe 1f + mov %edi, %ecx + mov %r9d, %eax + shl %cl, %r9d # mask with zeroes before the string - /* main loop unrolled twice */ - ALIGN_TEXT -0: movdqa %xmm4, %xmm0 - pcmpeqb (%rdi), %xmm0 - pmovmskb %xmm0, %r8d + pshufd $0, %xmm2, %xmm2 # cccc -> cccccccccccccccc - cmp $16, %rdx # enough left for second chunk? - jbe 2f + cmp %rdx, %rdi # tail is beginning of buffer? + cmovae %r9d, %eax # if yes, do combined head/tail processing + and %r8d, %eax # mak of bytes in tail part of string - movdqa %xmm4, %xmm0 - pcmpeqb 16(%rdi), %xmm0 + /* process tail */ + pcmpeqb %xmm2, %xmm1 + pcmpeqb %xmm2, %xmm0 + pmovmskb %xmm1, %esi pmovmskb %xmm0, %ecx + shl $16, %esi + or %esi, %ecx # locations of matches + and %ecx, %eax # any match inside buffer? + jnz .Lprecisematchb - lea 16(%rdi), %r9 - test %ecx, %ecx # match found in second chunk? - cmovz %r8d, %ecx # if not, use match data from first chunk - cmovz %rdi, %r9 - - test %ecx, %ecx # any match found? - cmovnz %ecx, %eax # if yes, overwrite previously found match - cmovnz %r9, %rsi - - add $32, %rdi # advance to next iteration - sub $32, %rdx # advance to next chunks - ja 0b - - /* process remaining 1--16 bytes */ -1: pcmpeqb (%rdi), %xmm4 - mov $0xffff, %r8d - xor %ecx, %ecx - sub %edx, %ecx # number of bytes to be masked out - pmovmskb %xmm4, %r9d - shr %cl, %r8d # mask of bytes to be kept in the buffer - and %r9d, %r8d - cmovnz %r8d, %eax - cmovnz %rdi, %rsi - bsr %eax, %eax - lea (%rsi, %rax, 1), %rsi # pointer to match (or junk) - cmovnz %rsi, %rax # if any match was found, return it - ret + cmp %rdx, %rdi # did the buffer begin here? + jae .Lnomatchb # if yes, we are done - /* end of chunk reached within first half iteration */ -2: test %r8d, %r8d # match in previous chunk? - cmovnz %r8d, %eax # if yes, overwrite previous chunks - cmovnz %rdi, %rsi - add $16, %rdi # point to tail - sub $16, %edx - jmp 1b # handle tail the same otherwise - - /* runt: string ends within head, edx has negated amount of invalid head bytes */ -.Lrunt: mov $0xffff, %r8d - xor %ecx, %ecx - sub %edx, %ecx - shr %cl, %r8d - and %r8d, %eax - bsr %eax, %eax - lea (%rdi, %rax, 1), %rdi - cmovnz %rdi, %rax + /* main loop */ + ALIGN_TEXT +0: movdqa -32(%rdx), %xmm0 # load previous string chunk + movdqa -16(%rdx), %xmm1 + sub $32, %rdx # beginning of string reached? + cmp %rdx, %rdi + jae .Ltailb + + pcmpeqb %xmm2, %xmm0 + pcmpeqb %xmm2, %xmm1 + por %xmm1, %xmm0 # match in either half? + pmovmskb %xmm0, %eax + test %eax, %eax + jz 0b + +.Lmatchb: + pcmpeqb (%rdx), %xmm2 # redo comparison of first 16 bytes + pmovmskb %xmm1, %ecx + pmovmskb %xmm2, %eax + shl $16, %ecx + or %ecx, %eax # location of matches + +.Lprecisematchb: + bsr %eax, %eax # find location of match + add %rdx, %rax # point to matching byte ret - /* empty buffer: return a null pointer */ -.L0: xor %eax, %eax +.Ltailb: + pcmpeqb %xmm2, %xmm1 + pcmpeqb %xmm2, %xmm0 + pmovmskb %xmm1, %ecx + pmovmskb %xmm0, %eax + shl $16, %ecx + or %ecx, %eax # location of matches + and %r9d, %eax # mask out matches before buffer + bsr %eax, %edi # location of match + lea (%rdx, %rdi, 1), %rdx # pointer to match (if any) + cmovnz %rdx, %rax # point to match if present, + ret # else null pointer + +.Lnomatchb: + xor %eax, %eax # return null pointer ret ARCHEND(memrchr, baseline) From nobody Mon Sep 8 13:14:16 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cL6qF0Jnmz66bnH; Mon, 08 Sep 2025 13:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cL6qD6SC2z44nl; Mon, 08 Sep 2025 13:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757337256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KONYz7wcGsNEsrvLRtLsl5LZ7y7dBjOWXnFDaZPo4k=; b=NrQ3EEbql7TsoagiQ+0C3i4hu1t9fGH6H9coxRdYU2r08VOvBIYWq7hXgJ8OmSe5cWJiRx EVZJHElB0aTC6mnc54fwjsQcj/8UNgNY9ifqtdey94bJj75sqWFbaztm7LaaqEjDclAd+k TUKDtb7fNtty7iH1/a3+YVVt6ISy6oCICsUullvUFilmMU1on4noBJcHao9qY9sOWeWWw4 W2I+OwiuHScOeq+6PJiYTE44OIt9DVvH4CAtt/IPD4vs5Ise/UmyY3H1nP16wfuAlvWpgt ONpHhhkk1qM0N4X+TwZbIvm2lGk+J39E/HxQ8uK2FhScPI4oHDPNyq/kSnnN0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757337256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KONYz7wcGsNEsrvLRtLsl5LZ7y7dBjOWXnFDaZPo4k=; b=f3t1FzO1EJ2BHq9Go3bnrDA48f+t81O8BmMg9G9ESWy8j4URI7ckD+uEqu8VkdSPdDN02F esU45tbrGfv+xtAh7KCHkhu++pvoxWvtlLLT41CjKAMMw7dpQRpaOv6wdSkn8e/1D0NmAr o4ANzHXchN3ZYNPXwcTibBd8IBP5DYxg1Jf8w6W69y74uFOv2YNL33Okn/7wNQOvdtal9q lykWOwOoUwM38NyOdmOsHQzBk9DgouveOviF6L4ktBZrlaIrdabXCU04ntmr5eZTnpZUfK 8R+L3Di1z9YKbls35qpAYrUejqONdmaofEzLNviunCWxeJjc78VJVx4rYsfsxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757337256; a=rsa-sha256; cv=none; b=CfDtrn+rUztyVoosMcAQx6AJDCK+h5lHasQhn8eUAyJdMWewvH2aTrX17Kub5ng3LB7lw2 s3uwDEji50IStQAYPx3xmMmBuEMP895A4sQ3TrBszHypV9D7P7QwvCiJ8w+qhB8VMFWx6V LJssEybEKTgATXJWqrcP8glK26h3MzFNwDfggRN2cDWKw+VM41jynzjwcKEa379SM65GKe 2SmAXGU+QQzpWm7/N5OEjVIEXanqGgljST/TmovkgFAl4D/4TPuXlg0Kttken1yVE2WdCs evntF5xzaxC4sCJZjxozzfFIMfksjsHTwptkXtJnAkY8vxWG8ffo2QIlxsTk6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cL6qD5w02z16J8; Mon, 08 Sep 2025 13:14:16 +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 588DEGVh030664; Mon, 8 Sep 2025 13:14:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 588DEGJt030661; Mon, 8 Sep 2025 13:14:16 GMT (envelope-from git) Date: Mon, 8 Sep 2025 13:14:16 GMT Message-Id: <202509081314.588DEGJt030661@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: c9467d0b562c - stable/14 - freebsd-update: Fix the pkgbase 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/14 X-Git-Reftype: branch X-Git-Commit: c9467d0b562c03a10ae358922eec6427bf250d03 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c9467d0b562c03a10ae358922eec6427bf250d03 commit c9467d0b562c03a10ae358922eec6427bf250d03 Author: Mark Johnston AuthorDate: 2025-08-06 20:36:05 +0000 Commit: Ed Maste CommitDate: 2025-09-08 13:13:45 +0000 freebsd-update: Fix the pkgbase check Even on a pkgbase system, it should be possible to use freebsd-update -j to upgrade a non-pkgbase jail, at least for the time being. However, the check_pkgbase() call came before get_params, so BASEDIR was always set to /. Make check_pkgbase() a pure function and call it after get_params(). While here, use pkg -r ${BASEDIR} instead of pkg -c ${BASEDIR} since the latter requires root privileges. freebsd-update is supposed to be run as root, but it doesn't actually check this that I can see, so let's not make that assumption here since it affects the result of the function (i.e., pkg -c ${BASEDIR} always fails as a non-root user). Reviewed by: des Fixes: 856e158dc4aa ("freebsd-update: improve pkgbase check") MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D51770 (cherry picked from commit 66c75fa63aff40e9c587345b2cc6b8148e396de8) --- usr.sbin/freebsd-update/freebsd-update.sh | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 8ec380bd2f17..543ca9319da1 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -1046,24 +1046,19 @@ IDS_check_params () { fetch_setup_verboselevel } -# Packaged base and freebsd-update are incompatible. Exit with an error if -# packaged base is in use. +# Return 0 if the system is managed using pkgbase, 1 otherwise. check_pkgbase() { # Packaged base requires that pkg is bootstrapped. - if ! pkg -c ${BASEDIR} -N >/dev/null 2>/dev/null; then - return + if ! pkg -r ${BASEDIR} -N >/dev/null 2>/dev/null; then + return 1 fi # uname(1) is used by pkg to determine ABI, so it should exist. # If it comes from a package then this system uses packaged base. - if ! pkg -c ${BASEDIR} which /usr/bin/uname >/dev/null; then - return + if ! pkg -r ${BASEDIR} which /usr/bin/uname >/dev/null; then + return 1 fi - cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ca0ba818cfd7 - stable/15 - Revert "vtnet: improve checksum offloading" List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ca0ba818cfd70a73c12bf25ece9951ae8f1fe3b8 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ca0ba818cfd70a73c12bf25ece9951ae8f1fe3b8 commit ca0ba818cfd70a73c12bf25ece9951ae8f1fe3b8 Author: Michael Tuexen AuthorDate: 2025-09-08 20:27:52 +0000 Commit: Michael Tuexen CommitDate: 2025-09-08 20:29:59 +0000 Revert "vtnet: improve checksum offloading" This reverts commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737. Will be committed again with correct authorship. (cherry picked from commit f217bc7651a4126a6819da1af03a64e81a551005) --- share/man/man4/vtnet.4 | 28 ++--- sys/dev/virtio/network/if_vtnet.c | 220 +++++++++++++++++------------------ sys/dev/virtio/network/if_vtnetvar.h | 2 +- 3 files changed, 118 insertions(+), 132 deletions(-) diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 index 67a835050422..073383df11ff 100644 --- a/share/man/man4/vtnet.4 +++ b/share/man/man4/vtnet.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 4, 2025 +.Dd September 3, 2025 .Dt VTNET 4 .Os .Sh NAME @@ -153,14 +153,7 @@ The number of times the receive interrupt handler was rescheduled. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro The number of times TCP large receive offload was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed -The number of times a packet with a request for receive or transmit checksum -offloading was received and this request failed. -The different reasons for the failure are counted by -.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto , -.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto , -.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype , -and -.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset . +Currently not used. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum The number of times receive checksum offloading for UDP or TCP was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors @@ -220,21 +213,18 @@ over all receive queues of the interface. The sum of .Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed over all receive queues of the interface. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto -The number of times a packet with a request for receive or transmit checksum -offloading was received where the IP protocol was not accessible. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto +Currently unused. .It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset +Currently unused. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto +Currently unused. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype The number of times fixing the checksum required by .Va hw.vtnet.fixup_needs_csum or .Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum -was attempted for a packet where the csum is not located in the first mbuf. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto -The number of times a packet with a request for receive or transmit checksum -offloading was received where the IP protocol was neither TCP nor UDP. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype -The number of times a packet with a request for receive or transmit checksum -offloading was received where the EtherType was neither IPv4 nor IPv6. +was attempted for a packet with an EtherType other than IPv4 or IPv6. .It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed The number of times receiving a mergable buffer failed. .It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 73f27ac147ff..afda5157a624 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -134,9 +134,9 @@ static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, - bool, int, struct virtio_net_hdr *); -static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, - int); + uint16_t, int, struct virtio_net_hdr *); +static int vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, + uint16_t, int, struct virtio_net_hdr *); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); @@ -1762,161 +1762,162 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) } static int -vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, - int protocol, struct virtio_net_hdr *hdr) +vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, uint16_t etype, + int hoff, struct virtio_net_hdr *hdr) { struct vtnet_softc *sc; + int error; - /* - * The packet is likely from another VM on the same host or from the - * host that itself performed checksum offloading so Tx/Rx is basically - * a memcpy and the checksum has little value so far. - */ - - KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, - ("%s: unsupported IP protocol %d", __func__, protocol)); + sc = rxq->vtnrx_sc; /* - * If the user don't want us to fix it up here by computing the - * checksum, just forward the order to compute the checksum by setting - * the corresponding mbuf flag (e.g., CSUM_TCP). + * NEEDS_CSUM corresponds to Linux's CHECKSUM_PARTIAL, but FreeBSD does + * not have an analogous CSUM flag. The checksum has been validated, + * but is incomplete (TCP/UDP pseudo header). + * + * The packet is likely from another VM on the same host that itself + * performed checksum offloading so Tx/Rx is basically a memcpy and + * the checksum has little value. + * + * Default to receiving the packet as-is for performance reasons, but + * this can cause issues if the packet is to be forwarded because it + * does not contain a valid checksum. This patch may be helpful: + * https://reviews.freebsd.org/D6611. In the meantime, have the driver + * compute the checksum if requested. + * + * BMV: Need to add an CSUM_PARTIAL flag? */ - sc = rxq->vtnrx_sc; if ((sc->vtnet_flags & VTNET_FLAG_FIXUP_NEEDS_CSUM) == 0) { - switch (protocol) { - case IPPROTO_TCP: - m->m_pkthdr.csum_flags |= - (isipv6 ? CSUM_TCP_IPV6 : CSUM_TCP); - break; - case IPPROTO_UDP: - m->m_pkthdr.csum_flags |= - (isipv6 ? CSUM_UDP_IPV6 : CSUM_UDP); - break; - } - m->m_pkthdr.csum_data = hdr->csum_offset; - return (0); + error = vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr); + return (error); } /* * Compute the checksum in the driver so the packet will contain a * valid checksum. The checksum is at csum_offset from csum_start. */ - int csum_off, csum_end; - uint16_t csum; + switch (etype) { +#if defined(INET) || defined(INET6) + case ETHERTYPE_IP: + case ETHERTYPE_IPV6: { + int csum_off, csum_end; + uint16_t csum; - csum_off = hdr->csum_start + hdr->csum_offset; - csum_end = csum_off + sizeof(uint16_t); + csum_off = hdr->csum_start + hdr->csum_offset; + csum_end = csum_off + sizeof(uint16_t); - /* Assume checksum will be in the first mbuf. */ - if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) { - sc->vtnet_stats.rx_csum_bad_offset++; + /* Assume checksum will be in the first mbuf. */ + if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) + return (1); + + /* + * Like in_delayed_cksum()/in6_delayed_cksum(), compute the + * checksum and write it at the specified offset. We could + * try to verify the packet: csum_start should probably + * correspond to the start of the TCP/UDP header. + * + * BMV: Need to properly handle UDP with zero checksum. Is + * the IPv4 header checksum implicitly validated? + */ + csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); + *(uint16_t *)(mtodo(m, csum_off)) = csum; + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; + break; + } +#endif + default: + sc->vtnet_stats.rx_csum_bad_ethtype++; return (1); } - /* - * Like in_delayed_cksum()/in6_delayed_cksum(), compute the - * checksum and write it at the specified offset. We could - * try to verify the packet: csum_start should probably - * correspond to the start of the TCP/UDP header. - * - * BMV: Need to properly handle UDP with zero checksum. Is - * the IPv4 header checksum implicitly validated? - */ - csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); - *(uint16_t *)(mtodo(m, csum_off)) = csum; - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; - return (0); } -static void -vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, int protocol) -{ - KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, - ("%s: unsupported IP protocol %d", __func__, protocol)); - - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; -} - static int -vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, - struct virtio_net_hdr *hdr) +vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, + uint16_t etype, int hoff, struct virtio_net_hdr *hdr __unused) { - const struct ether_header *eh; +#if 0 struct vtnet_softc *sc; - int hoff, protocol; - uint16_t etype; - bool isipv6; - - KASSERT(hdr->flags & - (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID), - ("%s: missing checksum offloading flag %x", __func__, hdr->flags)); - - eh = mtod(m, const struct ether_header *); - etype = ntohs(eh->ether_type); - if (etype == ETHERTYPE_VLAN) { - /* TODO BMV: Handle QinQ. */ - const struct ether_vlan_header *evh = - mtod(m, const struct ether_vlan_header *); - etype = ntohs(evh->evl_proto); - hoff = sizeof(struct ether_vlan_header); - } else - hoff = sizeof(struct ether_header); +#endif + int protocol; +#if 0 sc = rxq->vtnrx_sc; +#endif - /* Check whether ethernet type is IP or IPv6, and get protocol. */ switch (etype) { #if defined(INET) case ETHERTYPE_IP: - if (__predict_false(m->m_len < hoff + sizeof(struct ip))) { - sc->vtnet_stats.rx_csum_inaccessible_ipproto++; - return (1); - } else { + if (__predict_false(m->m_len < hoff + sizeof(struct ip))) + protocol = IPPROTO_DONE; + else { struct ip *ip = (struct ip *)(m->m_data + hoff); protocol = ip->ip_p; } - isipv6 = false; break; #endif #if defined(INET6) case ETHERTYPE_IPV6: if (__predict_false(m->m_len < hoff + sizeof(struct ip6_hdr)) - || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) { - sc->vtnet_stats.rx_csum_inaccessible_ipproto++; - return (1); - } - isipv6 = true; + || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) + protocol = IPPROTO_DONE; break; #endif default: - sc->vtnet_stats.rx_csum_bad_ethtype++; - return (1); + protocol = IPPROTO_DONE; + break; } - /* Check whether protocol is TCP or UDP. */ switch (protocol) { case IPPROTO_TCP: case IPPROTO_UDP: + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; break; default: /* * FreeBSD does not support checksum offloading of this - * protocol here. + * protocol. Let the stack re-verify the checksum later + * if the protocol is supported. */ - sc->vtnet_stats.rx_csum_bad_ipproto++; - return (1); +#if 0 + if_printf(sc->vtnet_ifp, + "%s: checksum offload of unsupported protocol " + "etype=%#x protocol=%d csum_start=%d csum_offset=%d\n", + __func__, etype, protocol, hdr->csum_start, + hdr->csum_offset); +#endif + break; } + return (0); +} + +static int +vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, + struct virtio_net_hdr *hdr) +{ + const struct ether_header *eh; + int hoff; + uint16_t etype; + + eh = mtod(m, const struct ether_header *); + etype = ntohs(eh->ether_type); + if (etype == ETHERTYPE_VLAN) { + /* TODO BMV: Handle QinQ. */ + const struct ether_vlan_header *evh = + mtod(m, const struct ether_vlan_header *); + etype = ntohs(evh->evl_proto); + hoff = sizeof(struct ether_vlan_header); + } else + hoff = sizeof(struct ether_header); + if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) - return (vtnet_rxq_csum_needs_csum(rxq, m, isipv6, protocol, - hdr)); + return (vtnet_rxq_csum_needs_csum(rxq, m, etype, hoff, hdr)); else /* VIRTIO_NET_HDR_F_DATA_VALID */ - vtnet_rxq_csum_data_valid(rxq, m, protocol); - - return (0); + return (vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr)); } static void @@ -2497,10 +2498,6 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct mbuf *m, hdr->csum_start = vtnet_gtoh16(sc, csum_start); hdr->csum_offset = vtnet_gtoh16(sc, m->m_pkthdr.csum_data); txq->vtntx_stats.vtxs_csum++; - } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) && - (proto == IPPROTO_TCP || proto == IPPROTO_UDP) && - (m->m_pkthdr.csum_data == 0xFFFF)) { - hdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID; } if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) { @@ -2614,8 +2611,7 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct mbuf **m_head, int flags) m->m_flags &= ~M_VLANTAG; } - if (m->m_pkthdr.csum_flags & - (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) { + if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) { m = vtnet_txq_offload(txq, m, hdr); if ((*m_head = m) == NULL) { error = ENOBUFS; @@ -4325,9 +4321,9 @@ vtnet_setup_stat_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_offset", CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_offset, "Received checksum offloaded buffer with incorrect offset"); - SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_inaccessible_ipproto", - CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_inaccessible_ipproto, - "Received checksum offloaded buffer with inaccessible IP protocol"); + SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_proto", + CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_proto, + "Received checksum offloaded buffer with incorrect protocol"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_csum_failed", CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_STATS, sc, 0, vtnet_sysctl_rx_csum_failed, "QU", diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index cab7ced639a7..0144b0f3232d 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -46,7 +46,7 @@ struct vtnet_statistics { uint64_t rx_csum_bad_ethtype; uint64_t rx_csum_bad_ipproto; uint64_t rx_csum_bad_offset; - uint64_t rx_csum_inaccessible_ipproto; + uint64_t rx_csum_bad_proto; uint64_t tx_csum_unknown_ethtype; uint64_t tx_csum_proto_mismatch; uint64_t tx_tso_not_tcp; From nobody Mon Sep 8 21:11:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLKPM72rTz6764P; Mon, 08 Sep 2025 21:11: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLKPM6Zgjz476N; Mon, 08 Sep 2025 21:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757365863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/9girdayTOby2pUYDPljfkFZS4o1z0bqVHC6jQZ/08I=; b=yxD5DDZqXn4f15PcehoBElveeR46GRoJRMjgg7lvOxX+IQJf5xz2zoyphVK6CvNzn/+9nq HN1LFS9SwVw1CSDpfM5WONRTJ4lyR0JBnS2N9Re8wta+tYO9kWmMGhct0vDrksh5wHjItI nFf/PbpFrioN04nf9+V8m5pWyfVN2SekxY0zVDhkEJfOtYwXW9VBWHbJADwg4NpIT1LeHj QgM+9zmS9xBW74ZFYIUihmZtg6QoKp4mzWpUhwJitfgvtKRjrkIlGhOnjICHWfLTWawGrr YHfezHR+NHLFk/KG+iK4Iw+EG+2TnryDdACFtLalHLyWEUdc3S3g6M2242Xu2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757365863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/9girdayTOby2pUYDPljfkFZS4o1z0bqVHC6jQZ/08I=; b=uPSwUmM+voCEpQ8qxcXQBEbf0bxtJsdGycsyWScdbzgsglfBwkp9hy60OJ9FQQ1RENpqUe 7rZ906hujxLZ/tSALD5QRb9C0DnsbIUhmQZzTF3PEWIgQxQVrBST+vjcdEZVgn7LRydXzh OndIXydzVCHGqUwpeLEnFWLMlYdQNc9jQshs85T5zuVhrJ2pSBDGfAVqgljCAgZht78GeF wOP6ECIayyRBdAYkjaWdXYwvptDmg3IQiBZ5frQ/Caywdt05VxkZLh7k2bNFNHDdPRqKCQ +jdc3wfCSXtQ5FDQofF3Cg2cSJg/7YEoyA8ITfZn8UhyArQaB+ctYfcqW66dmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757365863; a=rsa-sha256; cv=none; b=jyuKJL7axx8jncZxB0qi51w2ZqOPCsL0qpzv2dDYNqdMsIrvh6uNs0DCOWh9pSYziOfPpV /XCnLae2otDSmNRKR+hsLREaygIG0hIkUInTpw99Dpxam8JhnJNl6V+1O6QGO6GCouMV2E bFABnnkubD1wvtxARlQZdbWTKU1sBNGEJcCGibP/XTEDR1FCJx0ns7ZY85ERQqNzBJibDO uaaZy5swGwGlzSQL0jjC0nyw0mfA/Gy6lU3yNVS8SwSLBUxe6uOHxTsagVjuNTqvWx1Qco MsjlABVExV3ieti4CiN3XXHMhPmxqzyprSFpmsORMM0vwWYybPXK+ljeqd+d5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLKPM65ynz1LfF; Mon, 08 Sep 2025 21:11: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 588LB3ta028717; Mon, 8 Sep 2025 21:11:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 588LB32k028714; Mon, 8 Sep 2025 21:11:03 GMT (envelope-from git) Date: Mon, 8 Sep 2025 21:11:03 GMT Message-Id: <202509082111.588LB32k028714@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 7626ba028089 - stable/15 - src.opts.mk: Remove REPRODUCIBLE_BUILD from the default list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7626ba028089b97b5bb204b5203ee8fa24f63c48 Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7626ba028089b97b5bb204b5203ee8fa24f63c48 commit 7626ba028089b97b5bb204b5203ee8fa24f63c48 Author: Mark Johnston AuthorDate: 2025-09-07 15:44:53 +0000 Commit: Mark Johnston CommitDate: 2025-09-08 20:56:37 +0000 src.opts.mk: Remove REPRODUCIBLE_BUILD from the default list It was added to the list in bsd.opts.mk in commit 4f81c42fbd76, so should have been removed here. On stable/15, this also fixes a problem in commit 6e7cc49f94cf ("Make stable/15 a stable branch"), which made REPRODUCIBLE_BUILD a default-yes option. It modified src.opts.mk instead of bsd.opts.mk. This change modifies the latter accordingly. Reported by: cperciva Approved by: re (cperciva) Fixes: 4f81c42fbd76 ("share/mk: Substitute reproducible prefixes in dwarf info") MFC after: 3 days Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. (cherry picked from commit b2f5dc591ef2547ee2e9b68e58a263cd34948db1) --- share/mk/bsd.opts.mk | 2 +- share/mk/src.opts.mk | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index 439924d0d596..2251b499ffdc 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -65,6 +65,7 @@ __DEFAULT_YES_OPTIONS = \ NLS \ OPENSSH \ RELRO \ + REPRODUCIBLE_BUILD \ SSP \ TESTS \ TOOLCHAIN \ @@ -78,7 +79,6 @@ __DEFAULT_NO_OPTIONS = \ CCACHE_BUILD \ CTF \ INSTALL_AS_USER \ - REPRODUCIBLE_BUILD \ RETPOLINE \ RUN_TESTS \ STALE_STAGED \ diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index fe71796d2270..fe4b027a9a1e 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -163,7 +163,6 @@ __DEFAULT_YES_OPTIONS = \ QUOTAS \ RADIUS_SUPPORT \ RBOOTD \ - REPRODUCIBLE_BUILD \ RESCUE \ ROUTED \ SENDMAIL \ From nobody Mon Sep 8 22:02:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLLXs4R53z679mn; Mon, 08 Sep 2025 22:02: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLLXs3Zfrz3G3g; Mon, 08 Sep 2025 22:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757368957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZJRZuitaRFIwF5lrWCFxTzJCuiyvc0IPfnBHzA1b8w=; b=ObrzTQQtIGdqWUcWqhN9FMTyBUX1hBOd3LFuZSphNc7KP4FQz5Tc8qgQE0cU3auE1O5iOP y+kB6/1Vg7yvgvSbWq8uDzRAgFO6G5B+c8uEkBsjJ49fj43aP5v0dUPoHSvcr9SGOBQR73 Atg9YXhQd7DgCDOZpg8INVkUHOkeYe5Xphcakb/gpJNNn1y2wEpgmOgXisfKJuP9LhwrWf +fPDLTwlx9LLBKevEnE8/vKCts36l/5l/1isI2hyGs9ISCl91mtIlxuO3401tCA+jeWAG3 wJarbHim+PIQ4dhAX6dSUEeA8Oiorp3swKYH96wLYrIIcruRUDPUjGaR/VbMtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757368957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZJRZuitaRFIwF5lrWCFxTzJCuiyvc0IPfnBHzA1b8w=; b=Yk4H8vC1RGfA5VoseS1pMQhzJXBp3qHSgZyRgc89XD+jbWSH2dkFGu+ufNfC9uzD5j8I6z izmadByPwCzL76l/BhV0JfTQDZhvhUaen0IsKH5cXTlQdYB5RLehy3u9MYYXeWttzm9Nby SiMLmbkXlcYN2uLEOTale3RiCAHI1+81FCwDYg9RxXD2zl3rMbIFXFcrOv2mtp5R5PLUbX GRk46D/igtI62gRRsR1nhiQHZ/uv4bxpEo2qr6hZfFtNC/JmVcjWqNcuTX/Kr+fh6v0hmu RXYua2tibRr0yPyisczPb7GO+DHj3dEkTvIBw1HKttot0Pc9NLG4pFF6nMjlXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757368957; a=rsa-sha256; cv=none; b=cenQ3VdSKY5TbMSgR7psPDzrHxV0Sj6ZTJsHdrOkaW5U0TKUAZp6LAWf1kyBP5/xZnajJ5 71D8atGap9iCGxH0qeMsbkNdTL5QTRQW8yo8713TTRSL33kMNt6K6wuwZFJrV3TFs9xAy6 migU3rPNITNVs+PjvWLLOUG4Ww7pE0w38VeSQ5t03hzowHEp/Azd7mNux/aav9Hd3T9umc VU56A2HPkrieBLOwx7xTCJou6pPVAx8a1xbKOQf1BAMRyaBbpi68LBHtgoVdj5jx7h5MbC iMyh0IDoyJqVMqFwbZaDfuGujbHhM5VU32xsF9by/9LvNvcO8Yuw87J4oUXpSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLLXs2rVBz1N7S; Mon, 08 Sep 2025 22:02: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 588M2b95028861; Mon, 8 Sep 2025 22:02:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 588M2bY0028858; Mon, 8 Sep 2025 22:02:37 GMT (envelope-from git) Date: Mon, 8 Sep 2025 22:02:37 GMT Message-Id: <202509082202.588M2bY0028858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 5d65c9eeb805 - stable/14 - tcp: micro-optimize SYN-cookie expansion List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d65c9eeb8057ac796cf9b51ab3fa3d30b06e91c Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5d65c9eeb8057ac796cf9b51ab3fa3d30b06e91c commit 5d65c9eeb8057ac796cf9b51ab3fa3d30b06e91c Author: Michael Tuexen AuthorDate: 2025-09-01 22:18:35 +0000 Commit: Michael Tuexen CommitDate: 2025-09-08 21:57:11 +0000 tcp: micro-optimize SYN-cookie expansion Only compute wscale when it is actually used. While there, change the type of wscale to u_int as suggested by glebius. No functional change intended. Reviewed by: glebius, rscheff (older version) Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52296 (cherry picked from commit 341d1aabc13e47911d2eb38e857b90f7d356134e) --- sys/netinet/tcp_syncache.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 5a12aa3ed21a..29dbaaec929a 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1672,7 +1672,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, sc->sc_tsoff = tcp_new_ts_offset(inc); } if ((to->to_flags & TOF_SCALE) && (V_tcp_do_rfc1323 != 3)) { - int wscale = 0; + u_int wscale = 0; /* * Pick the smallest possible scaling factor that @@ -2268,7 +2268,7 @@ syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch, uint32_t hash; uint8_t *secbits; tcp_seq ack, seq; - int wnd, wscale = 0; + int wnd; union syncookie cookie; /* @@ -2319,12 +2319,14 @@ syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch, sc->sc_peer_mss = tcp_sc_msstab[cookie.flags.mss_idx]; - /* We can simply recompute receive window scale we sent earlier. */ - while (wscale < TCP_MAX_WINSHIFT && (TCP_MAXWIN << wscale) < sb_max) - wscale++; - /* Only use wscale if it was enabled in the orignal SYN. */ if (cookie.flags.wscale_idx > 0) { + u_int wscale = 0; + + /* Recompute the receive window scale that was sent earlier. */ + while (wscale < TCP_MAX_WINSHIFT && + (TCP_MAXWIN << wscale) < sb_max) + wscale++; sc->sc_requested_r_scale = wscale; sc->sc_requested_s_scale = tcp_sc_wstab[cookie.flags.wscale_idx]; sc->sc_flags |= SCF_WINSCALE; From nobody Tue Sep 9 00:55:19 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLQN75Pt1z67Lbp; Tue, 09 Sep 2025 00:55: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLQN74kGHz3d6s; Tue, 09 Sep 2025 00:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757379319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YfIHtGkVMZ0NUp/IpZVE9Dc7fTpuQRayPeJU3UY7GrE=; b=k3u6P2kQgFxADdqotzuUT7WVDg/N0t0n0p/8F0XNDWNYFEBf7PnHyUnm0B/bzCdeP4VR35 kUByWC7Lbdgn597O7OZdvXmcD1u1Z1+rqrLMYmSt+Dykut/zixV0eTSDAdX+ctc9Lyytti 7fMGdELl+yiDkwUaT8ohcRaXxrn1K+Uv6NyrjpscOyiRB9i7TU630QuU8jTQDhBjfBN1OG 3h08feDhz1sROoeV8YZQyUp4+91+xKhbyWUJMBL6rSlue3G5lyRTQjGEZaDOxzSBKgrYLX sCfH/rNGz8iJ/PGNP+hyQSNlgwiF/Bv4+7Y3iXYPFNeCSTwLCLhD5Z0lgTge1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757379319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YfIHtGkVMZ0NUp/IpZVE9Dc7fTpuQRayPeJU3UY7GrE=; b=hC1ut4OEJLIE+aJRvbp6/8B5BQY3NRYkpMvmbfGXoig3dy9OwMQVQxx/CD/2ZmbmaUhUku sKC1yARzIrGdEhBvtE7sBQy8uGJMn3zudaR5vxKQhHB01uDHELpBgx20iuJ16SXWLrOQEr IwVcW6b9GDhY7+VZozvaIlOJxcx9qlw0A2fkueJkYdhKvQkROgIh207QpIkiDBxlwCZZ3W nlnZY84/ogr9AQ2sOAS1+mXebsnbayzYbDZkN84UWD6YXRqSlEJb9brttXb39V9PvYXRxF j9d2cXSB95u/VPcruEZs/LAEzJ66GJ1H1OxhP2Hld7bW57LEj6uF6Sq8gp30ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757379319; a=rsa-sha256; cv=none; b=oZ55Yo4y9my1UKyjo08l2G2ia7R7aXMgbQkO3npXTVBQurO5Nlx6PmervDWhzmteMofe3a jPC43i/9C/f/mUG9mhwwV6FGf/gBU1rO7NzU9nnM3kOlVmTLta5thtLuQuaXDvrAxHcG0Z IlSEvWBcGP55pX71UURnugLarjh3Z99KbmPo5o6yH1LR07tq7rJTCb79NVitf+vv6VhUns sAy9FRKH2ueF3dYuHttv7NcIw4OwIqrqRSI76dPZy59nOxy1Jed2rNCihimQPcTGAs1Qi3 8FrtJ2IZ5rH6Z1oIO8K1lxlmtkVK3yS0wsp1ermYCfMJPzcV7MXaOJcWEjljuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLQN73yX1z1SPd; Tue, 09 Sep 2025 00:55: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 5890tJtX047472; Tue, 9 Sep 2025 00:55:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5890tJW4047469; Tue, 9 Sep 2025 00:55:19 GMT (envelope-from git) Date: Tue, 9 Sep 2025 00:55:19 GMT Message-Id: <202509090055.5890tJW4047469@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: caf162412dbc - stable/14 - exports.5: Add a paragraph clarifying the use of "V4:" List-Id: Commits to the stable branches 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: caf162412dbc74e71ca2ac02e2a8a96e5e086f47 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=caf162412dbc74e71ca2ac02e2a8a96e5e086f47 commit caf162412dbc74e71ca2ac02e2a8a96e5e086f47 Author: Rick Macklem AuthorDate: 2025-08-26 01:38:54 +0000 Commit: Rick Macklem CommitDate: 2025-09-09 00:52:16 +0000 exports.5: Add a paragraph clarifying the use of "V4:" The exports.5 man page is a bit of a monster. One place of common confusion is the use of the "V4:" line(s) for defining the location of the root of the NFSv4 export subtree. This patch adds a paragraph in an attempt to clarify this. This is a content change. (cherry picked from commit 200730f29dbc8da2aa9392b35518bf77b8899f89) --- usr.sbin/mountd/exports.5 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index b8f0e93aec8a..4c8e90635cb2 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd December 16, 2024 +.Dd August 24, 2025 .Dt EXPORTS 5 .Os .Sh NAME @@ -150,6 +150,19 @@ characters. Mount points for a file system may appear on multiple lines each with different sets of hosts and export options. .Pp +Note that, for NFSv4 exporting, there must be both one or more ``V4:'' line(s) +and one or more line(s) exporting the file systems that are to be +exported to NFSv4 clients. +If there are multiple ``V4:'' lines, these lines must all specify the +same root directory path, but with different options for different +clients. +These line(s) do not export any file system, but simply define the +location of the ``root'' of the NFSv4 export subtree. +The line(s) exporting the file systems should always +specify the pathname of the root of a server file system +and must include at least one line exporting the file system +which is specified as the ``root'' by the ``V4:'' line(s). +.Pp The second component of a line specifies how the file system is to be exported to the host set. The option flags specify whether the file system From nobody Tue Sep 9 01:01:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLQWr0ndTz67LhV; Tue, 09 Sep 2025 01:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLQWr06P0z3f5W; Tue, 09 Sep 2025 01:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757379720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7hvrdDkxwNvWWtEtgsja5VxX//zhpXbDSziy7SzL0o4=; b=xnVepfIfr7A8bRz5t0UK+yjRBpMaQ87sA1S6kNCNFAyNSmEYH/UKGx33yhM5LDwM37rzxy assBw77YFJnXtMlKjDLAuwB3eOliTpewy/34mzqLQ3wSJV6rmx2tFrIoVlwkraE85C3+Ey fHUfdL97y8RAjK8cImciuRrko1jY8IR/IWz+U+okycmrBovxPdTTcrp5QT8YaKHsdMj0UF 1f7HfOrvN090u7ceRZnEFwMD7IlpIZFC6NgkCGARrbjc7UhWOdOnOpKYYMI8+xkxCqppk0 zDfmmyzXMVm3TEQbxL7F4L5oVunPkXZTrG9jOdF2uARa7ylYy0XzlPRo6VxRKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757379720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7hvrdDkxwNvWWtEtgsja5VxX//zhpXbDSziy7SzL0o4=; b=ZBIxeWVczeqy6mVF5J2HhnB6v+Ff3R9aTl3iRyjesBCbvfNnVfK/2+DlVcYYqyKIUBU156 Hdy2R9kUxd0MPswvM65QiAu/LhCQDiuy2NcdYAe2u+pTMPXISzlhoTWQu4guxl9SKYIU/4 futwfJc+gl03iq8QaMwcVQVYVZsW6Ty4yXXknsI3AgBY6q+spxj8/eMAXt3JAs7X0GS0Op 9FcybzQEqq0FeW47d4tj/AsyRcQaYILcJFxIzTqWUGBacidaJyRUsPHw2wDkALm6v/d6xg 9991/+eXbVZq9jxqiut+E6xm0by2dNThR1PXND2w6iezfCEwxMq/LVcAp/i8hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757379720; a=rsa-sha256; cv=none; b=npfINprIMsEh2EBKVEyDCJR77M8kUzHaAckg/G1B7a//OhYdkoNTXf51kfYMYaW4ZI8nJi XUPKCjMHWbwqOTGn/dRifQGvNTfL+v6ng/6ujSM6lYZpSYsMH2ekpX9fqajDyQoX0PVPML rAHDowbkW3aL9CQtkygCoz+LTMdbxQdecukH3haiqlKRRfqNr5aBvIJLVi2UrL5T8kQwmT gwm6o4IddVJMftIOzQJDUJtPFtNZoS2r2onAyQ4PALAPxSp7cyVq2POA/ZdVVKdo39HJmP IW0HQz4ciSyV9OzvCUXLga46XgpeeGRmdi1vGszfCII6BCXfhb+hgjVdA6FuCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLQWq6Tnwz1S9m; Tue, 09 Sep 2025 01:01: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 58911xkq063388; Tue, 9 Sep 2025 01:01:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58911xJE063380; Tue, 9 Sep 2025 01:01:59 GMT (envelope-from git) Date: Tue, 9 Sep 2025 01:01:59 GMT Message-Id: <202509090101.58911xJE063380@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: bda48373633c - stable/13 - exports.5: Add a paragraph clarifying the use of "V4:" List-Id: Commits to the stable branches 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: bda48373633c4870f2963d62395fbb7a7ffa524a Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=bda48373633c4870f2963d62395fbb7a7ffa524a commit bda48373633c4870f2963d62395fbb7a7ffa524a Author: Rick Macklem AuthorDate: 2025-08-26 01:38:54 +0000 Commit: Rick Macklem CommitDate: 2025-09-09 00:59:06 +0000 exports.5: Add a paragraph clarifying the use of "V4:" The exports.5 man page is a bit of a monster. One place of common confusion is the use of the "V4:" line(s) for defining the location of the root of the NFSv4 export subtree. This patch adds a paragraph in an attempt to clarify this. This is a content change. (cherry picked from commit 200730f29dbc8da2aa9392b35518bf77b8899f89) --- usr.sbin/mountd/exports.5 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index dfbc16c28639..b1ecf16cfc8c 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd October 08, 2024 +.Dd August 24, 2025 .Dt EXPORTS 5 .Os .Sh NAME @@ -111,6 +111,19 @@ components. Mount points for a file system may appear on multiple lines each with different sets of hosts and export options. .Pp +Note that, for NFSv4 exporting, there must be both one or more ``V4:'' line(s) +and one or more line(s) exporting the file systems that are to be +exported to NFSv4 clients. +If there are multiple ``V4:'' lines, these lines must all specify the +same root directory path, but with different options for different +clients. +These line(s) do not export any file system, but simply define the +location of the ``root'' of the NFSv4 export subtree. +The line(s) exporting the file systems should always +specify the pathname of the root of a server file system +and must include at least one line exporting the file system +which is specified as the ``root'' by the ``V4:'' line(s). +.Pp The second component of a line specifies how the file system is to be exported to the host set. The option flags specify whether the file system From nobody Tue Sep 9 18:04:47 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsCz4Bhcz67FXZ; Tue, 09 Sep 2025 18:04: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsCz3NSMz3ftw; Tue, 09 Sep 2025 18:04:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f3yJazICviDs8phhOyIxK71g4CXoW/5gFxroLY2MDNY=; b=i8PZFIZhBdlQae2WPKSa5N4bmbT5NtiZ57oMsndRxFLTo9copd36YFfh/iM6ng+jGHURAo rcEaRb9tGB4wmxTOWIlIlCyLbVq977YbTBGEWtXxJNeit2v9fRjS09VVSo+I4y91PjZIW8 Mw2fjizPq+/2UxFd0AWuykTQl9bY5L3sYj6zJlJkqYgL/gpeW6fZ7SlmRmFu3zdmnG15ZM Xt/vcnotN3uluTA3aSjLE9+y5X0ei8AnipU7Z9Y9Vf/HYIV21PlkhbMTJxNT76aSZKgOfq ZZ/qKYjkKugMemCCmlHLSZG9M8xBN6LveqA9PbVjO7Oyra2oNUoLaDdltPudKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f3yJazICviDs8phhOyIxK71g4CXoW/5gFxroLY2MDNY=; b=Qb55E3oysIJUYFPNVANarkaoiltzT0VfJFAh25XeXX/dvYDjgwmYN9bLJ4E7R0XWKc1cN1 2wuQraempof94q1/DyINd/1Nh+hrhg5g92Ih9TTf8rupJvib4KLHzT42pjqNZpZ3T5BPc1 5rw6wklh4uDrBadFbSiIRxL42BTQbGpiKSucaudv0owYXf+b6pucZAVk+JPGZI4F0ejGlW fg75FN06JnZ5I2rNKpsMyXZB2h7sNMu35iHsXO4Bgi5gtCkdUImD4C4hdwBOcbHXtiWiAY rnAFBD0VZdjwXSsBXCdzfWpUm4U8crCFRYFGKErsPv8aqhFf3oF9fg52+xc5rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441087; a=rsa-sha256; cv=none; b=gEhHWvwCG0tgjtX4mZhzVRwtSuhKvD4mSCnufQYlzthbqWQpZtX69x/zTzfpIlgfBTj486 thd9N+GGDx+6DhnsijfEMNyE6vvZlRZGk/rf55kpmTbv8uytjgcn4FIPx77WRqrMqrbbl9 PSwGnURL/Hepev3SLFQlRql4rdUo0S8Yuha6tFyiZp5fEkoxBJwyBivCqAxbcKtJbKBOM0 EEiwVz4PuGwUtOgrJSxj1SmEwyRuHCJl+PUax6mLurkSQA8QB2LOYg6fTzWVq4ct3wj/3E TxfnNtnRqEHWX1kRS+MK2em/ohq9Ro7tqNzfh5pthxo8rLiu+dWlzjwz9kXoGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsCz2vdzzmqv; Tue, 09 Sep 2025 18:04:47 +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 589I4llk084706; Tue, 9 Sep 2025 18:04:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589I4lnV084703; Tue, 9 Sep 2025 18:04:47 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:04:47 GMT Message-Id: <202509091804.589I4lnV084703@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: d6849a3b13f2 - stable/14 - tcp: rename syncookie_lookup() into syncookie_expand() and make it bool List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d6849a3b13f2f704aefd48fcfc6fc2d9c2834903 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d6849a3b13f2f704aefd48fcfc6fc2d9c2834903 commit d6849a3b13f2f704aefd48fcfc6fc2d9c2834903 Author: Gleb Smirnoff AuthorDate: 2025-06-17 15:50:01 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:02:14 +0000 tcp: rename syncookie_lookup() into syncookie_expand() and make it bool This function always returns the same pointer it was passed. With new name and return type the code is easier to understand. Mark the hash bucket argument as pointer to const, since function doesn't modify it, just uses value as integer. No functional changes. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D50895 (cherry picked from commit 6538742c1aaca3ce522ccea95007dfa9686c78dd) --- sys/netinet/tcp_syncache.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 29dbaaec929a..89d3f95601c9 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -139,10 +139,10 @@ static void syncache_timer(void *); static uint32_t syncookie_mac(struct in_conninfo *, tcp_seq, uint8_t, uint8_t *, uintptr_t); static tcp_seq syncookie_generate(struct syncache_head *, struct syncache *); -static struct syncache - *syncookie_lookup(struct in_conninfo *, struct syncache_head *, - struct syncache *, struct tcphdr *, struct tcpopt *, - struct socket *, uint16_t); +static bool syncookie_expand(struct in_conninfo *, + const struct syncache_head *, struct syncache *, + struct tcphdr *, struct tcpopt *, struct socket *, + uint16_t); static void syncache_pause(struct in_conninfo *); static void syncache_unpause(void *); static void syncookie_reseed(void *); @@ -1122,7 +1122,8 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, goto failed; } bzero(&scs, sizeof(scs)); - sc = syncookie_lookup(inc, sch, &scs, th, to, *lsop, port); + if (syncookie_expand(inc, sch, &scs, th, to, *lsop, port)) + sc = &scs; if (locked) SCH_UNLOCK(sch); if (sc == NULL) { @@ -2260,8 +2261,8 @@ syncookie_generate(struct syncache_head *sch, struct syncache *sc) return (iss); } -static struct syncache * -syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch, +static bool +syncookie_expand(struct in_conninfo *inc, const struct syncache_head *sch, struct syncache *sc, struct tcphdr *th, struct tcpopt *to, struct socket *lso, uint16_t port) { @@ -2291,7 +2292,7 @@ syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch, /* The recomputed hash matches the ACK if this was a genuine cookie. */ if ((ack & ~0xff) != (hash & ~0xff)) - return (NULL); + return (false); /* Fill in the syncache values. */ sc->sc_flags = 0; @@ -2354,7 +2355,7 @@ syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch, sc->sc_port = port; TCPSTAT_INC(tcps_sc_recvcookie); - return (sc); + return (true); } #ifdef INVARIANTS @@ -2363,11 +2364,12 @@ syncookie_cmp(struct in_conninfo *inc, struct syncache_head *sch, struct syncache *sc, struct tcphdr *th, struct tcpopt *to, struct socket *lso, uint16_t port) { - struct syncache scs, *scx; + struct syncache scs, *scx = NULL; char *s; bzero(&scs, sizeof(scs)); - scx = syncookie_lookup(inc, sch, &scs, th, to, lso, port); + if (syncookie_expand(inc, sch, &scs, th, to, lso, port)) + scx = &scs; if ((s = tcp_log_addrs(inc, th, NULL, NULL)) == NULL) return (0); From nobody Tue Sep 9 18:05:51 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsFD1TxPz67FDm; Tue, 09 Sep 2025 18:05:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsFD0lFwz3g3v; Tue, 09 Sep 2025 18:05:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HW837D41tlmhCFin685/CKGqn41QVb9JJl9u8g7sPS8=; b=hRLV/8twDRct13REmnuLuPPs9Q5MS56Q2KGUmVYHu0f+8Azjgjchz0umQr84JatZP7eY07 QumbqtH1krQmlpO6XvzpbOK3wiWr5bL9xw8O960KaOicESMNsElMqEOyVTZXwBHg9mV5Ej hmnhEqvChQevw3Ch4oUky+fzaKuFSJgpkZXm/BzdXQ4+FWaXo4pJJqHpNV5fZINTKjY270 9CU8iJsexmdqPKS6+z6JJyyYq3RuhyRcSFeqMtKjR9hKPpqvCd5VDcMewlYCxliDvG3tHc XuN0ViOWHq2dHwuUexyzuJHSGzCZBGZkZ8XDbCHVM5dLRwseFYaofuMei8ay/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HW837D41tlmhCFin685/CKGqn41QVb9JJl9u8g7sPS8=; b=QeayVQGxGnY7oB+KxK79NOZZdF452eEtkhL9cIJNRyIHpkVgp1W5aPXzDPqWrZ4Qq8jagW IHG+LjTa71Iw+WXb8Vpf1ymtFKSvJykHMpagB/6pXpBHQWzTu7IKvxMj6d4WHOV+dq/mki +xZ5vYNcvplcZqTALN3iZ+cww2M4fd8Yob9+3L8NQU5IiodWPfCUpOXd6E6dxokitcLVY7 GIMIRAhe2/PiryrA6bfAwYhQuBG9fw3NPsCe82lXheDFlZWqNVkU0FvhNLvZ07SeJKjZCD txvw80Aptm05LTKlkhZCsWVEDnRVZKuGHXLsT54HDOr9QwwqlpFueFrGx1G2UQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441152; a=rsa-sha256; cv=none; b=GKLQUebhVQU7hyjxNo4x1zdARb9z0zKQAsqPZONRElJARZz6KNEY2MXWA89Za8ItrEPU+w 4RXsuAExesMPy9/DMD9jUs5rMvnuhYD8rSoNN9QwtqeCP/lLVjZQU93X0CfELEMew3lTv6 eh5ZFT3y+lwzINm+TxavnddWWHmYyaWyBwdmcpZ+TEY32i8Ygx/u2/HEQS/CGgUP9tTkhD hc1Z5YQGXesQXzzxQljQFV3O7KgNL7yZxw+R8Tgr0QdInzFkdk6lnZ5MJu/Ny2vwnyt39x cJk36tHcfhxzD93pTUnUEMa/N4ui6o05Q3b7oOojPg8+KDIlHpyEi9BeRZyWPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsFD05nKzn73; Tue, 09 Sep 2025 18:05:52 +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 589I5pNs085159; Tue, 9 Sep 2025 18:05:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589I5pMI085156; Tue, 9 Sep 2025 18:05:51 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:05:51 GMT Message-Id: <202509091805.589I5pMI085156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: f5d8084a8d5c - stable/14 - tcp: refactor debug function syncookie_cmp() List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f5d8084a8d5cb01de66f8e3c49597c05d79edca4 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f5d8084a8d5cb01de66f8e3c49597c05d79edca4 commit f5d8084a8d5cb01de66f8e3c49597c05d79edca4 Author: Gleb Smirnoff AuthorDate: 2025-06-17 15:50:08 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:05:24 +0000 tcp: refactor debug function syncookie_cmp() - Don't bzero() the test structure. All fields checked are set by syncache_expand(). - Don't allocate TCP address logging string if there is nothing to report. - Mark hash bucket argument as pointer to const. - Make it void. Differential Revision: https://reviews.freebsd.org/D50896 (cherry picked from commit e9e6a025b4523c9aa2885e892495601964e03056) --- sys/netinet/tcp_syncache.c | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 89d3f95601c9..c7da8a41242e 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -147,9 +147,10 @@ static void syncache_pause(struct in_conninfo *); static void syncache_unpause(void *); static void syncookie_reseed(void *); #ifdef INVARIANTS -static int syncookie_cmp(struct in_conninfo *inc, struct syncache_head *sch, - struct syncache *sc, struct tcphdr *th, struct tcpopt *to, - struct socket *lso, uint16_t port); +static void syncookie_cmp(struct in_conninfo *, + const struct syncache_head *, struct syncache *, + struct tcphdr *, struct tcpopt *, struct socket *, + uint16_t); #endif /* @@ -2359,43 +2360,43 @@ syncookie_expand(struct in_conninfo *inc, const struct syncache_head *sch, } #ifdef INVARIANTS -static int -syncookie_cmp(struct in_conninfo *inc, struct syncache_head *sch, +static void +syncookie_cmp(struct in_conninfo *inc, const struct syncache_head *sch, struct syncache *sc, struct tcphdr *th, struct tcpopt *to, struct socket *lso, uint16_t port) { - struct syncache scs, *scx = NULL; + struct syncache scs; char *s; bzero(&scs, sizeof(scs)); - if (syncookie_expand(inc, sch, &scs, th, to, lso, port)) - scx = &scs; + if (syncookie_expand(inc, sch, &scs, th, to, lso, port) && + (sc->sc_peer_mss != scs.sc_peer_mss || + sc->sc_requested_r_scale != scs.sc_requested_r_scale || + sc->sc_requested_s_scale != scs.sc_requested_s_scale || + (sc->sc_flags & SCF_SACK) != (scs.sc_flags & SCF_SACK))) { - if ((s = tcp_log_addrs(inc, th, NULL, NULL)) == NULL) - return (0); + if ((s = tcp_log_addrs(inc, th, NULL, NULL)) == NULL) + return; - if (scx != NULL) { - if (sc->sc_peer_mss != scx->sc_peer_mss) + if (sc->sc_peer_mss != scs.sc_peer_mss) log(LOG_DEBUG, "%s; %s: mss different %i vs %i\n", - s, __func__, sc->sc_peer_mss, scx->sc_peer_mss); + s, __func__, sc->sc_peer_mss, scs.sc_peer_mss); - if (sc->sc_requested_r_scale != scx->sc_requested_r_scale) + if (sc->sc_requested_r_scale != scs.sc_requested_r_scale) log(LOG_DEBUG, "%s; %s: rwscale different %i vs %i\n", s, __func__, sc->sc_requested_r_scale, - scx->sc_requested_r_scale); + scs.sc_requested_r_scale); - if (sc->sc_requested_s_scale != scx->sc_requested_s_scale) + if (sc->sc_requested_s_scale != scs.sc_requested_s_scale) log(LOG_DEBUG, "%s; %s: swscale different %i vs %i\n", s, __func__, sc->sc_requested_s_scale, - scx->sc_requested_s_scale); + scs.sc_requested_s_scale); - if ((sc->sc_flags & SCF_SACK) != (scx->sc_flags & SCF_SACK)) + if ((sc->sc_flags & SCF_SACK) != (scs.sc_flags & SCF_SACK)) log(LOG_DEBUG, "%s; %s: SACK different\n", s, __func__); - } - if (s != NULL) free(s, M_TCPLOG); - return (0); + } } #endif /* INVARIANTS */ From nobody Tue Sep 9 18:06:41 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsG96sYbz67FZ3; Tue, 09 Sep 2025 18:06: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsG96M4nz3gLF; Tue, 09 Sep 2025 18:06:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KEp8gnqOX5Ye6goKchX41VadJ1p0nUAnQeUrzdkwnc8=; b=KmEWa6sVC8J9qaibH+vXhdiBwsD2QD8Qiv5PqZOnxnUTfzWbumd0ZORhTRSxpH7OaEextj EuS25ocf8ew8nXqtYXMb2tVOD6hJKYXkF0E8S7bOWI34dy3d7oL6VKiLcppSmdbxprkSlD L8/tfEBUjr34xW2zZpnDH4QKcr4RpuyFF7bHFV/0UwVgQvhuxupUXn76SH/QSTpse2vGU/ ZiRYKdyUDqeG20y/2pj5oQ/NhIOG0aANyFwOhA0Eq4kRRk3pNKBIRWlVlofCrTqni2GJvh k7z9tc/DqtaxA7I869IgXYge+t5jsK9QJ/YgIUeFOAwo2i8etNQ4TzooJm0yEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KEp8gnqOX5Ye6goKchX41VadJ1p0nUAnQeUrzdkwnc8=; b=Eav7pTwkwq9FZtWHaVWhIkx1UwHPJ7gyof2eyyrxk3gWAP0vVekkZRMHfchYJyZtrNDDM2 RtTxrgMSIKiC8AoIYgWTtmOpvwAolslc7xSdMNMwehl/qJ33YP6pXlMDlRWHc1V6yYZ3Hm JCuvC3ee9DQU2lE+9ZMHeJQ+9tRyrC9qa0krsyk8HTmJeTHr/aMNideQyRGT0jevLZuJCQ 7dQ95M/VmP5V1pDjRJe08HENXYp/h3QlHKs1YtxCgrlbLRftPtmMwCqnko/KaBGUU1mWeJ DkgppXM3/NFB750rgXBT/bg3rtHLpQNWP24AUprKJdZN1DavXw8t13vuAWK1aQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441201; a=rsa-sha256; cv=none; b=MyijU7077ZN9psD6SaMgEAs+XPNHL1rX44UTonHFcTZe8cHQy9sxrdgWWwukVK8wCwqPIk PDz7vMdO8jWEQusw/TP2z5bmeGoxUVdMBTdLp3UUN3MQ97NCMrHqpbKHPOknvrkIvoQyXi KNe3ulKg+WYr0AtYN1N4/rLsrUkr1xQJ05fNOzKSkbtEck8aVrurW/rNkJ08EaY4xzK+3L lSrwe9MMpBhpWhbvlGkhhGZXdmQPoHn4MKh5GFJ2Ap6YR7Oighl/wL7816SId11LZJdnyn vy9sb6Ybk8rVY1JnriaKfct7cC8cjxz0O+/VEQGoGbnKaQh4VUn733X1EzcZmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsG95t5lznKR; Tue, 09 Sep 2025 18:06:41 +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 589I6ffu085513; Tue, 9 Sep 2025 18:06:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589I6fsL085510; Tue, 9 Sep 2025 18:06:41 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:06:41 GMT Message-Id: <202509091806.589I6fsL085510@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ea5560f2293b - stable/14 - tcp: increase tcps_sc_recvcookie only in the syncache_expand() List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ea5560f2293b9f2c69f62cba6b122c91b0b8eb3b Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ea5560f2293b9f2c69f62cba6b122c91b0b8eb3b commit ea5560f2293b9f2c69f62cba6b122c91b0b8eb3b Author: Gleb Smirnoff AuthorDate: 2025-06-17 15:50:17 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:06:19 +0000 tcp: increase tcps_sc_recvcookie only in the syncache_expand() The syncookie_expand() is called from syncookie_cmp() in INVARIANTS mode to confirm that values calculated via syncookies mechanism match those stored in the syncache entry. This creates a counting bug, that with INVARIANTS every successful use of syncache also counts as use of a syncookie. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D50897 (cherry picked from commit 3ed8d5645dd42a7c080ba800cf6d25cb7e147d7e) --- sys/netinet/tcp_syncache.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index c7da8a41242e..b50d6e9ea84e 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1123,8 +1123,10 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, goto failed; } bzero(&scs, sizeof(scs)); - if (syncookie_expand(inc, sch, &scs, th, to, *lsop, port)) + if (syncookie_expand(inc, sch, &scs, th, to, *lsop, port)) { sc = &scs; + TCPSTAT_INC(tcps_sc_recvcookie); + } if (locked) SCH_UNLOCK(sch); if (sc == NULL) { @@ -2355,7 +2357,6 @@ syncookie_expand(struct in_conninfo *inc, const struct syncache_head *sch, sc->sc_port = port; - TCPSTAT_INC(tcps_sc_recvcookie); return (true); } From nobody Tue Sep 9 18:07:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsHF3ZlWz67FHv; Tue, 09 Sep 2025 18:07:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsHF2drbz3gZc; Tue, 09 Sep 2025 18:07:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=780mRLcRGKszZ8rpiQFbuibVl4gAo76DMM94QNoiXv0=; b=r4ai/78G+mfg6JeZCidBR8zzATJDuWEJf2pfo8yTyA+B94646plGSLjuC31z0ZazW3Bkc/ 0qruUrwvL2DaTWzpqGREuncLcfAsYo5dzwrNcAELMaOiX3qqTwxU3BMZttJpHNY1hVCcPd yxaxtP8zxlA9a9NZHiZRaYG4hAfrxGN/bAjmTr4LjQAWM10fiZhOfWB9l+wJC1Vlh+ufa4 ZliDxgb14u3nV3A3QnHEplerOQuqEa2JzS0AXQnJxYlVQdgWtJWJ/6SLfYxYdsVi9i+kmm 3FRQFPG5kKdVAq6p3K5GNek0i321KTNrp4bsszUTTpLhygqJwuz5waM1dhFtVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=780mRLcRGKszZ8rpiQFbuibVl4gAo76DMM94QNoiXv0=; b=oZZLaLZ3BliMPkYJwMno26X48XuYZL3VV2YhxSduZzl8Bf52RbmBjqaRwHwIcGS8HkZDSh WI7yL2WZt4qTSG6D6qk+MhaZV/FOjIEx0wCk1PMIZhzM8R3d8q3k+7zbzsFmlVx+9YSFfu smxI5PpPG/n0WOWCS0Sc7oIx8aPEvjXww6+4PUCYyrwG+7NkCgnaIat8VOwAZB79wGxvO+ gnnAuoNKtu1nMzB+Qb3yzZCa7mzEBp6f4FDbqrS+1RF+SKtjWximExmsUxp9RbafIShr5s 1+TOb6+XKKwj4kuCB3vIAH0iUKDEHbeNyBDhjiZeyYPu1Dgq8IMoQEZIFhw7bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441257; a=rsa-sha256; cv=none; b=oC0wS4es22VhyoPSTWPz6fAQLZ/TE4BAxtk7DTcgrZ8ml0hsdHhyQu5NSUpUbcUYaIcT1z FwgHIfMFymzx1kvSVDiSkV7MDLQNdM3AJX0Iw0cO5sGpNzDx0C6Q389c4PdcoVHUhA8UBO Upkc8/6GI9jDrKOCMcn7jnK4CsM4NJk5M9qKuiVr59PmsdbsbRrbKu4H2ddhRwpa8OvCpm vu8CnBdTvB35+RmuNH+GXAojxfasIGw9n+uX+ymlULW3qvY0RbS9jYDRmQ7fEjZFW1/USq Y4jGzOLPqNqiJOWRRb4LZDU72ShGWB9I0kDMOubviiRV4i8CIIoBTYiWRde+FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsHF2Bwnzn7X; Tue, 09 Sep 2025 18:07: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 589I7bGv085892; Tue, 9 Sep 2025 18:07:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589I7bRe085889; Tue, 9 Sep 2025 18:07:37 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:07:37 GMT Message-Id: <202509091807.589I7bRe085889@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 1b72d275eef4 - stable/14 - tcp: unlock before syncookie_expand() List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1b72d275eef4b3219708bbe9ef5a898c967195dd Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1b72d275eef4b3219708bbe9ef5a898c967195dd commit 1b72d275eef4b3219708bbe9ef5a898c967195dd Author: Gleb Smirnoff AuthorDate: 2025-06-17 15:50:23 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:07:18 +0000 tcp: unlock before syncookie_expand() The function doesn't need a lock on sch. It uses the pointer as value for the SipHash calculation. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D50898 (cherry picked from commit 0809d26de24defdc4a2ae161357566c02dc163d1) --- sys/netinet/tcp_syncache.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index b50d6e9ea84e..4adb92fff36c 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1122,14 +1122,13 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, s, __func__); goto failed; } + if (locked) + SCH_UNLOCK(sch); bzero(&scs, sizeof(scs)); if (syncookie_expand(inc, sch, &scs, th, to, *lsop, port)) { sc = &scs; TCPSTAT_INC(tcps_sc_recvcookie); - } - if (locked) - SCH_UNLOCK(sch); - if (sc == NULL) { + } else { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Segment failed " "SYNCOOKIE authentication, segment rejected " From nobody Tue Sep 9 18:14:54 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsRf5FZRz67G4C; Tue, 09 Sep 2025 18:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsRf4cbpz3jkD; Tue, 09 Sep 2025 18:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KRU1DEExNYeJ/jcqpxjRHNYeaq2YvXHMPCIkvYhAowk=; b=o9+DyFszR8rgSWG51rO0N+zZuJL5gtenjOl9V4bGLgxPjKPflCxP7ZW7z6fa8iXbpbULM9 bqV8vTrZ3YOWTYOQPrnlbAz653I8LPmOONtXEoEro8LZLqGL9TOF1wpyvA1K5js4yNjrT6 JNP2e/ppAYBmiCReqZbtWGhmuTkIfBw7TflYC5ubVnA0kJS7+Qu9L2g3sfI9/OhYXhVdDi bqingRPn4lUF3iDIcs0LZFkW9+0JwnzYGJ2vi3nwtmN7ZSJRzfs5CuFgD1OQJBL+10cXs+ Dw6GrO9QqyCK7kdmGHBtbVjBI6aROWEVYy8+tskDuXEKSJ2+39Tf7NkxGLIzQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KRU1DEExNYeJ/jcqpxjRHNYeaq2YvXHMPCIkvYhAowk=; b=H8Gndz3CAfgqeEmJpZ6m4cUSWYuhltyjbluJs91gi4qCS6tZi4r5r5OF2B7h/JXzHqbmCZ wlduvsU/Uxg2O/pTjImygjXQC+dEH+yF4KccZW3ljR1ASvlbGcevNeL1O5tBx6Cnnk9Rnh VxFbH+SMcqkGgfzTmqFHZAztR7miHmzfT7ny3fv4YjyEJTsYU87CS7RpD6qD4iNhTG/0Mj eLBilAzEDqVH62yALOlh2znp08yncyxdLWHZZ/YMuu1gqYxofKdY+AYuEa5mHEwD20Dzbi QjGIu2Nd6o1Ckjas5hK9lgbxX1zuIycGwOIc6VIUf6ABHJX4rKYJguwI7W86kA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441694; a=rsa-sha256; cv=none; b=QQdY8BSAZGeph2nOKm1c/vIIi0S4l3U1SisVxL0kCFF4Kk3J04Ca1ULCid+SX0AyvSZ62O cYjbumhtgf/COuNdW4KSP86xp0cImXfeGVXaOYcmzIQTsy0dbFU8Ec4PqHGE+6nCdcdY3w f1SoBab2eefITVsUcUbWywPvgtpp4+aOWBJn2WBbyqoTx21JL1X/36xuyfhAGk3ZMRNALA 7yX0cid6/PFoL/pGfZZv+jDPBiBYE6wU6ZWeNH+H8CukN21s43XNon6m3y8f1M0VTyQ854 /wUN+OCmmainedFNb738zbdnVg/q7ctLxcOc1GoaFlZPmXuoADpKmjdMdFuXJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsRf46d5zmvJ; Tue, 09 Sep 2025 18:14:54 +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 589IEspG004761; Tue, 9 Sep 2025 18:14:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589IEsB9004758; Tue, 9 Sep 2025 18:14:54 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:14:54 GMT Message-Id: <202509091814.589IEsB9004758@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 31c467da81d3 - stable/14 - tcp: improve sending of SYN-cookies List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 31c467da81d349767264182bee218bb60ea78924 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=31c467da81d349767264182bee218bb60ea78924 commit 31c467da81d349767264182bee218bb60ea78924 Author: Michael Tuexen AuthorDate: 2025-08-30 14:47:10 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:14:35 +0000 tcp: improve sending of SYN-cookies Ensure that when the sysctl-variable net.inet.tcp.syncookies_only is non zero, SYN-cookies are sent and no SYN-cache entry is added to the SYN-cache. In particular, this behavior should not depend on the value of the sysctl-variable net.inet.tcp.syncookies, which controls whether SYN cookies are used in combination with the SYN-cache to deal with bucket overflows. Also ensure that tcps_sc_completed does not include TCP connections established via a SYN-cookie. While there, make V_tcp_syncookies and V_tcp_syncookiesonly bool instead of int, since they are used as boolean variables. Reviewed by: rscheff, cc, Peter Lei, Nick Banks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52225 (cherry picked from commit 7b57f2513361fb98fd5e2262f130989fe65946c6) --- sys/netinet/tcp_syncache.c | 85 +++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 4adb92fff36c..9d2c5dd5098e 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -102,15 +102,15 @@ #include -VNET_DEFINE_STATIC(int, tcp_syncookies) = 1; +VNET_DEFINE_STATIC(bool, tcp_syncookies) = true; #define V_tcp_syncookies VNET(tcp_syncookies) -SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies, CTLFLAG_VNET | CTLFLAG_RW, +SYSCTL_BOOL(_net_inet_tcp, OID_AUTO, syncookies, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_syncookies), 0, "Use TCP SYN cookies if the syncache overflows"); -VNET_DEFINE_STATIC(int, tcp_syncookiesonly) = 0; +VNET_DEFINE_STATIC(bool, tcp_syncookiesonly) = false; #define V_tcp_syncookiesonly VNET(tcp_syncookiesonly) -SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies_only, CTLFLAG_VNET | CTLFLAG_RW, +SYSCTL_BOOL(_net_inet_tcp, OID_AUTO, syncookies_only, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_syncookiesonly), 0, "Use only TCP SYN cookies"); @@ -561,9 +561,8 @@ syncache_timer(void *xsch) static inline bool syncache_cookiesonly(void) { - - return (V_tcp_syncookies && (V_tcp_syncache.paused || - V_tcp_syncookiesonly)); + return ((V_tcp_syncookies && V_tcp_syncache.paused) || + V_tcp_syncookiesonly); } /* @@ -1093,38 +1092,46 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, #endif if (sc == NULL) { - /* - * There is no syncache entry, so see if this ACK is - * a returning syncookie. To do this, first: - * A. Check if syncookies are used in case of syncache - * overflows - * B. See if this socket has had a syncache entry dropped in - * the recent past. We don't want to accept a bogus - * syncookie if we've never received a SYN or accept it - * twice. - * C. check that the syncookie is valid. If it is, then - * cobble up a fake syncache entry, and return. - */ - if (locked && !V_tcp_syncookies) { - SCH_UNLOCK(sch); - if ((s = tcp_log_addrs(inc, th, NULL, NULL))) - log(LOG_DEBUG, "%s; %s: Spurious ACK, " - "segment rejected (syncookies disabled)\n", - s, __func__); - goto failed; - } - if (locked && !V_tcp_syncookiesonly && - sch->sch_last_overflow < time_uptime - SYNCOOKIE_LIFETIME) { + if (locked) { + /* + * The syncache is currently in use (neither disabled, + * nor paused), but no entry was found. + */ + if (!V_tcp_syncookies) { + /* + * Since no syncookies are used in case of + * a bucket overflow, don't even check for + * a valid syncookie. + */ + SCH_UNLOCK(sch); + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Spurious ACK, " + "segment rejected " + "(syncookies disabled)\n", + s, __func__); + goto failed; + } + if (sch->sch_last_overflow < + time_uptime - SYNCOOKIE_LIFETIME) { + /* + * Since the bucket did not overflow recently, + * don't even check for a valid syncookie. + */ + SCH_UNLOCK(sch); + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Spurious ACK, " + "segment rejected " + "(no syncache entry)\n", + s, __func__); + goto failed; + } SCH_UNLOCK(sch); - if ((s = tcp_log_addrs(inc, th, NULL, NULL))) - log(LOG_DEBUG, "%s; %s: Spurious ACK, " - "segment rejected (no syncache entry)\n", - s, __func__); - goto failed; } - if (locked) - SCH_UNLOCK(sch); bzero(&scs, sizeof(scs)); + /* + * Now check, if the syncookie is valid. If it is, create an on + * stack syncache entry. + */ if (syncookie_expand(inc, sch, &scs, th, to, *lsop, port)) { sc = &scs; TCPSTAT_INC(tcps_sc_recvcookie); @@ -1298,7 +1305,7 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, if (__predict_false(*lsop == NULL)) { TCPSTAT_INC(tcps_sc_aborted); TCPSTATES_DEC(TCPS_SYN_RECEIVED); - } else + } else if (sc != &scs) TCPSTAT_INC(tcps_sc_completed); if (sc != &scs) @@ -1725,13 +1732,13 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, if (V_tcp_do_ecn && (tp->t_flags2 & TF2_CANNOT_DO_ECN) == 0) sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), iptos); - if (V_tcp_syncookies) + if (V_tcp_syncookies || V_tcp_syncookiesonly) sc->sc_iss = syncookie_generate(sch, sc); else sc->sc_iss = arc4random(); #ifdef INET6 if (autoflowlabel) { - if (V_tcp_syncookies) + if (V_tcp_syncookies || V_tcp_syncookiesonly) sc->sc_flowlabel = sc->sc_iss; else sc->sc_flowlabel = ip6_randomflowlabel(); From nobody Tue Sep 9 18:16:44 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cLsTm68Rpz67G87; Tue, 09 Sep 2025 18:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cLsTm5Sd9z3k4t; Tue, 09 Sep 2025 18:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjmc97EgTwIAJKxuGUdeTH+lIuETjPhtNqenDvjyUZw=; b=Mjw47Ox3bqYPmpEveNM3qK0/5p615XeH/eRCOFyYCBTJBNNWhUX/uydCdCYfqXr62eEPf4 nbgUlH+4ZLoefWxzvxXxlh8HyR52RdsZ4Gnb5j0S8j+7lE2EG1I4TjunDskGrQ3svwRWcF xRL5bs0D2lltMt3ici4+OlVD1OeStjUy8UWX3UBMNmciHHzMoM8/X51BYK+wuyGN5rZfVB Pf6LbVwfK2FACJCo0oUJ3dPKYX1PMW9dMRNdUZMgreomK6Qc5Uz5SZLuCMHqBIqBKqXoak /n4CBdJ1rEElIbqtNJSCuNkYzvOzZ7mPnW9e9rOe1XA8wK9NW1C+7IX6At8kUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757441804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjmc97EgTwIAJKxuGUdeTH+lIuETjPhtNqenDvjyUZw=; b=yPSCaOrI4kmuJAJV1WDrrXJAHyacVM6MkDZivTwPL60NMmiOg4YxX36R/XOhzib5P89+f+ 9u7i1KzN4d7wxE6ptgle/TD0dYYzRyW6siXKEL3vsu45iP3oBjS/Aj+HyryCPVHEFg7GGA D64BzQHgZd61tFn3zA4FuofHWTTJxrdb9G+NfAE9VtQV5a3v1Q3WrqspDjGtNZTYSs2sr1 O6/2GIuz5h6WkQUX5xaIdUh5boCerhkagRLhG4wLJyGgBUYJyofSNr0Wpl5zYVLuoBYeOP eggIAaxgq6i+QxYDT/w3ASVh19V2N/YwmsSPLn2uDjZohV5ECz08kBDqp+s9sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757441804; a=rsa-sha256; cv=none; b=NmPXWMAgRq+bHxbCUPu04PvA8NV8NR3VJv99EFveVvzXUPuKB3RYdQSVpEgEi4C5yzBTrb g9vP2fbluS36SaZ9E3O0VmOuC7mUY+1FCYFuRirgmXaV7qXKSSiGXRYQGufGYx+ologw5+ yeL2wKAZic/HbWKCNFSDOA4PjNBoQiKNIcT41FmFnadn3QygJ9qq2BeMP6WYSqfn6Y8kzf EA84NmBpH1whCGToos/kRYJ6+lKHnZpkqnOb2/EQ8Evswnajw0rLrclTvuPGSeY/Slqh6X iGx94YgumYcvvaOJiCuQlwZIzTrSFBmHl+tKg77L5LBFUJplgzvj7gC+PZplWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cLsTm4dtszmNM; Tue, 09 Sep 2025 18:16: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 589IGiTh005402; Tue, 9 Sep 2025 18:16:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 589IGiZb005399; Tue, 9 Sep 2025 18:16:44 GMT (envelope-from git) Date: Tue, 9 Sep 2025 18:16:44 GMT Message-Id: <202509091816.589IGiZb005399@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 9a6978136157 - stable/14 - syncache.4: add missing information List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a69781361576e597f68b25e22925f8c24b9e433 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9a69781361576e597f68b25e22925f8c24b9e433 commit 9a69781361576e597f68b25e22925f8c24b9e433 Author: Michael Tuexen AuthorDate: 2025-08-30 14:53:08 +0000 Commit: Michael Tuexen CommitDate: 2025-09-09 18:16:30 +0000 syncache.4: add missing information Add the description for one sysctl-variable and three counters provided by netstat. Reviewed by: gbe, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52226 (cherry picked from commit bed2299823b8173fd791c0bbacc75ac224cecc0a) --- share/man/man4/syncache.4 | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/share/man/man4/syncache.4 b/share/man/man4/syncache.4 index e92502fd15ff..f83e9b083e45 100644 --- a/share/man/man4/syncache.4 +++ b/share/man/man4/syncache.4 @@ -10,7 +10,7 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" -.Dd April 12, 2021 +.Dd August 30, 2025 .Dt SYNCACHE 4 .Os .Sh NAME @@ -39,6 +39,8 @@ MIBs for controlling TCP SYN caching .Nm sysctl Cm net.inet.tcp.syncache.count .It .Nm sysctl Cm net.inet.tcp.syncache.see_other +.It +.Nm sysctl Cm net.inet.tcp.syncache.rst_on_sock_fail .El .Sh DESCRIPTION The @@ -107,6 +109,18 @@ and run only with set .Va net.inet.tcp.syncookies_only to 1. +To use +.Nm syncookies +to handle bucket overflows in the +.Nm syncache +set +.Va net.inet.tcp.syncookies +to 1. +The default value for +.Va net.inet.tcp.syncookies_only +is 0 and the default value for +.Va net.inet.tcp.syncookies +is 1. .Pp The .Nm @@ -169,6 +183,9 @@ However, extra .Xr ucred 9 referencing is required on every incoming SYN packet processed. The default is off. +.It Va rst_on_sock_fail +Send a TCP RST segment if the socket allocation fails. +The default is on. .El .Pp Statistics on the performance of the @@ -206,8 +223,16 @@ Entries dropped due to ICMP unreachable messages. Failures to allocate new .Nm entry. +.It Li "cookies sent" +SYN cookies sent in SYN ACK segments. .It Li "cookies received" -Connections created from segment containing ACK. +ACK segments with valid syncookies which resulted in TCP connection +establishment. +.It Li "spurious cookies rejected" +Received ACKs, for which the syncache lookup failed and also no syncookie was +recently sent. +.It Li "failed cookies rejected" +Received ACKs for which the syncookie validation failed. .El .Sh SEE ALSO .Xr netstat 1 , From nobody Wed Sep 10 15:03:28 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMP8K1nsNz62lf9; Wed, 10 Sep 2025 15:03: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMP8K0WXwz48N3; Wed, 10 Sep 2025 15:03:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757516609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbYQFcDJ7eLy0Z+aDKYipwSCF0yp6v5PpYxlySwT2Ro=; b=bE+uzHeBFvNZA5DaV1QEBtxSXFlsKxQEvIBIFtg/zEdK/5UcFYKBBstvf2z7rhGxzxefPl Moa6GpcZcQuBJw92OM8oAdezTDFiaxuVY7CI4p4AcDdtnYTT1Q3qqmZ9jzcItEldyasBM1 8XhNDQxK6MdcBS+c4d5eXXOQg4Y1BU22sa1TtGx9ZG+2BFBcRYI+qdcMPejjwszJMOp9Sp lrRSRxu6Q8qq+7mdjOuQGvNV2pHulGDmiU2rWBJ6f1FajeQA4mIwKt3Sy70rrWvsQsvRwR 8wXxUbGt8t+Y/2Ep0wB8y2RbzM4X8vs3jAotVS4PiyhjZGYK7KLHXip8s22OIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757516609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbYQFcDJ7eLy0Z+aDKYipwSCF0yp6v5PpYxlySwT2Ro=; b=PEGpUvNPblSo4xfjSMx+597j4zpozabtZSLf1rVi4h8VN6JNJSUKPDHdG8VtkxL/WegAtF u/4hleaJcj1v9m+taxRGQikX7XPHN3+ZJXqFyHq5wdw0yaXCue0rzqp750mAib+chZ0igF JE/nUUUXJJIg3uMAWzSaYG6MK3bwUGOZOVcxvm5ZTQyJzUZu8h9ysWtUVq6uraPq+tJwFS aKo1DGdpO4CQ2bH88+13dyjgMjvIxtJFXGd/3a35pg4UE69xpnIli9V2DA/gXACnlJHPnk amwID1D1Mm3bXMsramt5KQsHbZ2uayj2/mvan47cXedz1jIfcAv0GWQ89lQIJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757516609; a=rsa-sha256; cv=none; b=k1QX8CM9fvDjhe9ngZAfpBTCEYHXlarU3bIC+6hB7IqsCwyTSxAuYhlLB+euBmTwDca/BV 5kPS5L1dH3u3Xhd7VHrLpjDRsXc0RLhElnoBOUWqfLSkl67ZXWJBLcOcQSILrCN8cG2gRp jP5LIEIHx3ov9HEaW4Y0T/MG+VpOtAJ0j72KjoQP0LXfbsi26QlhGU5iAfz1AcQ3oGWAhD 1LyG2DWl6hXSYXKi0xCO8StteymFGvIC4/myU9Yiq+zvPnR2BCMh1d2WrG5Zj90E64cRg+ XlaXBACGHf0sXOxngYhibAD4E8yrI68lLsOY5zUqOkV93Wvc1S3M0uC8DanSwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMP8K04XRz9cH; Wed, 10 Sep 2025 15:03: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 58AF3S7g053242; Wed, 10 Sep 2025 15:03:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58AF3S3q053239; Wed, 10 Sep 2025 15:03:28 GMT (envelope-from git) Date: Wed, 10 Sep 2025 15:03:28 GMT Message-Id: <202509101503.58AF3S3q053239@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: 78343cd2a0f1 - stable/14 - pw: Clarify groupadd/groupmod memberlist formats List-Id: Commits to the stable branches 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: 78343cd2a0f1805d5b831302eee8b0e0b173570a Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=78343cd2a0f1805d5b831302eee8b0e0b173570a commit 78343cd2a0f1805d5b831302eee8b0e0b173570a Author: Jose Luis Duran AuthorDate: 2024-07-29 06:43:25 +0000 Commit: Ed Maste CommitDate: 2025-09-10 15:03:05 +0000 pw: Clarify groupadd/groupmod memberlist formats Clarify in which formats the memberlist for groupadd/groupmod can be accepted for '-M', '-m', or '-d' flag. Related commit: 40ab104eaa6f6d5577dcff6d8bf04de03faef345. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1352 (cherry picked from commit d573295659550cf4bfbf3aaaf97d050fe7416d77) --- usr.sbin/pw/pw.8 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pw/pw.8 b/usr.sbin/pw/pw.8 index 5ba35c193811..c72623ee05b3 100644 --- a/usr.sbin/pw/pw.8 +++ b/usr.sbin/pw/pw.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 28, 2022 +.Dd July 29, 2024 .Dt PW 8 .Os .Sh NAME @@ -837,7 +837,8 @@ new group or replace an existing membership list .Pq in Cm groupmod . .Ar memberlist -is a comma separated list of valid and existing user names or uids. +is a comma, space, or tab-separated list of valid and existing user names or +uids. .It Fl m Ar newmembers Similar to .Fl M , From nobody Wed Sep 10 15:03:30 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMP8L310Zz62lhb; Wed, 10 Sep 2025 15:03: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMP8L22n9z48Nv; Wed, 10 Sep 2025 15:03:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757516610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpkODiD9/t8JVn0y80rU54GcdDvUkFMA3KfN0QqkUmA=; b=qNaO9qFQSypZom4LWMFFQASkLTNavahVHTJm7FQfaVVSvCWFrPfMHxuE3prmjATKGbyxsv JIdTay/SpYw84gg0yWmkl8uDI8CpKoB+xx8rGRM1VPOZ/2/b44GiE9cxiEwHjmQA+wpe6y baxL6b+++Oqskc/XRfdNkC2Vavu0qIbsplLrZh0JA9mGZ2XFWdvshjIoyf1MsOvB1TcjdN +9xqzmOtk3Heg/CVbGJS8yFOur0C+NWHQev/tAXrur+xZOrVQPlFxdbAGnJ/jbPQu6UP7P 5QW8fYPHc4nMzANZ5vkZ3LCHwWEQf0PqZClvX9zOf4WCiOJRy8ARoxD2bKUDIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757516610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpkODiD9/t8JVn0y80rU54GcdDvUkFMA3KfN0QqkUmA=; b=aUqRru/JZ3cahTyC04oawEGhdp74PLWExsU/HU5RVR7luXn+DfpxC1FXuqyG8Qr3/B9++r aXt4lRWGWDANdEqsI8cUyKc7EUCnzrX0Z1eNtmTgVa09uoww225EUiiIMdHaJp1KvpbkK9 4+zKiT1UB1Fz+goKMKsWdhH0RyV0Fw73BYFfmJkkp43+dDfky6D9DSsYEXVlhSi8XBU0pw rsvgHiShFL9KRRf6qI4i4msvgrFHDqSuovwOBeqiMM07/UTgFs5cAR4pCMSNQFyo8cqag1 6yofsYdPuZCaCOsnJUl72ouzWxgJ/FGPlGI83skPKD5F5ChsYnJV4lq9nLQtqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757516610; a=rsa-sha256; cv=none; b=aHacBGBknsncqOH3JZHNV09hM2t+t5HObCbLh2Kdj+MRcsvhEnfmpSiG6Q6rnDlNmMzH2y y4r9p8Z0YbJcqAYBM5+fFR9H6GK22setfk7gTwWbl5Dahc+hYn0Nca7QEvxtRQaCHDpwhS 4+qKVMxW7f8kX/npTksbDmLSsUKNCN2wdtOxp2aP1XpxHy6orv6BFeRDc2JZcIlxd3D4Z9 xMpQFrIxqdXc7jIvKxEWvNVf3brVwY8MPJ+QjLYlGnk6QorxtjszgPORu+WomRrZsXWUPr Oq9xCgDSwsBqYIeppov7gt1TUbSLRmDpt95XtVjRJTIgCxdggVAfZrZb1NoD4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMP8L1KLQz9jp; Wed, 10 Sep 2025 15:03: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 58AF3UeH053280; Wed, 10 Sep 2025 15:03:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58AF3U52053277; Wed, 10 Sep 2025 15:03:30 GMT (envelope-from git) Date: Wed, 10 Sep 2025 15:03:30 GMT Message-Id: <202509101503.58AF3U52053277@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: 4a4b3f8c0a99 - stable/14 - pw: Skip root check with alternate root List-Id: Commits to the stable branches 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: 4a4b3f8c0a997e583045b6f4f4b49ff943355f56 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4a4b3f8c0a997e583045b6f4f4b49ff943355f56 commit 4a4b3f8c0a997e583045b6f4f4b49ff943355f56 Author: Ed Maste AuthorDate: 2025-06-06 01:27:50 +0000 Commit: Ed Maste CommitDate: 2025-09-10 15:03:05 +0000 pw: Skip root check with alternate root pw may be run by an unprivileged user for creating an image or jail. EPERM will still be reported from the file open if the user does not have appropriate permission. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50710 (cherry picked from commit 142b4309f42d5018a92ad5e08943fd1081a9ea57) --- usr.sbin/pw/pw.8 | 9 +++++++-- usr.sbin/pw/pw.c | 1 + usr.sbin/pw/pw_user.c | 18 ++++++++++++------ usr.sbin/pw/pwupd.h | 1 + 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pw/pw.8 b/usr.sbin/pw/pw.8 index c72623ee05b3..5eae810b6732 100644 --- a/usr.sbin/pw/pw.8 +++ b/usr.sbin/pw/pw.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 29, 2024 +.Dd August 19, 2025 .Dt PW 8 .Os .Sh NAME @@ -191,7 +191,12 @@ utility handles updating the .Xr master.passwd 5 , .Xr group 5 and the secure and insecure -password database files, and must be run as root. +password database files, and must be run as root +.Po except when using +.Fl R +or +.Fl V +.Pc . .Pp The first one or two keywords provided to .Nm diff --git a/usr.sbin/pw/pw.c b/usr.sbin/pw/pw.c index fc17f6dba022..a4c95258f3bb 100644 --- a/usr.sbin/pw/pw.c +++ b/usr.sbin/pw/pw.c @@ -162,6 +162,7 @@ main(int argc, char *argv[]) snprintf(conf.etcpath, sizeof(conf.etcpath), "%s%s", optarg, arg == 'R' ? _PATH_PWD : ""); + conf.altroot = true; } else break; } diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index d9fd8c77c13e..8a9a4342f5ef 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -238,6 +238,13 @@ perform_chgpwent(const char *name, struct passwd *pwd, char *nispasswd) } } +static void +pw_check_root(void) +{ + if (!conf.altroot && geteuid() != 0) + errx(EX_NOPERM, "you must be root"); +} + /* * The M_LOCK and M_UNLOCK functions simply add or remove * a "*LOCKED*" prefix from in front of the password to @@ -256,8 +263,7 @@ pw_userlock(char *arg1, int mode) bool locked = false; uid_t id = (uid_t)-1; - if (geteuid() != 0) - errx(EX_NOPERM, "you must be root"); + pw_check_root(); if (arg1 == NULL) errx(EX_DATAERR, "username or id required"); @@ -1324,8 +1330,8 @@ pw_user_add(int argc, char **argv, char *arg1) if (argc > 0) usage(); - if (geteuid() != 0 && ! dryrun) - errx(EX_NOPERM, "you must be root"); + if (!dryrun) + pw_check_root(); if (quiet) freopen(_PATH_DEVNULL, "w", stderr); @@ -1641,8 +1647,8 @@ pw_user_mod(int argc, char **argv, char *arg1) if (argc > 0) usage(); - if (geteuid() != 0 && ! dryrun) - errx(EX_NOPERM, "you must be root"); + if (!dryrun) + pw_check_root(); if (quiet) freopen(_PATH_DEVNULL, "w", stderr); diff --git a/usr.sbin/pw/pwupd.h b/usr.sbin/pw/pwupd.h index 55d359d5cc6f..7e62d9fe402c 100644 --- a/usr.sbin/pw/pwupd.h +++ b/usr.sbin/pw/pwupd.h @@ -79,6 +79,7 @@ struct pwconf { char etcpath[MAXPATHLEN]; int fd; int rootfd; + bool altroot; bool checkduplicate; }; From nobody Wed Sep 10 20:41:40 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMXfX4m0pz66qml; Wed, 10 Sep 2025 20:41: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMXfX3zM7z43Zs; Wed, 10 Sep 2025 20:41:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757536900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SeheIVLME2xPmIF9omobf3yu8lcox+Ja02gntOT1644=; b=oiGlfsJctggMi13/AHd08xu9T/ffr4WCE1ZQXl73JQn5qrQLn1Sb6/jrMXnuiCED5SR5oi I9hYKIizIeqZashXUDAJtqe3XKwID8SN47dBYQdNzFhX3kVYKNE1BJ7AohD2m9/SLIXSd1 mmkFzdEE1SxCo2w/NCfrHVji3+euefD3BaPMVffCvry5bKGF/IpSGlsueK23gN/0VgOzvK E7RfqaPLaNhUasCri/J1LiPgEcpPaESHfoX9qA6T8TCp9Olxza0SLnHTPcc1j4H1ZY3QnX QGxggd5xcqUVY35/ydsj4SiWpYR+o3PtdzZCpPhuH+XxScQrk5hX8mJKDZvrRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757536900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SeheIVLME2xPmIF9omobf3yu8lcox+Ja02gntOT1644=; b=Ay92DcVxaoRQjvdY6bm8WC/iECffpnUul3U9XJWmkhBH9mRImbBCsaJctObt59athTc3bw QPjlta7xIIBEPWIdb532jqN7FYZx+MZDt+eHdR0Cu43LyEJC0lD6wlmgzwv86XIzLwcxgD g3jye7zeSd+fyekYYED0P3xTkggQnk9a3hwlznv840Z8NN44+Csld8gE3OdclRINf0vS9n KqXhDtat/ap03h8V+4vLCni9Nxki02C3BxamrJ3AkFU1SQOxzZNGGvcM2+GUftGA4064w5 K8um02MgoFazdrlf/Uz7cIZglrqTWf4Kc4QhfFuZ5z0yni8/ZD7FwfC6RhnrLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757536900; a=rsa-sha256; cv=none; b=NpSDSYoeaPVdG84h//5H7G87X2xAoavKvy093mI6cAIPQzWD6iBVhfq8rhHReK8cupmj2u 6etbEnrhWh45UFATuEKWs4WsaBi9TO5YWfAAnIXp49x9/ZqupynJOXlMcDc2vC/CKe8kmo yLaAipAvKXpFnVPONzXY9h7AwONxmhA/LuxKpUUFbJJ2OdSxvD7CfeRNQSJpKixi5I6Slk tuvksGt/JKMK8+/A0au7ooiO0hRJ/M/vjePMMTyhkdML1TBZu7NLTvq/uHxhe1iCewOUyF c7HSgEVdb9i6vRZWPEoxOXDOmML5BmKknU4CSpFsNFfNar55HY3dgy7W+ikT6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMXfX3WR9zdJd; Wed, 10 Sep 2025 20:41: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 58AKfelU092292; Wed, 10 Sep 2025 20:41:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58AKfeb8092289; Wed, 10 Sep 2025 20:41:40 GMT (envelope-from git) Date: Wed, 10 Sep 2025 20:41:40 GMT Message-Id: <202509102041.58AKfeb8092289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 604830cbe5a6 - stable/14 - sendmail: Remove runtime dependency on clang List-Id: Commits to the stable branches 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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 604830cbe5a66a80f2c8b5b1ba51c84d22fd7b98 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=604830cbe5a66a80f2c8b5b1ba51c84d22fd7b98 commit 604830cbe5a66a80f2c8b5b1ba51c84d22fd7b98 Author: Lexi Winter AuthorDate: 2025-08-26 05:57:37 +0000 Commit: Lexi Winter CommitDate: 2025-09-10 19:28:49 +0000 sendmail: Remove runtime dependency on clang etc/mail/Makefile includes bsd.own.mk, which includes bsd.compiler.mk, which fails with an error if it can't locate a C compiler. Set _WITHOUT_SRCCONF=yes before including bsd.own.mk to disable this behaviour. Reviewed by: gshapiro Differential Revision: https://reviews.freebsd.org/D52134 (cherry picked from commit e957c041d7058fcf070323e847db2c0c0479a111) --- etc/mail/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etc/mail/Makefile b/etc/mail/Makefile index 784023d6f9c0..9b03047102ea 100644 --- a/etc/mail/Makefile +++ b/etc/mail/Makefile @@ -241,5 +241,7 @@ restart restart-mta restart-mspq: .include "Makefile.local" .endif -# For the definition of $SHAREMODE +# For the definition of $SHAREMODE. Define _WITHOUT_SRCCONF to prevent this +# including , which requires clang. +_WITHOUT_SRCCONF=yes .include From nobody Wed Sep 10 20:41:41 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMXfY5W7fz66rbt; Wed, 10 Sep 2025 20:41: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMXfY4lQ3z43Km; Wed, 10 Sep 2025 20:41:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757536901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7iXQRYHxAUBy2Ip+DJSO6tQagBZlWEYVOPQgBdEB+js=; b=hAxmOQiaB5jRvznQ99W/D9+YX+5SRnK6e4a5PcswG2jqhkB2cJcVI31NJ9HaTFYhvIWHb0 VDvJm2n5SwOxR99wwaz96HEPF03anymuktxKKWfClvyoUNgg6OsS0sbLi02Iyvr+QUd4cc 41v22Xe0YM0cGXIEABgzEPo5T6vCXSQmvbmWxe1kMHFRMis3DzJrDdc3uYYxr3ieoxMtyS XjGrSEUsM8cC6KxJEDMDCKXJXugiamLProiAXOI9PVEEksU7O3NQeZaJGJy2/j0y59bGea cXkh7+9t0vQMHaE16GQcaKQdmIzgaR81g3WE//x46FWmjDW167rZqFdQNMbsMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757536901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7iXQRYHxAUBy2Ip+DJSO6tQagBZlWEYVOPQgBdEB+js=; b=a0M/csUtsesb9fHZrdFvJmzLpTZDwYsu0dOcfG+p4LyaR/DE1G01yOjI31YABz8nEKSa+K 4cWw/krTXKgJqfSaBj3dCyN05L3KtnXk+tegtBL9NwYE4f99g1CIvxL8mU0u75gex6OQYt VG3EzQufUuV4N9XyWTt+QWj0EpWTwFWsWLAwqk96mIKHgWJuAsoRPDnMOkzcCHsrEI4mnR sMpoDGpH4kiVcnYbuBfbnGZL4P9ix9FPTJ8R0qCVtAAl8U7EcJ9HebG7IPSzinsxyBHgtW +qm0GbQTGbwf837vxo03cAsYeGaWZsrZFqMXDgI2btoPWlTM1IH7NgC5ODAn0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757536901; a=rsa-sha256; cv=none; b=Km81XjhFQJjIbpXpdwkpcoqoicHr+htfjqFxuyxpZx3GuzLWNXCSzM1iMFR2/pGBkyatwi nKagLHV+3YqmhrG/awwY1uicyjb68Brrss7Tdgdj3tcw1DWDEWrA3A1N5dSWqbffyMHI/C m6ypnn2tW8JFvigdtW9paNITmPuCJNbNryMW7rvSkSc1AvQy7dMtCjDkdG3dWPqPphlxM0 Z6VZxtMOGp9gyU1kJXsFu00Q2tx76fYIvVUk0g7p0eFv6c56Fe/rFuPjVDycCQgVhirLSo Q2RN62QyVHrCI/t4R4Q53tU4J/XsL2RcA+c6zW77pVhiFSQCdi5y5WVhlcYOUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMXfY49vczclD; Wed, 10 Sep 2025 20:41:41 +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 58AKffNu092326; Wed, 10 Sep 2025 20:41:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58AKffAm092323; Wed, 10 Sep 2025 20:41:41 GMT (envelope-from git) Date: Wed, 10 Sep 2025 20:41:41 GMT Message-Id: <202509102041.58AKffAm092323@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: f103de98b855 - stable/14 - sh, csh: Add config tag to /.profile and /.cshrc List-Id: Commits to the stable branches 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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f103de98b855e69f1c0e1e90f7a174ae06acf892 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=f103de98b855e69f1c0e1e90f7a174ae06acf892 commit f103de98b855e69f1c0e1e90f7a174ae06acf892 Author: Lexi Winter AuthorDate: 2025-09-02 08:22:56 +0000 Commit: Lexi Winter CommitDate: 2025-09-10 20:41:08 +0000 sh, csh: Add config tag to /.profile and /.cshrc The file /.profile is installed as a hard link to /root/.profile. The file in /root has the config tag, but the file in / does not, which causes it to be overwritten by pkg upgrade. Since they're linked, this also overwrites the file in /root. Add the config tag to the file in / as well, so pkg treates both links as config files and won't overwrite them. For stable/14, also add this to /.cshrc, which is no longer installed in 15.0. PR: 289097 MFC after: 3 days Reviewed by: bapt, emaste Differential Revision: https://reviews.freebsd.org/D52162 (cherry picked from commit aa730a66bc74696df85b21ec2719c75d8eab8c9f) sh: Fix non-NO_ROOT installconfig When building without NO_ROOT, ${TAG_ARGS} is not set, which means we pass ",config" as an install(1) argument. Only add the config tag if ${TAG_ARGS} is defined to begin with. Fixes: aa730a66bc74 ("sh: Add config tag to /.profile") Reported by: bz (cherry picked from commit b197d2abcb6895d78bc9df8404e374397aa44748) --- bin/csh/Makefile | 4 ++-- bin/sh/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/csh/Makefile b/bin/csh/Makefile index 7e20c187dee2..712341ba2c26 100644 --- a/bin/csh/Makefile +++ b/bin/csh/Makefile @@ -172,7 +172,7 @@ beforeinstallconfig: afterinstallconfig: # XXX Set link mode explicitly via -m. We cannot use LINKMODE for this # link, as it would also apply to the tcsh link above. - ${INSTALL_LINK} ${TAG_ARGS} -m ${CONFMODE} ${DESTDIR}/root/.cshrc \ - ${DESTDIR}/.cshrc + ${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},config} -m ${CONFMODE} \ + ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc .include diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 48b6d2852444..7197b248189c 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -76,6 +76,6 @@ beforeinstallconfig: LINKMODE=${CONFMODE} afterinstallconfig: - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}/root/.profile ${DESTDIR}/.profile + ${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},config} ${DESTDIR}/root/.profile ${DESTDIR}/.profile .include From nobody Thu Sep 11 02:08:33 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMgvj2F0Wz67S0F; Thu, 11 Sep 2025 02:08: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMgvj1Yxzz3fcx; Thu, 11 Sep 2025 02:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757556513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=otZeTXF3KgsDSq/HrHLEBqPHl1saxbvmA50x6eK7108=; b=x9igSX3obIpPw4ETdMpV3BBweAoYuuPk+GW6C+t/JWzyKTjdQSBWb6wdt8dcnz9mY5Oyvd 2nfm5re4VE4hUYonZ4wGK4/OtO0efnlu4a3UnwexQIa70u4snjVICrtVjFGNAiF4BAk7AF lsmA8ergmULkFATPYE2t3pWDfoTNpUZcOLKCOtiVN5PkodZ1yeiHDHGfoEnpx6vKIijj1e xJxTuIrsBICHqWaeOxCs0K9GI6nXEDtrz9AKYoyFYLqv9aCfHZZ6eEC1n0TuSrI2WV5L59 mdGZ9rB38/j0SsztCErO0YEFZRVY8MLE9CRRq3NxSmOCzelfCVtv//KjgsBEHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757556513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=otZeTXF3KgsDSq/HrHLEBqPHl1saxbvmA50x6eK7108=; b=CuP6NiGMYAZamV1AamdwFO15eg0qcrfEx0FRWL7UIHgWhGsosbehGepvPrKtrEIFpWp19q sNHw5TrqwrUPnM4qBhAMbliHMol3uEnJhkLgXxcvDOIcewcDiIa1m+aoVLWidfn0pg/rwh G7UKTWjUfss1bxBU78GxxU2qn4LiP7m+TKX2YGI3QaEKKkzoz5zFTKD8I9MKSR/osF7UBY n2vFqfBsuMrX3/RAQ4CSvpuoh2JP++0IQBmdQIesKkOmLNaU4TQ3ZQvp9hG2iBxMgd5M9U RSBlpTja5R3rPS0IkpLxHR9zA7dzQC2RfiXLFjb4m64YoorzHNdg6RNlQexfaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757556513; a=rsa-sha256; cv=none; b=XjCBsWOmcnSdoogQhopZrQ2VDqir5LkNvtx/nLHyizMlyHIDV384mZ/CkaeAVGZKnjSGIy n+aFUxMK2JQCbGTDLO6nzRo97BIl98tfW/I8hZYPiFDrYwyO0lYMMCK/iDufwxO8cEGDUR INRdSgpAoV+Vzf6tdOpn4rR0VoDMolHjbuM8yuKYoVdklwf9JQ6nquUQJZm7FoQWcMmrgt WaqAVd4IJlWfgd2NO9r1ZZjfrCbJbWtvRK0pRzKXj8OP83DRSfzEl46BB/NiY9JAQu2t4A OHbeww8d8cT/KDJOUuzk3uwOwaPGFRKIuPYtW1nLWrjaySuKIJDNQ5atOAkajQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMgvj15GyznlB; Thu, 11 Sep 2025 02:08: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 58B28XbQ097519; Thu, 11 Sep 2025 02:08:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B28X8P097516; Thu, 11 Sep 2025 02:08:33 GMT (envelope-from git) Date: Thu, 11 Sep 2025 02:08:33 GMT Message-Id: <202509110208.58B28X8P097516@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: f834384fdad9 - stable/15 - stand: Remove Spleen 32x64 fonts from INDEX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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/15 X-Git-Reftype: branch X-Git-Commit: f834384fdad98c60b47ac182f2e8863c4384bc58 Auto-Submitted: auto-generated The branch stable/15 has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=f834384fdad98c60b47ac182f2e8863c4384bc58 commit f834384fdad98c60b47ac182f2e8863c4384bc58 Author: Joseph Mingrone AuthorDate: 2025-09-05 19:50:39 +0000 Commit: Joseph Mingrone CommitDate: 2025-09-11 02:05:50 +0000 stand: Remove Spleen 32x64 fonts from INDEX The Spleen 32x64 fonts cause some systems such as the AMD Framework 16 to boot extremely slowly. Adding screen.font="16x32" to /boot/loader.conf is a partial workaround, but text displayed before the boot menu still takes ~30 seconds to render on that laptop. With this change, the same text renders immediately. By leaving the font files in place but removing them from the INDEX, users who want to use them can still load them manually. Once pending work is committed to allow normal booting with these fonts, they can be added back to the INDEX. PR: 289007 Reviewed by: emaste, kevans, tsoome, ziaee Fixes: 1ec2c8b2f364 (stand: Enable Spleen 32x64 font in the bootloader) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52402 (cherry picked from commit 5e82eeccd252e96370e8b73603b609622497000c) --- stand/fonts/INDEX.fonts | 3 --- 1 file changed, 3 deletions(-) diff --git a/stand/fonts/INDEX.fonts b/stand/fonts/INDEX.fonts index 66a6d8a9a3f5..fc035c6b2e4e 100644 --- a/stand/fonts/INDEX.fonts +++ b/stand/fonts/INDEX.fonts @@ -60,9 +60,6 @@ FONT:en:8x16v.fnt 16x32.fnt:en:Terminus BSD Console, size 32 16x32.fnt:da:Terminus BSD-konsol, størrelse 32 16x32.fnt:de:Terminus BSD Console, Größe 32 -32x64.fnt:en:Spleen BSD Console, size 64 -32x64.fnt:da:Spleen BSD-konsol, størrelse 64 -32x64.fnt:de:Spleen BSD Console, Größe 64 # (fset 'langnew # "\M-}\C-p\C-k\C-y\C-m\C-y\M-}") From nobody Thu Sep 11 04:02:32 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMkRD4nmkz67Ykh; Thu, 11 Sep 2025 04:02: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMkRD45ngz3rWN; Thu, 11 Sep 2025 04:02:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757563352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDsE9ZavoHmNeM1PSy8AOR9NE16rRTzAJRysaJBa4K8=; b=Ro9C95LKyFlBSPWcn9w7HOxUmj/bbdG+XukVWDXzPODUghTnozlFI6D6XYqy3dRSd3d2BO oQMdJ+dc+3NIsMGh530kdVxvBXlGPm6pHFUFGeOGJP6L8Ho/K6/pb/TldnMvheHs48QRyq osFC3KdCKyXh6TVyh611ykPixEV1TG6d4xRHGDIC+7J6EJ52eh+lbKuVXfJ23+8jxuLIIG ft+whIBK/n9jgg1DR3etaF6OmxQYViFTL4gO6UZQWfThltGGNrcoOzoISXdKsFdlo/pwFY rEUHP9tSljU2jXDEsBnPEyUzr7swNsQteXfMw0cI1O6vzpS6L6LAn/WKQad1/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757563352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDsE9ZavoHmNeM1PSy8AOR9NE16rRTzAJRysaJBa4K8=; b=QzW0cK8Y9WEkxS9TRLgKJZczPi6aKYpo4eLZX5zts4DColSxQxlI88POqIRYyveUpzS5+p 9fEqjoHNOKk7fZ/9Jqwihh4Ia+bh7RTPyAtokmOZdwYqUMsYwgkNqeyVlFVT4XvNaKZjRz lUeMPsC8EruuNrMp2zHlRdvomvkkvdCB8MkdQr/2r9GnaxPsKyJDHHoNFtmUwAZD7bsGiw 1vnVZcuyhslZa6ygziohPVk7Er2IwiLQp31N2bBqeBHnscid28WL0GMd6BnZI5yQLenmYb FAB87U42pkXjROx07FhnebgkMxrjwhmti//8jxv5nzk1i8HE/Y/OGDhJZhQs1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757563352; a=rsa-sha256; cv=none; b=VueFYwLyAck83gns91PZUuha3jVWETTyRSrh1z3feGNLygvcl9W+ON79NAQW/uUM7fUKz2 geUzfdc+gdFxQPDbxNBkrUqXg8CS+zVOw/uoHYTxaTZqr5rr5Ia+0aB+qXMNVfiLu9+gXk imZaI5c+AgtBueDLNbpKEiP6LUrRfF/5JjJuXqcjwZ12gdipOpcLH3SyZBD/9Z7wUcEY9X wDzlcxJB5XgQiG9NZEFMQbWQIReMRq8T2wxNtcJnHU4DE5uM5NidlA7m+nH2HBokH4ACCb ilVWNbDZMM+Mcthxh67vKooX5f9Jp+Casy49H239UZGogNo543cjCTrLhBiWBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMkRD3PcwzrkX; Thu, 11 Sep 2025 04:02: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 58B42Wii023730; Thu, 11 Sep 2025 04:02:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B42WK5023727; Thu, 11 Sep 2025 04:02:32 GMT (envelope-from git) Date: Thu, 11 Sep 2025 04:02:32 GMT Message-Id: <202509110402.58B42WK5023727@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: ab7858d90eba - stable/15 - ngctl: Fix build without JAIL List-Id: Commits to the stable branches 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/15 X-Git-Reftype: branch X-Git-Commit: ab7858d90eba6d8b5829ad974da91ee30dcf92f4 Auto-Submitted: auto-generated The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ab7858d90eba6d8b5829ad974da91ee30dcf92f4 commit ab7858d90eba6d8b5829ad974da91ee30dcf92f4 Author: Zhenlei Huang AuthorDate: 2025-09-10 04:00:05 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-11 04:01:37 +0000 ngctl: Fix build without JAIL Reported by: Michael Dexter Fixes: 72d01e62b082 netgraph: teach ngctl to attach and run itself in a jail MFC after: 1 day (cherry picked from commit 685e60e860d61f6e1bcf981f5c30647e0c025702) --- usr.sbin/ngctl/main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/ngctl/main.c b/usr.sbin/ngctl/main.c index b32e4f878b6e..b86f1ca27e71 100644 --- a/usr.sbin/ngctl/main.c +++ b/usr.sbin/ngctl/main.c @@ -144,7 +144,9 @@ main(int ac, char *av[]) char name[NG_NODESIZ]; int interactive = isatty(0) && isatty(1); FILE *fp = NULL; +#ifdef JAIL const char *jail_name = NULL; +#endif int ch, rtn = 0; /* Set default node name */ @@ -181,6 +183,7 @@ main(int ac, char *av[]) ac -= optind; av += optind; +#ifdef JAIL if (jail_name != NULL) { int jid; @@ -196,6 +199,7 @@ main(int ac, char *av[]) errx((errno == EPERM) ? EX_NOPERM : EX_OSERR, "cannot attach to jail"); } +#endif /* Create a new socket node */ if (NgMkSockNode(name, &csock, &dsock) < 0) From nobody Thu Sep 11 05:39:47 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMmbR6zPbz67fCN; Thu, 11 Sep 2025 05:39: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMmbR6Hsrz3xpp; Thu, 11 Sep 2025 05:39:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWrz4KBrMkydd/Q8wuJ3D9sDztz23hG7rDTiLu3gHHE=; b=QjN/jsgfp05OTect2LVWVjPRf0Dcuq/Cm2DG+52lSQcYESitKpFI9NsFaSVBJELR+osXZY E4baWRPfyJ7ep9yljKSlU1MlnjWjRAootUcDqmYWh0HgqWPHs3T+133cKfTHAywc7nqS8m KCGkjhLlVy+oL/nrmBapATXw52f5w1KmjBCX2GY6nmYWvPnwGfZdaATNiiV1gzdffgfJcc FUvqb8Yv7njOXocDhd7+Rt43rXtx0nHFcnROdFn7bMyNEbPVK1oBgrQa1Y/gDjqFkw1Z7q qHvcNLyyCp7IWSdl9yvFwldNphYgDqhOWWLLoO/LkwF0CrtyXrqe/D5Dtjf+ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWrz4KBrMkydd/Q8wuJ3D9sDztz23hG7rDTiLu3gHHE=; b=Isx1RaxCl0EvdUibyJc8ec24p7fDcp2EsxujrAJm0PgwWOeS6L2IUbUfa/eza4exxLxc85 nZi0TSO0VJ7dBjp609am4fITLMWDAB7UsoW05HBEi2nnS4HN+cGyh131BKcGJn85Q4WrG2 OwZg5XBbKXYRuOWdHo8qNJ6ct691H6C9sbBTAwpmer9yc5xU+bPVWYclXiIFk/CH7I7Z4b kqNDfZu2bfpvS0SSomtIKnKS8E1+B/L0mbX/2e6UBuDyYcUdkAuEHhZWrWe57r3bVnw37t IjRqD32qwWSNO+Jlfs8E0PljZ2JUF5gGV0bZy/fgRRuPcjjkQ3MXAA+yg0xJsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757569187; a=rsa-sha256; cv=none; b=TKSSvFssXAucM9Ka9I6xbbsO2uCqQwV3fFZFsRFMVhNmPLWiirlLMjZizPzvLFwanp1ZJ5 h/7qraHNOGP/pDBBHlH+KL8GgjkOUyl23vs3M9wr2VkQrIw4bF899k+/R6h4ZElaPNL7K9 PB3zUIURQo57DT6KKQmxsrBTTyfNHLibTy/FGtPVPrkAYu8KRh+1IBXtsiaiOREUtVURJr SbDgo8XQJ5rj7rjIn1kzNKJH1FW0ITTFOLkt+uL1UCH4DcCJ/wTd5CwTH/DT1chlz4a+3I vZxN2JD7yAVmdycUCCnLaS7hUpFZGxcQZ3xQXRwmhk5GZ+L1lPF0Fjm98m5yYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMmbR5t8DzvQS; Thu, 11 Sep 2025 05:39:47 +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 58B5dlZn093827; Thu, 11 Sep 2025 05:39:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B5dl9h093824; Thu, 11 Sep 2025 05:39:47 GMT (envelope-from git) Date: Thu, 11 Sep 2025 05:39:47 GMT Message-Id: <202509110539.58B5dl9h093824@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 3fd185fffa0d - stable/14 - leap-seconds: Update to leap-seconds.3960835200 from IERS List-Id: Commits to the stable branches 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3fd185fffa0dfcccd4cd3b898da038f67035ec3c Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=3fd185fffa0dfcccd4cd3b898da038f67035ec3c commit 3fd185fffa0dfcccd4cd3b898da038f67035ec3c Author: Yasuhiro Kimura AuthorDate: 2025-09-07 11:38:46 +0000 Commit: Cy Schubert CommitDate: 2025-09-11 05:39:28 +0000 leap-seconds: Update to leap-seconds.3960835200 from IERS Current leap-seconds file has already expired on 28 June 2025 PR: 289352 Obtained from: https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.3960835200 (cherry picked from commit 4729d5e2e2e3013fe1aaf92d5d932a3414f22ab3) --- usr.sbin/ntp/ntpd/leap-seconds | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ntp/ntpd/leap-seconds b/usr.sbin/ntp/ntpd/leap-seconds index da0efc8c8566..649a22c6278f 100644 --- a/usr.sbin/ntp/ntpd/leap-seconds +++ b/usr.sbin/ntp/ntpd/leap-seconds @@ -60,15 +60,15 @@ # # The following line shows the last update of this file in NTP timestamp: # -#$ 3929093563 +#$ 3960835200 # # 2) Expiration date of the file given on a semi-annual basis: last June or last December # -# File expires on 28 June 2025 +# File expires on 28 June 2026 # # Expire date in NTP timestamp: # -#@ 3960057600 +#@ 3991593600 # # # LIST OF LEAP SECONDS @@ -117,4 +117,4 @@ # please see the readme file in the 'source' directory : # https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README # -#h be738595 57b0cf1b b0218343 fb77062f 5a775e7 +#h 49db2447 571e5e1b 2f002a53 9c8da8e4 39b8e49e From nobody Thu Sep 11 05:40:01 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMmbk0vG1z67f8q; Thu, 11 Sep 2025 05:40: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMmbk016fz3yth; Thu, 11 Sep 2025 05:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfFhh+qMmZRVKy924b1CrJYNAzSkYv1QM2ErzXxaomE=; b=CubdjBXRdZ8PX0ioTHt1D0/paEm1lJFMznIZrlQnPTfpXDybROMQUEr/WnQiaj9XcqWnRI irLhP8Jz0yWlr1ERWinJjyX28yYYHIFzLWi+ORAg87DEdEbwvW5WGUpWkl6wihNBXxVNZv iqe9wC/rucIH70GnHrSI1xokPV6f2lNwWU5POBLF+w5gnofHp5QRv5dbqdnZ10OhYqOzda y3EjhzNXkf23K6jK2ybMM8naw3hf2Hm3cUhu6U1L3R6eeOksUORhy8H35AnGVQZwOKo79K NurYjpwtdXtJ/4j1U26R5r05rQghqEkinhd+kUJz9BHig9fFBAgTR5fdwHMtZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfFhh+qMmZRVKy924b1CrJYNAzSkYv1QM2ErzXxaomE=; b=gXbrH/dI4mSqo5mDf1f+V8iUz/uU3EtgvC+p5nDu2nnojqsgdjkr9lMxTD4qJZn37NJb4m Je8VTUrMwnNR2bS3M+2tLrJN37m2k3ETyfktjWuX9vk5T+7FvxtrMtPH8x2qOpBTGIiYoh PhOk1pY2+fRMnqKxYIa6cDiTuBevXO0NXxSGbkifa1ZFzb8dlTBJygVMN3Jv6xzg1TkqMJ ZHULx4XwCTkwPNhyCT1iAW84wefPpRHIPY+JfJgeltqvdtJ7fABWNkiGC3lnG2iNiHyzWb Yz1r1R2vcsHRr0dsNAwJEudpwXzQBcKf+LGQ4tpswGKAHRu+EazFzRLf/bV14Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757569202; a=rsa-sha256; cv=none; b=inSW38jq7t2Osq7bHIZ7mitUG+93ANy7WNUslnWeNB1RnJJlm3AtGKWXmur+zdC/HkrKeB aMtFFA0WDnNJzwj0b7O8d3d1pwVcY8x5p6Neu1pTsK6N6FKA4waitgAy67xpodchLUxuEf deHpTboHnw5+URWVDv5DwHEqXvsDoegR9AkCyuTcbBAiRhJEN/kVebMb53OA6kaPfJuLc8 9zZ95DdVL8Rpg+4iwFQbXYe58/fxgofWSCuLIAZ1AX2FXt9t6XUF8gMvbTpJyDasmwZoE+ y+Ehp0kCAGTJzIQURLALs+gCtnfb2+3IkGH4I34kd89ZQ991Dk+FSf3BHxs4XQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMmbj6Rz8zvFD; Thu, 11 Sep 2025 05:40: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 58B5e1SY095983; Thu, 11 Sep 2025 05:40:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B5e17H095978; Thu, 11 Sep 2025 05:40:01 GMT (envelope-from git) Date: Thu, 11 Sep 2025 05:40:01 GMT Message-Id: <202509110540.58B5e17H095978@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 00038a02040b - stable/13 - leap-seconds: Update to leap-seconds.3960835200 from IERS List-Id: Commits to the stable branches 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 00038a02040b308aea9674963e086d5408f7ebcf Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=00038a02040b308aea9674963e086d5408f7ebcf commit 00038a02040b308aea9674963e086d5408f7ebcf Author: Yasuhiro Kimura AuthorDate: 2025-09-07 11:38:46 +0000 Commit: Cy Schubert CommitDate: 2025-09-11 05:39:55 +0000 leap-seconds: Update to leap-seconds.3960835200 from IERS Current leap-seconds file has already expired on 28 June 2025 PR: 289352 Obtained from: https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.3960835200 MFC after: 3 days (cherry picked from commit 4729d5e2e2e3013fe1aaf92d5d932a3414f22ab3) --- usr.sbin/ntp/ntpd/leap-seconds | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ntp/ntpd/leap-seconds b/usr.sbin/ntp/ntpd/leap-seconds index da0efc8c8566..649a22c6278f 100644 --- a/usr.sbin/ntp/ntpd/leap-seconds +++ b/usr.sbin/ntp/ntpd/leap-seconds @@ -60,15 +60,15 @@ # # The following line shows the last update of this file in NTP timestamp: # -#$ 3929093563 +#$ 3960835200 # # 2) Expiration date of the file given on a semi-annual basis: last June or last December # -# File expires on 28 June 2025 +# File expires on 28 June 2026 # # Expire date in NTP timestamp: # -#@ 3960057600 +#@ 3991593600 # # # LIST OF LEAP SECONDS @@ -117,4 +117,4 @@ # please see the readme file in the 'source' directory : # https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README # -#h be738595 57b0cf1b b0218343 fb77062f 5a775e7 +#h 49db2447 571e5e1b 2f002a53 9c8da8e4 39b8e49e From nobody Thu Sep 11 05:43:17 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMmgT5C1wz67fR4; Thu, 11 Sep 2025 05:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMmgT4JkLz40vX; Thu, 11 Sep 2025 05:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwdmffqupVjkr3jwxmnkvq79rf36Hx+zONw5dXYo+Vk=; b=aSfH/lzz1SNQXVhvoiN6GLkCvCvCe6WLMiBvb9iKNwmh83h9v7/GNqZPT+AIHfU2+QFqfL u7r1QEKxwd6s0+DnRYov9i8cEFEvdIzHg55W13qSV9nW4VmTByfdWXYWpWUtPXKG6hvzFV ShBwN3ds9SY7yoljKCKBxQmezhgP5QvPImzRJ0Q+4BK3z4umDHtCeS765iegPX7exvRGx3 /IgiWIq1QFo7rc78ZC3el+33PNeF/snGlsHPhzgyRfJS47MJNzxRML1Fd7SWT61Wennje+ n5iA68UgRY1e1UE9Xrw7xRBPoEsfhuMP17AemSQBULpDdV6glFrk3MeA450VUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757569397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwdmffqupVjkr3jwxmnkvq79rf36Hx+zONw5dXYo+Vk=; b=PPImQyGk8gICOHzYmndmEWhdmH4WR5IQx5WEDYCLU+6T+3lupQYuGKtMiLlLYxSdVprmBv hZd1N6iAPdRKRGKzSsj9AuKyHXf03kf/MScfyzB8NnquOZ4yz+2ksVlW/OUM34mkjBkmYe oJr/IHUnpAHUwwdKqY1vDdu3hgDytrjSNL5zSVF6TgfFsEAGBUNMGyF43XCWfMf2uIPScO hOuxoJE6sho0EMHOQmuGSzxgE+nYDKN/bh61r8WOe3/ySdzUX2B9+82Yh9ZS5EDojS0Alc VTpszmbFadxKsWFKR7kp1+Emj+u35oy8qihjkDYQTDXkAEFgOSYORTR5+7sWow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757569397; a=rsa-sha256; cv=none; b=ATMTWFpJjwo/IdZBf1CGzmP0njGnjGOIL/XbdvSabiuDBf+gxIim0Bjk6VCCwVLfcrd7cH 0W8A2kFSO3R9kLLghtjo+tgKY08BIYpKlnN5UOAscUpPQTYyDnvZt6ZJI3mHdwB+zpdLGa 7FO8NVPVh0FvsbYKQpUQllTT9mn6vjvXGU7i7Im9bpIRWZ3Q2JJg5gm5CkDjZHj5wuxtzO SLVT2E7euy4NMdlIvC+Ou3cU/obz/kOm97n+12ivbGB8TM7fuVEl2RGy/kvK+Y8ExU42Nc pQY6zhAHoLt1w9K5OBeMuPt5ujHd1GMQPjuBKci2z61vkNYRwOa18F3+kKjthA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMmgT3vRQzvBy; Thu, 11 Sep 2025 05:43:17 +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 58B5hH9C011700; Thu, 11 Sep 2025 05:43:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B5hHAH011697; Thu, 11 Sep 2025 05:43:17 GMT (envelope-from git) Date: Thu, 11 Sep 2025 05:43:17 GMT Message-Id: <202509110543.58B5hHAH011697@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 122c416148b4 - stable/15 - leap-seconds: Update to leap-seconds.3960835200 from IERS List-Id: Commits to the stable branches 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 122c416148b4012ca20635476b781b343908254f Auto-Submitted: auto-generated The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=122c416148b4012ca20635476b781b343908254f commit 122c416148b4012ca20635476b781b343908254f Author: Yasuhiro Kimura AuthorDate: 2025-09-07 11:38:46 +0000 Commit: Cy Schubert CommitDate: 2025-09-11 05:40:11 +0000 leap-seconds: Update to leap-seconds.3960835200 from IERS Current leap-seconds file has already expired on 28 June 2025 PR: 289352 Obtained from: https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.3960835200 (cherry picked from commit 4729d5e2e2e3013fe1aaf92d5d932a3414f22ab3) --- usr.sbin/ntp/ntpd/leap-seconds | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ntp/ntpd/leap-seconds b/usr.sbin/ntp/ntpd/leap-seconds index da0efc8c8566..649a22c6278f 100644 --- a/usr.sbin/ntp/ntpd/leap-seconds +++ b/usr.sbin/ntp/ntpd/leap-seconds @@ -60,15 +60,15 @@ # # The following line shows the last update of this file in NTP timestamp: # -#$ 3929093563 +#$ 3960835200 # # 2) Expiration date of the file given on a semi-annual basis: last June or last December # -# File expires on 28 June 2025 +# File expires on 28 June 2026 # # Expire date in NTP timestamp: # -#@ 3960057600 +#@ 3991593600 # # # LIST OF LEAP SECONDS @@ -117,4 +117,4 @@ # please see the readme file in the 'source' directory : # https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README # -#h be738595 57b0cf1b b0218343 fb77062f 5a775e7 +#h 49db2447 571e5e1b 2f002a53 9c8da8e4 39b8e49e From nobody Thu Sep 11 06:19:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMnTp5kKJz67ghM; Thu, 11 Sep 2025 06:19:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMnTp5KLHz42gq; Thu, 11 Sep 2025 06:19:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757571598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1aG+U4+LXLiFmD87/9zRXtLva7dM5GHho5tXqorth0E=; b=auQ/uR9rP8lEFvROYDE6gZLHTeBAKzbCETn7V05uzy7QSiTFUbrDy3nM1tgX1ein7KP0Sg zbjpbdgbxfqEIx7tjJ/WIopy6cY3N1Pk+aHiSO/19GAbu9ZYOYrAN3k1Z6Hxx4VW06gpMN KADv7Rpk4Z7sEiX0G3kR+oRTsruTsRCWEJ4JOwJUYkO6kipwVcGVPQY7Jum+4ex17dxU7w d1cVnUCEwSGiEi5KZ/e+YmLF8nFOJu1lWj/OljUcs2yoiawTgwZrWUeU+QwCoKbgQ8kQkt r7zcM3y0VV/HkJyvaDm+QKdXUitpJZnF43wgFv46H7DeiG1NEUI4t7ImkoSodA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757571598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1aG+U4+LXLiFmD87/9zRXtLva7dM5GHho5tXqorth0E=; b=n+SBBkeswksy1cow4QK3qDYhhmDGfV61HZhI2e25U3Fzz8ENsKK0cky4v1lyHsIoCPelN9 9Fv3Ojs0r/yq0JtigNtirAGxVsRu715LTvbSsZWgc1Rzk+YvT6dj5/Ato8sBcFLf4BwCL1 uUALe8pBfuMGg0iy3vaEWzHh0Ewkzh2qMcUGiA1CtSUaK76QcMP9Z6SnhIN52lrBWTDvoW Orl5Zxxb+Im957eIsq3c0ZZFSM8YN5ENkvTn1eRoLp09J728+j4l8mQC77dqIO8ErmS6wC GpWlenWSw5bqLP9W8oVecbtAUBPQU5Fd/WlKMm1gvA5TUXYyR9wV2azr5lgO+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757571598; a=rsa-sha256; cv=none; b=AAkFojxvDRkSWA/VEeYYaxfRo43q/d35/dIBHqz+rovu90F6aIMkLIfLBapnEXA9rdd15F mhglHuS4va3Yd2AcDUCfwqSoda9xBXptjLMpEkjyUlEcIky2geDKH9l9aLQWXUHfU4Juja J/iyHBFhh49i8cf5HeiTGnA35Gp4e8IBCAz0T5LxuYvIWpRB7chrEnlmZWGDytviE8B08V SHbhqHeoHsoXpj739vpx0/ClcVri/qebIxJhe67EQJ7gpfB1L4GP98ZH2rChdRXAb+faT/ MoCi8wuy0vLZBImmMsE6aqTE4LsATw3VRAXvU6upaH37/174wLpSYFj4Q1wjEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMnTp4Tk2zwVt; Thu, 11 Sep 2025 06:19:58 +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 58B6JwQN069772; Thu, 11 Sep 2025 06:19:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B6Jwg5069769; Thu, 11 Sep 2025 06:19:58 GMT (envelope-from git) Date: Thu, 11 Sep 2025 06:19:58 GMT Message-Id: <202509110619.58B6Jwg5069769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 5a8f33f52ae3 - stable/15 - vtnet: improve checksum offloading List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5a8f33f52ae38bbf12f8f45b8e0f75166805c386 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5a8f33f52ae38bbf12f8f45b8e0f75166805c386 commit 5a8f33f52ae38bbf12f8f45b8e0f75166805c386 Author: Timo Völker AuthorDate: 2025-09-08 20:38:49 +0000 Commit: Michael Tuexen CommitDate: 2025-09-11 06:17:12 +0000 vtnet: improve checksum offloading When transmitting a packet over the vtnet interface, map the csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio flag VIRTIO_NET_HDR_F_DATA_VALID. When receiving a packet over the virtio network channel, translate the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID | CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or CSUM_UDP_IPV6. The second change fixes a series of issue related to checksum offloading for if_vtnet. While there, improve the stats counters to allow a detailed view on what is going on in relation to checksum offloading. PR: 165059 Reviewed by: tuexen, manpages Differential Revision: https://reviews.freebsd.org/D51686 (cherry picked from commit 3008f30d2c2cabdd7e17f7fb922139da8681ffbd) --- share/man/man4/vtnet.4 | 28 +++-- sys/dev/virtio/network/if_vtnet.c | 220 ++++++++++++++++++----------------- sys/dev/virtio/network/if_vtnetvar.h | 2 +- 3 files changed, 132 insertions(+), 118 deletions(-) diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 index 073383df11ff..1df79da5f42e 100644 --- a/share/man/man4/vtnet.4 +++ b/share/man/man4/vtnet.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 3, 2025 +.Dd September 8, 2025 .Dt VTNET 4 .Os .Sh NAME @@ -153,7 +153,14 @@ The number of times the receive interrupt handler was rescheduled. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro The number of times TCP large receive offload was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed -Currently not used. +The number of times a packet with a request for receive or transmit checksum +offloading was received and this request failed. +The different reasons for the failure are counted by +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype , +and +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset . .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum The number of times receive checksum offloading for UDP or TCP was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors @@ -213,18 +220,21 @@ over all receive queues of the interface. The sum of .Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed over all receive queues of the interface. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto -Currently unused. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was not accessible. .It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype The number of times fixing the checksum required by .Va hw.vtnet.fixup_needs_csum or .Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum -was attempted for a packet with an EtherType other than IPv4 or IPv6. +was attempted for a packet where the csum is not located in the first mbuf. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was neither TCP nor UDP. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype +The number of times a packet with a request for receive or transmit checksum +offloading was received where the EtherType was neither IPv4 nor IPv6. .It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed The number of times receiving a mergable buffer failed. .It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index afda5157a624..73f27ac147ff 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -134,9 +134,9 @@ static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); -static int vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); + bool, int, struct virtio_net_hdr *); +static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, + int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); @@ -1762,162 +1762,161 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) } static int -vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, uint16_t etype, - int hoff, struct virtio_net_hdr *hdr) +vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, + int protocol, struct virtio_net_hdr *hdr) { struct vtnet_softc *sc; - int error; - sc = rxq->vtnrx_sc; + /* + * The packet is likely from another VM on the same host or from the + * host that itself performed checksum offloading so Tx/Rx is basically + * a memcpy and the checksum has little value so far. + */ + + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); /* - * NEEDS_CSUM corresponds to Linux's CHECKSUM_PARTIAL, but FreeBSD does - * not have an analogous CSUM flag. The checksum has been validated, - * but is incomplete (TCP/UDP pseudo header). - * - * The packet is likely from another VM on the same host that itself - * performed checksum offloading so Tx/Rx is basically a memcpy and - * the checksum has little value. - * - * Default to receiving the packet as-is for performance reasons, but - * this can cause issues if the packet is to be forwarded because it - * does not contain a valid checksum. This patch may be helpful: - * https://reviews.freebsd.org/D6611. In the meantime, have the driver - * compute the checksum if requested. - * - * BMV: Need to add an CSUM_PARTIAL flag? + * If the user don't want us to fix it up here by computing the + * checksum, just forward the order to compute the checksum by setting + * the corresponding mbuf flag (e.g., CSUM_TCP). */ + sc = rxq->vtnrx_sc; if ((sc->vtnet_flags & VTNET_FLAG_FIXUP_NEEDS_CSUM) == 0) { - error = vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr); - return (error); + switch (protocol) { + case IPPROTO_TCP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_TCP_IPV6 : CSUM_TCP); + break; + case IPPROTO_UDP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_UDP_IPV6 : CSUM_UDP); + break; + } + m->m_pkthdr.csum_data = hdr->csum_offset; + return (0); } /* * Compute the checksum in the driver so the packet will contain a * valid checksum. The checksum is at csum_offset from csum_start. */ - switch (etype) { -#if defined(INET) || defined(INET6) - case ETHERTYPE_IP: - case ETHERTYPE_IPV6: { - int csum_off, csum_end; - uint16_t csum; + int csum_off, csum_end; + uint16_t csum; - csum_off = hdr->csum_start + hdr->csum_offset; - csum_end = csum_off + sizeof(uint16_t); + csum_off = hdr->csum_start + hdr->csum_offset; + csum_end = csum_off + sizeof(uint16_t); - /* Assume checksum will be in the first mbuf. */ - if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) - return (1); - - /* - * Like in_delayed_cksum()/in6_delayed_cksum(), compute the - * checksum and write it at the specified offset. We could - * try to verify the packet: csum_start should probably - * correspond to the start of the TCP/UDP header. - * - * BMV: Need to properly handle UDP with zero checksum. Is - * the IPv4 header checksum implicitly validated? - */ - csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); - *(uint16_t *)(mtodo(m, csum_off)) = csum; - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; - break; - } -#endif - default: - sc->vtnet_stats.rx_csum_bad_ethtype++; + /* Assume checksum will be in the first mbuf. */ + if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) { + sc->vtnet_stats.rx_csum_bad_offset++; return (1); } + /* + * Like in_delayed_cksum()/in6_delayed_cksum(), compute the + * checksum and write it at the specified offset. We could + * try to verify the packet: csum_start should probably + * correspond to the start of the TCP/UDP header. + * + * BMV: Need to properly handle UDP with zero checksum. Is + * the IPv4 header checksum implicitly validated? + */ + csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); + *(uint16_t *)(mtodo(m, csum_off)) = csum; + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; + return (0); } +static void +vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, int protocol) +{ + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); + + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; +} + static int -vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, - uint16_t etype, int hoff, struct virtio_net_hdr *hdr __unused) +vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, + struct virtio_net_hdr *hdr) { -#if 0 + const struct ether_header *eh; struct vtnet_softc *sc; -#endif - int protocol; + int hoff, protocol; + uint16_t etype; + bool isipv6; + + KASSERT(hdr->flags & + (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID), + ("%s: missing checksum offloading flag %x", __func__, hdr->flags)); + + eh = mtod(m, const struct ether_header *); + etype = ntohs(eh->ether_type); + if (etype == ETHERTYPE_VLAN) { + /* TODO BMV: Handle QinQ. */ + const struct ether_vlan_header *evh = + mtod(m, const struct ether_vlan_header *); + etype = ntohs(evh->evl_proto); + hoff = sizeof(struct ether_vlan_header); + } else + hoff = sizeof(struct ether_header); -#if 0 sc = rxq->vtnrx_sc; -#endif + /* Check whether ethernet type is IP or IPv6, and get protocol. */ switch (etype) { #if defined(INET) case ETHERTYPE_IP: - if (__predict_false(m->m_len < hoff + sizeof(struct ip))) - protocol = IPPROTO_DONE; - else { + if (__predict_false(m->m_len < hoff + sizeof(struct ip))) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } else { struct ip *ip = (struct ip *)(m->m_data + hoff); protocol = ip->ip_p; } + isipv6 = false; break; #endif #if defined(INET6) case ETHERTYPE_IPV6: if (__predict_false(m->m_len < hoff + sizeof(struct ip6_hdr)) - || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) - protocol = IPPROTO_DONE; + || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } + isipv6 = true; break; #endif default: - protocol = IPPROTO_DONE; - break; + sc->vtnet_stats.rx_csum_bad_ethtype++; + return (1); } + /* Check whether protocol is TCP or UDP. */ switch (protocol) { case IPPROTO_TCP: case IPPROTO_UDP: - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; break; default: /* * FreeBSD does not support checksum offloading of this - * protocol. Let the stack re-verify the checksum later - * if the protocol is supported. + * protocol here. */ -#if 0 - if_printf(sc->vtnet_ifp, - "%s: checksum offload of unsupported protocol " - "etype=%#x protocol=%d csum_start=%d csum_offset=%d\n", - __func__, etype, protocol, hdr->csum_start, - hdr->csum_offset); -#endif - break; + sc->vtnet_stats.rx_csum_bad_ipproto++; + return (1); } - return (0); -} - -static int -vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, - struct virtio_net_hdr *hdr) -{ - const struct ether_header *eh; - int hoff; - uint16_t etype; - - eh = mtod(m, const struct ether_header *); - etype = ntohs(eh->ether_type); - if (etype == ETHERTYPE_VLAN) { - /* TODO BMV: Handle QinQ. */ - const struct ether_vlan_header *evh = - mtod(m, const struct ether_vlan_header *); - etype = ntohs(evh->evl_proto); - hoff = sizeof(struct ether_vlan_header); - } else - hoff = sizeof(struct ether_header); - if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) - return (vtnet_rxq_csum_needs_csum(rxq, m, etype, hoff, hdr)); + return (vtnet_rxq_csum_needs_csum(rxq, m, isipv6, protocol, + hdr)); else /* VIRTIO_NET_HDR_F_DATA_VALID */ - return (vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr)); + vtnet_rxq_csum_data_valid(rxq, m, protocol); + + return (0); } static void @@ -2498,6 +2497,10 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct mbuf *m, hdr->csum_start = vtnet_gtoh16(sc, csum_start); hdr->csum_offset = vtnet_gtoh16(sc, m->m_pkthdr.csum_data); txq->vtntx_stats.vtxs_csum++; + } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) && + (proto == IPPROTO_TCP || proto == IPPROTO_UDP) && + (m->m_pkthdr.csum_data == 0xFFFF)) { + hdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID; } if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) { @@ -2611,7 +2614,8 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct mbuf **m_head, int flags) m->m_flags &= ~M_VLANTAG; } - if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) { + if (m->m_pkthdr.csum_flags & + (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) { m = vtnet_txq_offload(txq, m, hdr); if ((*m_head = m) == NULL) { error = ENOBUFS; @@ -4321,9 +4325,9 @@ vtnet_setup_stat_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_offset", CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_offset, "Received checksum offloaded buffer with incorrect offset"); - SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_proto", - CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_proto, - "Received checksum offloaded buffer with incorrect protocol"); + SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_inaccessible_ipproto", + CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_inaccessible_ipproto, + "Received checksum offloaded buffer with inaccessible IP protocol"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_csum_failed", CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_STATS, sc, 0, vtnet_sysctl_rx_csum_failed, "QU", diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 0144b0f3232d..cab7ced639a7 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -46,7 +46,7 @@ struct vtnet_statistics { uint64_t rx_csum_bad_ethtype; uint64_t rx_csum_bad_ipproto; uint64_t rx_csum_bad_offset; - uint64_t rx_csum_bad_proto; + uint64_t rx_csum_inaccessible_ipproto; uint64_t tx_csum_unknown_ethtype; uint64_t tx_csum_proto_mismatch; uint64_t tx_tso_not_tcp; From nobody Thu Sep 11 06:20:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMnVz5L3hz67gjh; Thu, 11 Sep 2025 06:20: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMnVz4hpcz42yB; Thu, 11 Sep 2025 06:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757571659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qm4yZTy8x9St6MzDOsMRE8KF+6A1EPdeGSpQxSNxJy8=; b=XDpKLJytL4UaJhrq4CD5orEsBo7zxMYJAcjO4KYmepyOCyZ8PiCnYC5VQBTBQiR2m6gM5e KEVJ+ehzHWBPZhw0ECz3Aj+MF/GnPmN3RsSnkV3GCOncs26lggJHJZuo7wXQ7KFgSXlicO vfGP2n5b9WjbcpL6BsqKe9Ah4XfrtDUSJfi4bcECdEiCPPrQeKaGihyUPRJbL5MlH8fPiV iwQ8wsKPUgQjJfLqJqzsoB4L4zxhdWO8L7W9qSYv/KJEyiQPL3LYV6PhGrL0EPrE89xSuB PO9GVpLRZM4be5YYK1AaVMf5IuwMngpzfhvQSd+aQO49D981+K1iD4cKBhVwGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757571659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qm4yZTy8x9St6MzDOsMRE8KF+6A1EPdeGSpQxSNxJy8=; b=K8pDhkmXZNhxaQvcs9EtmUH8LpK/VN2UNE2uERKK3jfIxypRcYbmziOymJrYD5Zfg2UcSq 14WA4MX81QH3ui7lNnvUQWnw97A7pxghsmqlWtWACYOkuc2bYef2h/pZc7SarWpqAy119h VqdBq6sNsi5388NTxyokeAfeydlvt5uQHKSqfsvnWxsbqa6Jjw4dLxOa0EI78gRMvhdBza 6EDlY7DaT/xI8Jga26UrttrWUadH7/v55K0QGSrIuejzjkuBQD6gXBkqYoo3bHkTUxJ/15 MNJpKrQ2bgFILaLyNK6TlOw/5uWcaWplAhSVIDZWWtC4E4KdpdqvA6utWYJ62w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757571659; a=rsa-sha256; cv=none; b=syPaD6Qtd/Zn8DafEh6bGrO0GxzjcGeAtzg6JN6xQcW/CAzU3kSR97COVuKdNFYVPvd/XZ zlDlaTqZ6I8WhcyacMH2EedpbIe7v//XeJqSvP+pEQnJI36w2nG4t5ERYg5pl40AtF3afO ChKHgwZQrJPPQDasrTjPcrd5SxSibeX+eKoGDWwMqHv19MfOJuSgQdowcO5QYLd3H41Vny VQQ6HIR/TeSR5ptWtr0s+E1LTFDqZT6MijcGrjb2iE8pi6qvnSCzSBFX91R/tXSGtb7Ch9 qfXf6kNiIgPV5cWyWiNOFq8C2N3WGfn344bQA/RAOhIrnRvm6iYfEh+jTZg8CQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMnVz48sxzvwr; Thu, 11 Sep 2025 06:20: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 58B6KxHP078859; Thu, 11 Sep 2025 06:20:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B6KxrX078856; Thu, 11 Sep 2025 06:20:59 GMT (envelope-from git) Date: Thu, 11 Sep 2025 06:20:59 GMT Message-Id: <202509110620.58B6KxrX078856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c031033faa87 - stable/15 - vtnet: fix compilation for NOIP configs List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c031033faa8728668e48f576381a95d60d8739eb Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c031033faa8728668e48f576381a95d60d8739eb commit c031033faa8728668e48f576381a95d60d8739eb Author: Michael Tuexen AuthorDate: 2025-09-08 20:46:41 +0000 Commit: Michael Tuexen CommitDate: 2025-09-11 06:20:19 +0000 vtnet: fix compilation for NOIP configs Reported by: bz Fixes: 3008f30d2c2c ("vtnet: improve checksum offloading") (cherry picked from commit 614e9b33bf5594d9d09b5d296afa4f3aa6971823) --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 73f27ac147ff..528ff3372097 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -133,12 +133,14 @@ static int vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *, static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, bool, int, struct virtio_net_hdr *); static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); static void vtnet_rxq_discard_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_merged_eof(struct vtnet_rxq *, struct mbuf *, int); @@ -1761,6 +1763,7 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) return (error); } +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, int protocol, struct virtio_net_hdr *hdr) @@ -1918,6 +1921,7 @@ vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, return (0); } +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *rxq, int nbufs) @@ -2040,10 +2044,15 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, struct mbuf *m, if (hdr->flags & (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID)) { +#if defined(INET) || defined(INET6) if (vtnet_rxq_csum(rxq, m, hdr) == 0) rxq->vtnrx_stats.vrxs_csum++; else rxq->vtnrx_stats.vrxs_csum_failed++; +#else + sc->vtnet_stats.rx_csum_bad_ethtype++; + rxq->vtnrx_stats.vrxs_csum_failed++; +#endif } if (hdr->gso_size != 0) { From nobody Thu Sep 11 06:34:14 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMnpH1jgyz62WGx; Thu, 11 Sep 2025 06:34:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMnpH14GJz45jr; Thu, 11 Sep 2025 06:34:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G4P59ApfswweN1dGQLf8g4KVUJVr0V0R6K0Zj2GyCQE=; b=N3l4TuiiXjEqXWtNpKyE3M2gS36vPaadDPnxkY2THex93CkEc8zeeqpwhAa/uh+u4fgUDR 8U/jKekm/lp/5Y0P/5dRTLD3ymWe98mp07I7ks2kjwdn8hL8Mc2mE+bglLlJ6VoSzF4Hd7 HUyB4+uvIF2nFarsOpWy8nIcNELsOjuvK5PMAhBiqmK2haWCFUvbPLrTXa3/PvpIWMRB4v l6qRnH+A/sS+vZnEY6lIdd7JoSPVnS03htWfkG7kp60B6FrEhKXtcify5rVcv+GU68zlvk +C1zYCMBmeiaJcrLwLyxnMQ+SSMtgFelA5bqq71M2UbXW/nNObQNzgBHwDyiMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G4P59ApfswweN1dGQLf8g4KVUJVr0V0R6K0Zj2GyCQE=; b=evrBaJ64V2242cJ8n1zeZKvHz75lHkyqrbFiZapI63TaAqewYDltd2cOVj8hjxjsbv3/Pb vlK8OP3RT1muddrOTyNzVvAsm5nu2HRxn7B5cVZshJynvI1G1WzLhDLpLtP4UfBrQOcvBj Wc1aRa1fdzuNkCbRaCZGXFEfwVdD30yUJ8TMPzbiM2JY8/KjAPzBWzd9NZzu8BoyfpCHjs k4KbaMI0SDr+d2Uhd+6mPTG8nADk8/bW2y4dFoRVP0lMS4aELIjUGm06ckrkoeNWFHS4t7 sofWS/D+88hKX5ZpSA4U0MjF0ElHVN6ftmlyap86conx9kolthWhUNMUusMIMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757572455; a=rsa-sha256; cv=none; b=Q7pRMe4Vl8i4tbWcrBRUPn6xiJBqX1UgydQY2aD7Y/POezmYMupTCP1iqpFN4hka1OCB5m 8WMmdMWnT+BJOpA5sfpG2BrRmYkkZuBLLh62vNNZrB33urChZqYJHh4bQ8PsjErJYblqOq 9Jnrrjnb33vYLq3QmwbAQYwjVdkp42/clT3Ustd6VT0vJkIDJ8oyOrmQyARROOFlWjWfb7 F5o4yATQfXGJc4TCkjSSqt/HtdrHeGZWNrVIVM5Fy5eKoqFbJjWJpPmHpt4sv8gS4e5gn5 ysgECa2auc3KsGU8S7Bo8qWh1lK8ZQYJaFYTUkI35HCzlP1nOhlRwiUzzbSJ7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMnpH0ZQJzwxg; Thu, 11 Sep 2025 06:34:15 +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 58B6YEod007085; Thu, 11 Sep 2025 06:34:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B6YEjr007082; Thu, 11 Sep 2025 06:34:14 GMT (envelope-from git) Date: Thu, 11 Sep 2025 06:34:14 GMT Message-Id: <202509110634.58B6YEjr007082@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c45634120255 - stable/14 - tests: disable transmit checksum offloading for epair interfaces List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c456341202556f1119ae21c8a707d5dd327f5149 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c456341202556f1119ae21c8a707d5dd327f5149 commit c456341202556f1119ae21c8a707d5dd327f5149 Author: Michael Tuexen AuthorDate: 2025-09-04 11:52:37 +0000 Commit: Michael Tuexen CommitDate: 2025-09-11 06:33:55 +0000 tests: disable transmit checksum offloading for epair interfaces When transmit checksum offloading is enabled, if_epair does not compute checksums, it just marks packets that this computation still needs to be done. However, some test cases verify the checksum. Therefore disable this for IPv4 and IPv6. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D52379 (cherry picked from commit bd8296e7173aa625f6d4d766aac2df6be639e49a) --- tests/atf_python/sys/net/vnet.py | 1 + tests/sys/common/vnet.subr | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index 7af63aa2b0c3..41d612fc7c7f 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -104,6 +104,7 @@ class VnetInterface(object): raise Exception("Unable to create iface {}".format(iface_name)) ret = [cls(alias_name, name)] if name.startswith("epair"): + run_cmd("/sbin/ifconfig {} -txcsum -txcsum6".format(name)) ret.append(cls(alias_name, name[:-1] + "b")) return ret diff --git a/tests/sys/common/vnet.subr b/tests/sys/common/vnet.subr index ee498cda64f3..57a2863a42f2 100644 --- a/tests/sys/common/vnet.subr +++ b/tests/sys/common/vnet.subr @@ -42,6 +42,11 @@ vnet_init() vnet_mkepair() { ifname=$(ifconfig epair create) + # When transmit checksum offloading is enabled, if_epair does not + # compute checksums, it just marks packets that this computation still + # needs to be done. However, some test cases verify the checksum. + # Therefore disable this for IPv4 and IPv6. + ifconfig ${ifname} -txcsum -txcsum6 list_interface $ifname list_interface ${ifname%a}b echo ${ifname%a} From nobody Thu Sep 11 06:37:31 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMnt40ykfz67hcD; Thu, 11 Sep 2025 06:37: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMnt40gdBz45lJ; Thu, 11 Sep 2025 06:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t6n+92R7ISPy63uXbCOgBiPaUJwtcWmjgTTCzDB7VOU=; b=iNBCdvfqAwMxDpv8MCXQJLDICks1E9DwIpAQPihiiITLEYK7D7VsyupYT1Xw1ZC108iDvB 1HChldUdGUwTevmQcxAyGgPAGD7jw1TgyLPzwFGdJqtpqIzFekJoYpqVSz0h8kLOXY0qfj ero+GP0VDUKr8RSG2FAQEIB0HVKvCOF2mBr5qx5X1dnFnZNTWJdY3WwkwNfWBoiPkN8kHX bKK7lA0BzEn0f0SHCQVJscdcj6McUofhfhveWkj+5TmOUhG9R2afp8bTZbM5E+RXy5Qtu3 Z8dRUx82HgHf+aFrHqjn5J4m/oEkbMc4/5918yPBWi5ljOVR5oGrluMFuG3CqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t6n+92R7ISPy63uXbCOgBiPaUJwtcWmjgTTCzDB7VOU=; b=irrwSKvzURm/go2UnRAaPf6/mivn2UprvN5umc4HaAQH54yLtEB1y0YW5eBInJDtwQm0RC vWRYf8Ejl764GYg3FRFWEsoD8TAvFk2GtwYfyFX5iDD2S8hVDPmgyINtE67QGfoYskdce6 IsXvb4BwFUGjlA1lUO+vWTBR10XibJEV+Of7KKrw5zfjYr4tBfsC7XjJ/oPs84SZ7IJcSs TZJzA+EDLCXjr2qdAJ5GlYaZRXsEfOYonkcs9BxYfu4JJmHjdktco0J2Ya/psTfR4vKZBG MUAFKJ87TlG8Vmrjh2N9az9t1CFh8u2F3ObCGpWvjXsCH4B8JZIz3QB9flg+KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757572652; a=rsa-sha256; cv=none; b=bcuYz0izpFeckleL7WG5irz3wB5LfNliDVFIydf9YGUdVQkKMWR0Nd/DqXYbEOPotdvHFq vB6e07GnBiK5K9t9GDLcDX/zP8uFqtm4U3tgM3i6cEE3ZodARAbHvAXXJaQqx7x3Nd83yh yv22MO/1sb4bt8ZPMmboQZfVpNgNUJNLYLmsa3gT0ferTkYnzxH5sI+9UQvbFB9atr8N7V eJfvy7giP1kSMW05hggfTEeUmTk6RkODmjHl9e6x6GNhN9LdLqEU30UIvFg6k6BLdab6tH p5EXGSACTDySXIAEoZBJdMzHWjSNwRALqDwswRQIJ1sGTCDxQZpHxx2pO1ECXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMnt400R2zwJK; Thu, 11 Sep 2025 06:37: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 58B6bVTk008166; Thu, 11 Sep 2025 06:37:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B6bVKY008163; Thu, 11 Sep 2025 06:37:31 GMT (envelope-from git) Date: Thu, 11 Sep 2025 06:37:31 GMT Message-Id: <202509110637.58B6bVKY008163@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 07625c420dc3 - stable/14 - vtnet: improve checksum offloading List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 07625c420dc30cc484018c269bb7a212436ded8a Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=07625c420dc30cc484018c269bb7a212436ded8a commit 07625c420dc30cc484018c269bb7a212436ded8a Author: Timo Völker AuthorDate: 2025-09-08 20:38:49 +0000 Commit: Michael Tuexen CommitDate: 2025-09-11 06:35:43 +0000 vtnet: improve checksum offloading When transmitting a packet over the vtnet interface, map the csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio flag VIRTIO_NET_HDR_F_DATA_VALID. When receiving a packet over the virtio network channel, translate the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID | CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or CSUM_UDP_IPV6. The second change fixes a series of issue related to checksum offloading for if_vtnet. While there, improve the stats counters to allow a detailed view on what is going on in relation to checksum offloading. PR: 165059 Reviewed by: tuexen, manpages Differential Revision: https://reviews.freebsd.org/D51686 (cherry picked from commit 3008f30d2c2cabdd7e17f7fb922139da8681ffbd) --- share/man/man4/vtnet.4 | 28 +++-- sys/dev/virtio/network/if_vtnet.c | 220 ++++++++++++++++++----------------- sys/dev/virtio/network/if_vtnetvar.h | 2 +- 3 files changed, 132 insertions(+), 118 deletions(-) diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 index 124d72108506..bbe86fa1bf69 100644 --- a/share/man/man4/vtnet.4 +++ b/share/man/man4/vtnet.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 3, 2025 +.Dd September 8, 2025 .Dt VTNET 4 .Os .Sh NAME @@ -149,7 +149,14 @@ The number of times the receive interrupt handler was rescheduled. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro The number of times TCP large receive offload was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed -Currently not used. +The number of times a packet with a request for receive or transmit checksum +offloading was received and this request failed. +The different reasons for the failure are counted by +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype , +and +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset . .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum The number of times receive checksum offloading for UDP or TCP was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors @@ -209,18 +216,21 @@ over all receive queues of the interface. The sum of .Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed over all receive queues of the interface. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto -Currently unused. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was not accessible. .It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype The number of times fixing the checksum required by .Va hw.vtnet.fixup_needs_csum or .Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum -was attempted for a packet with an EtherType other than IPv4 or IPv6. +was attempted for a packet where the csum is not located in the first mbuf. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was neither TCP nor UDP. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype +The number of times a packet with a request for receive or transmit checksum +offloading was received where the EtherType was neither IPv4 nor IPv6. .It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed The number of times receiving a mergable buffer failed. .It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index bf7ee6e29632..774635df5aed 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -135,9 +135,9 @@ static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); -static int vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); + bool, int, struct virtio_net_hdr *); +static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, + int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); @@ -1759,162 +1759,161 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) } static int -vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, uint16_t etype, - int hoff, struct virtio_net_hdr *hdr) +vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, + int protocol, struct virtio_net_hdr *hdr) { struct vtnet_softc *sc; - int error; - sc = rxq->vtnrx_sc; + /* + * The packet is likely from another VM on the same host or from the + * host that itself performed checksum offloading so Tx/Rx is basically + * a memcpy and the checksum has little value so far. + */ + + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); /* - * NEEDS_CSUM corresponds to Linux's CHECKSUM_PARTIAL, but FreeBSD does - * not have an analogous CSUM flag. The checksum has been validated, - * but is incomplete (TCP/UDP pseudo header). - * - * The packet is likely from another VM on the same host that itself - * performed checksum offloading so Tx/Rx is basically a memcpy and - * the checksum has little value. - * - * Default to receiving the packet as-is for performance reasons, but - * this can cause issues if the packet is to be forwarded because it - * does not contain a valid checksum. This patch may be helpful: - * https://reviews.freebsd.org/D6611. In the meantime, have the driver - * compute the checksum if requested. - * - * BMV: Need to add an CSUM_PARTIAL flag? + * If the user don't want us to fix it up here by computing the + * checksum, just forward the order to compute the checksum by setting + * the corresponding mbuf flag (e.g., CSUM_TCP). */ + sc = rxq->vtnrx_sc; if ((sc->vtnet_flags & VTNET_FLAG_FIXUP_NEEDS_CSUM) == 0) { - error = vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr); - return (error); + switch (protocol) { + case IPPROTO_TCP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_TCP_IPV6 : CSUM_TCP); + break; + case IPPROTO_UDP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_UDP_IPV6 : CSUM_UDP); + break; + } + m->m_pkthdr.csum_data = hdr->csum_offset; + return (0); } /* * Compute the checksum in the driver so the packet will contain a * valid checksum. The checksum is at csum_offset from csum_start. */ - switch (etype) { -#if defined(INET) || defined(INET6) - case ETHERTYPE_IP: - case ETHERTYPE_IPV6: { - int csum_off, csum_end; - uint16_t csum; + int csum_off, csum_end; + uint16_t csum; - csum_off = hdr->csum_start + hdr->csum_offset; - csum_end = csum_off + sizeof(uint16_t); + csum_off = hdr->csum_start + hdr->csum_offset; + csum_end = csum_off + sizeof(uint16_t); - /* Assume checksum will be in the first mbuf. */ - if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) - return (1); - - /* - * Like in_delayed_cksum()/in6_delayed_cksum(), compute the - * checksum and write it at the specified offset. We could - * try to verify the packet: csum_start should probably - * correspond to the start of the TCP/UDP header. - * - * BMV: Need to properly handle UDP with zero checksum. Is - * the IPv4 header checksum implicitly validated? - */ - csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); - *(uint16_t *)(mtodo(m, csum_off)) = csum; - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; - break; - } -#endif - default: - sc->vtnet_stats.rx_csum_bad_ethtype++; + /* Assume checksum will be in the first mbuf. */ + if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) { + sc->vtnet_stats.rx_csum_bad_offset++; return (1); } + /* + * Like in_delayed_cksum()/in6_delayed_cksum(), compute the + * checksum and write it at the specified offset. We could + * try to verify the packet: csum_start should probably + * correspond to the start of the TCP/UDP header. + * + * BMV: Need to properly handle UDP with zero checksum. Is + * the IPv4 header checksum implicitly validated? + */ + csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); + *(uint16_t *)(mtodo(m, csum_off)) = csum; + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; + return (0); } +static void +vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, int protocol) +{ + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); + + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; +} + static int -vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, - uint16_t etype, int hoff, struct virtio_net_hdr *hdr __unused) +vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, + struct virtio_net_hdr *hdr) { -#if 0 + const struct ether_header *eh; struct vtnet_softc *sc; -#endif - int protocol; + int hoff, protocol; + uint16_t etype; + bool isipv6; + + KASSERT(hdr->flags & + (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID), + ("%s: missing checksum offloading flag %x", __func__, hdr->flags)); + + eh = mtod(m, const struct ether_header *); + etype = ntohs(eh->ether_type); + if (etype == ETHERTYPE_VLAN) { + /* TODO BMV: Handle QinQ. */ + const struct ether_vlan_header *evh = + mtod(m, const struct ether_vlan_header *); + etype = ntohs(evh->evl_proto); + hoff = sizeof(struct ether_vlan_header); + } else + hoff = sizeof(struct ether_header); -#if 0 sc = rxq->vtnrx_sc; -#endif + /* Check whether ethernet type is IP or IPv6, and get protocol. */ switch (etype) { #if defined(INET) case ETHERTYPE_IP: - if (__predict_false(m->m_len < hoff + sizeof(struct ip))) - protocol = IPPROTO_DONE; - else { + if (__predict_false(m->m_len < hoff + sizeof(struct ip))) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } else { struct ip *ip = (struct ip *)(m->m_data + hoff); protocol = ip->ip_p; } + isipv6 = false; break; #endif #if defined(INET6) case ETHERTYPE_IPV6: if (__predict_false(m->m_len < hoff + sizeof(struct ip6_hdr)) - || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) - protocol = IPPROTO_DONE; + || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } + isipv6 = true; break; #endif default: - protocol = IPPROTO_DONE; - break; + sc->vtnet_stats.rx_csum_bad_ethtype++; + return (1); } + /* Check whether protocol is TCP or UDP. */ switch (protocol) { case IPPROTO_TCP: case IPPROTO_UDP: - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; break; default: /* * FreeBSD does not support checksum offloading of this - * protocol. Let the stack re-verify the checksum later - * if the protocol is supported. + * protocol here. */ -#if 0 - if_printf(sc->vtnet_ifp, - "%s: checksum offload of unsupported protocol " - "etype=%#x protocol=%d csum_start=%d csum_offset=%d\n", - __func__, etype, protocol, hdr->csum_start, - hdr->csum_offset); -#endif - break; + sc->vtnet_stats.rx_csum_bad_ipproto++; + return (1); } - return (0); -} - -static int -vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, - struct virtio_net_hdr *hdr) -{ - const struct ether_header *eh; - int hoff; - uint16_t etype; - - eh = mtod(m, const struct ether_header *); - etype = ntohs(eh->ether_type); - if (etype == ETHERTYPE_VLAN) { - /* TODO BMV: Handle QinQ. */ - const struct ether_vlan_header *evh = - mtod(m, const struct ether_vlan_header *); - etype = ntohs(evh->evl_proto); - hoff = sizeof(struct ether_vlan_header); - } else - hoff = sizeof(struct ether_header); - if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) - return (vtnet_rxq_csum_needs_csum(rxq, m, etype, hoff, hdr)); + return (vtnet_rxq_csum_needs_csum(rxq, m, isipv6, protocol, + hdr)); else /* VIRTIO_NET_HDR_F_DATA_VALID */ - return (vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr)); + vtnet_rxq_csum_data_valid(rxq, m, protocol); + + return (0); } static void @@ -2495,6 +2494,10 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct mbuf *m, hdr->csum_start = vtnet_gtoh16(sc, csum_start); hdr->csum_offset = vtnet_gtoh16(sc, m->m_pkthdr.csum_data); txq->vtntx_stats.vtxs_csum++; + } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) && + (proto == IPPROTO_TCP || proto == IPPROTO_UDP) && + (m->m_pkthdr.csum_data == 0xFFFF)) { + hdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID; } if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) { @@ -2608,7 +2611,8 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct mbuf **m_head, int flags) m->m_flags &= ~M_VLANTAG; } - if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) { + if (m->m_pkthdr.csum_flags & + (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) { m = vtnet_txq_offload(txq, m, hdr); if ((*m_head = m) == NULL) { error = ENOBUFS; @@ -4323,9 +4327,9 @@ vtnet_setup_stat_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_offset", CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_offset, "Received checksum offloaded buffer with incorrect offset"); - SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_proto", - CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_proto, - "Received checksum offloaded buffer with incorrect protocol"); + SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_inaccessible_ipproto", + CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_inaccessible_ipproto, + "Received checksum offloaded buffer with inaccessible IP protocol"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_csum_failed", CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_STATS, sc, 0, vtnet_sysctl_rx_csum_failed, "QU", diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index d690ad3bf63c..8d508f500f17 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -44,7 +44,7 @@ struct vtnet_statistics { uint64_t rx_csum_bad_ethtype; uint64_t rx_csum_bad_ipproto; uint64_t rx_csum_bad_offset; - uint64_t rx_csum_bad_proto; + uint64_t rx_csum_inaccessible_ipproto; uint64_t tx_csum_unknown_ethtype; uint64_t tx_csum_proto_mismatch; uint64_t tx_tso_not_tcp; From nobody Thu Sep 11 06:38:14 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMntv1v8Tz67hWT; Thu, 11 Sep 2025 06:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMntv17hNz4661; Thu, 11 Sep 2025 06:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wbfvmCXWv9pxRIlX2avfnNKBjgqRYxMkXdDsNbQVQ3k=; b=VMTDZHc7URX7dCrtzyFdtsgSgbOmIHILMla1blfb7+/bVPCBEkQNZZnEcQc5o00moJ5HwR 2ymLrwYu6zcRMRk0e+2c4KS7PhLBuM5e1pUfBlsJrXKzPMACvyD0jDrMyHvnpsn3UYKCHs y/8RJx8aCvZXh5j/MHM9oRvfhnpSyY1/79Sg3YX+ys+dJoPXsPREP5orVuAqPw4w8E/08o CbH2N7FOrW+3HONBS+5Bv3UMShgLQs1/If9Ic2ZA1IJxq/CFQAULxdwB30t44bqXgxBg+D 2vun+qHZH6O29WwEnabOpKML3/WaG/SxgLsAFHuShPhMBsJO/Qwftg9EbHbqZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757572695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wbfvmCXWv9pxRIlX2avfnNKBjgqRYxMkXdDsNbQVQ3k=; b=DdTpS1igHGRaCAMV58V9gu1z/Zgu4vtbyMC2F/yIBEqHEu0QOxdwBjbHGTDOJUYWUEwdc2 O29tiI7E7MVgsseDaLSYftr6lgjMXbF0E62vk5KJ9+xsn7ZCyMYuUt9M92cqSumzkZN6/j UDITMalvMNZIrzUXXsU6I3/7FC2ooQPyCmCaDkD63b1jvUIZJezZw+4nudBWWU+A8ccRTF F/rOAZ0xsaieVhsirHC9taopCbgU672MWCBnY7uEdDReFamAFE0OSSRQiFbUO1usuz5718 sseXJJp/YBojbFE3HftQ0Oq0TCZSCuI1phXjKIRpXxfb6e4ktLczueRfTOjh9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757572695; a=rsa-sha256; cv=none; b=AkqKyk14jRI1QkWDZWbni7JCMnkd5m+DmiIpJIltlr06mX9EWVY9tHXCiGLpcD74BQU1pT GvcQ44iJG+GQVGaABaEfGGPvBiLe/JhBv6xoy2RFO1IAK+XoJLmalGzgJJ2emAMrW7m6o8 MR7rH6l2YxkzsoJ2UtpNXWiou/i3suUumjRV4iVrElQOUZs8sKDHie4bk70FmkDtq0LQmn m2MHv+0nMfWQXqRH96ik588//IhHqkbC0oN8sDEUBY9dDd89UVA0VdAsqSNEEomPELlYc5 KL1bINi+s8MwlntC494M7kLL1bRRUOVRDmGdNO0Zmy+zztcge4K5QEXYFo1ouw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMntv0Tn9zwXh; Thu, 11 Sep 2025 06:38:15 +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 58B6cErq008521; Thu, 11 Sep 2025 06:38:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58B6cErF008518; Thu, 11 Sep 2025 06:38:14 GMT (envelope-from git) Date: Thu, 11 Sep 2025 06:38:14 GMT Message-Id: <202509110638.58B6cErF008518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: d140a121523e - stable/14 - vtnet: fix compilation for NOIP configs List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d140a121523e4a13cb8c04c317e85bf20284e24e Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d140a121523e4a13cb8c04c317e85bf20284e24e commit d140a121523e4a13cb8c04c317e85bf20284e24e Author: Michael Tuexen AuthorDate: 2025-09-08 20:46:41 +0000 Commit: Michael Tuexen CommitDate: 2025-09-11 06:36:51 +0000 vtnet: fix compilation for NOIP configs Reported by: bz Fixes: 3008f30d2c2c ("vtnet: improve checksum offloading") (cherry picked from commit 614e9b33bf5594d9d09b5d296afa4f3aa6971823) --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 774635df5aed..92cb659c92c3 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -134,12 +134,14 @@ static int vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *, static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, bool, int, struct virtio_net_hdr *); static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); static void vtnet_rxq_discard_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_merged_eof(struct vtnet_rxq *, struct mbuf *, int); @@ -1758,6 +1760,7 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) return (error); } +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, int protocol, struct virtio_net_hdr *hdr) @@ -1915,6 +1918,7 @@ vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, return (0); } +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *rxq, int nbufs) @@ -2037,10 +2041,15 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, struct mbuf *m, if (hdr->flags & (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID)) { +#if defined(INET) || defined(INET6) if (vtnet_rxq_csum(rxq, m, hdr) == 0) rxq->vtnrx_stats.vrxs_csum++; else rxq->vtnrx_stats.vrxs_csum_failed++; +#else + sc->vtnet_stats.rx_csum_bad_ethtype++; + rxq->vtnrx_stats.vrxs_csum_failed++; +#endif } if (hdr->gso_size != 0) { From nobody Thu Sep 11 10:32:34 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cMv5H0Qpbz66TW3; Thu, 11 Sep 2025 10:32: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cMv5G6pCTz3Nx7; Thu, 11 Sep 2025 10:32:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757586755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mx7jBAUB3tTZw6aSC/sS0UPcpts2NySytvVOZZ1pru4=; b=ObaY6ph8iRnKyvjOPIhP6cP8eH6wH/prgNwmv2tDj1kaWOghyOFxzCds2aBWuvjs3ByhSE hQBtf/XNKmejJuCq0nnP1vYkpCTZ++BJmIvo91LeVkKbg8cVqoy4PEt9+oISXIEdjESKC2 3N/nVAQsYLYfyRzScbo5SuHkyA/+4q1F/I8D6oUwDpTW6mMi+N+F+H+jtJXp7jzVosaHZq iHY37vWfeS4f/56JCN7zgn3oTQs+A3YehNhrDdMpDFC6QThQBynXde0xZ6h5ZHVBUOY+Ih lBq32R2uMn8qVkhfUtbyz7C44Z69zYxX3UsYEGvJb3C1LpIJSK/xQC3V8soeLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757586755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mx7jBAUB3tTZw6aSC/sS0UPcpts2NySytvVOZZ1pru4=; b=CdlwZPOMXv0E19RVv1GxIyFtmNbtYzJl1P+e2MI1yH81kcsoIceC5hLwPQhXeO6J0SdvyD fKFIyZ6rDnfgacXpblzi2jwJ88FvOF1U5WJqKFO9rOxjF4787KjcorrIlxcDG6NT13GWl1 ALDTSw3Di4rwUZuL9W7b1uXZSovGqkVRBtASh0qIrmBNTi537IM+oaGGoumxFFm8Qb1J/T FsxEcjh+H1LJl/lZG+46+bMQrPv2rQaSmuxLA1euiA65yD9uRa1hR57gwNF/abyeofQHdm OvTFYDg7rnpI3sL/84sSj8ScKOoHJG/T/j+XTfTlCC5BNyFCoXMOKA/pT176yA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757586755; a=rsa-sha256; cv=none; b=R1GqKit7QaLKIfovh9HLBDfSRpaHgrgSLjwoJyfJTCJTCSBLcse+5Gg4P7W77CUuk+3J6b XLJy9q4Hw4dC7Wb72SCLYB8ODk9jPtn2V8gOdpRELkRAtLoA/pmaA29OayWdGrRuziGW4t 3f9Hfb0k2RBLpMbBmkyXAH9IuaDhsnDWIHXsuiBoKX9zyO+UrzmzkdUllnKWk5Usc2/ST7 /59Pf+n2xLKPI/XU8j9jfcRqHecKU1gCcvChtYr3QRZlGd5uG044fONt/CZEQfwpoBRBkM xrFXv3jSassxGkbO9QInmVcdPhrbfLyAAiu9CBvWbnmEaJY87GEwM0wVl04b7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cMv5G6N5zz13vj; Thu, 11 Sep 2025 10:32: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 58BAWY8l059805; Thu, 11 Sep 2025 10:32:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BAWYXD059802; Thu, 11 Sep 2025 10:32:34 GMT (envelope-from git) Date: Thu, 11 Sep 2025 10:32:34 GMT Message-Id: <202509111032.58BAWYXD059802@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: 6d4fdf786963 - stable/15 - BSD.usr.dist: remove obsolete usr/share/examples/drivers 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6d4fdf786963a4d0a7ceb21cf1ac2ddc79d4931f Auto-Submitted: auto-generated The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6d4fdf786963a4d0a7ceb21cf1ac2ddc79d4931f commit 6d4fdf786963a4d0a7ceb21cf1ac2ddc79d4931f Author: Dimitry Andric AuthorDate: 2025-09-07 14:37:48 +0000 Commit: Dimitry Andric CommitDate: 2025-09-11 10:32:22 +0000 BSD.usr.dist: remove obsolete usr/share/examples/drivers entry In base 8f0a6a9aadb1f, usr/share/examples/drivers was cleaned up, because it contained unmaintained scripts. The directory itself is cleaned up by ObsoleteFiles.inc, but there was still an entry in BSD.usr.dist that re-created the directory. Remove it. Fixes: 8f0a6a9aadb1 MFC after: 3 days (cherry picked from commit ac2f284258e4c6d5867aa6a411bd44df349fe416) --- etc/mtree/BSD.usr.dist | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index ffdd82ae9911..7d3a72f43fa1 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -286,8 +286,6 @@ .. dma .. - drivers - .. dwatch .. etc From nobody Thu Sep 11 18:50:20 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67c45rWz67Hng; Thu, 11 Sep 2025 18:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67c3Nkzz3gwg; Thu, 11 Sep 2025 18:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b975pkbo6Sj1sWkDesGN2IWelvSUvy2ADhy+EKCQXw8=; b=dOVRtiMPRXqaPE8AHIoHZ8x/m1czK1QhIvQc3osXpXczYpz4cBa10CwolWO2jP5FuGU5jS GBJN9jfbrD57CvcNakiIEWF1fW0FnSvCKddcns1S4jIVz+1rzYfgcocn4IdOWr/KuCMpLY ERObdhLEa/gzWjCheD6547sACWjm+rXYry1/xhjZINAmNy5oAzKAn/8ITzBLFJgW214ZFV K+B6PA2Pzu8i30y8YuoBqUPM2kZSiTwctlbV7iI7pZLf8UH5aq+Ng+Ex15BPUk+/rWOwHb StgGgDMH4PO/bKsSr9Pqs758pjUimFeOXMlwRL+7YEgpISjwGA/+yU5gDg1Ieg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b975pkbo6Sj1sWkDesGN2IWelvSUvy2ADhy+EKCQXw8=; b=dGmyc4jW/H2ahWSXL3Vk5MawCblCBzFkM4kiSA/tMKlri1LwOV3VqrN2AXsUFq9cmuJtGu RuCniJs9go8N66fMirtXMb23yUffl8rHXOkg5+iRjM+Y9s6jc9aMXdyUFwk+YHNZrjouQx +gEq9BFCco/nXklTRcPKAI37+IjHPz5J2cQMymbq18UKmKTvPUR0m60ijJnHIuzQEXHBI1 voX0QXhoFvZ0vBbJRj4KjrYpveKRt+BxHFC6YXXoga53V/VdUjgGXluNPJVWa7TdERqFn4 V/veRPx/i+hP4Hu/xsysTMhFR2OmbCeR3a6ghcjfvdYSriJ/oOq6GVaROOdwdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616620; a=rsa-sha256; cv=none; b=x5QffyS77JxpUxxyWXEbcg1dDBacv8MueeVm51iwYtP6l0h1zCgRM524ifLPW8ex2Gb4gL ch/9PneeZCEZ2pyhmGBBPwEwyHX4+R05K3Vyp5ixfAAx688bzY+++WbdCeB2Uc26Y1TBGg MCVtnZIn2CRAGxMB+BcW4TOS/WhVjJm3+uYJfkD2YmgHMPB79OItfz0nNDbQ2DSR3Zfpi7 WcsLB/di9WxlhxTsPFxBBaSs2MUD9+QGp1H/g/S5LnKTbQdkcAvTY+PSRwwEUrd856gitF qEAEXHgLL3gg3LL+yEWxpguTUM1l3tWWZLm516t2ed7AOLm3PO7lbl9F9r4OTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67c2rYfz4BQ; Thu, 11 Sep 2025 18:50:20 +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 58BIoK5b092834; Thu, 11 Sep 2025 18:50:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoKsF092831; Thu, 11 Sep 2025 18:50:20 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:20 GMT Message-Id: <202509111850.58BIoKsF092831@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: c406a288e1e5 - stable/14 - flua: add fbsd module List-Id: Commits to the stable branches 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: c406a288e1e5083119d3b728c083b129a3ea104f Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c406a288e1e5083119d3b728c083b129a3ea104f commit c406a288e1e5083119d3b728c083b129a3ea104f Author: Baptiste Daroussin AuthorDate: 2023-09-13 07:43:33 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:58 +0000 flua: add fbsd module This module is bundled into flua, it only provides for now the exec function. The point of the function is to be able to execute a program without actually executing a shell. to use it: fbsd.exec({"id", "bapt"}) Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41840 (cherry picked from commit 1f31e00e19f9e24d4c891a24973e08a027c4f71c) --- libexec/flua/Makefile | 2 +- libexec/flua/linit_flua.c | 2 + libexec/flua/modules/lfbsd.c | 134 +++++++++++++++++++++++++++++++++++++++++++ libexec/flua/modules/lfbsd.h | 32 +++++++++++ 4 files changed, 169 insertions(+), 1 deletion(-) diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile index 2cfa8649fc01..8296e5ee00b7 100644 --- a/libexec/flua/Makefile +++ b/libexec/flua/Makefile @@ -23,7 +23,7 @@ SRCS+= lua.c # FreeBSD Extensions .PATH: ${.CURDIR}/modules SRCS+= linit_flua.c -SRCS+= lfs.c lposix.c +SRCS+= lfs.c lposix.c lfbsd.c CFLAGS+= -I${SRCTOP}/lib/liblua -I${.CURDIR}/modules -I${LUASRC} CFLAGS+= -DLUA_PROGNAME="\"${PROG}\"" diff --git a/libexec/flua/linit_flua.c b/libexec/flua/linit_flua.c index 9d712066485a..8eaa4af1ffca 100644 --- a/libexec/flua/linit_flua.c +++ b/libexec/flua/linit_flua.c @@ -35,6 +35,7 @@ #include "lauxlib.h" #include "lfs.h" #include "lposix.h" +#include "lfbsd.h" /* ** these libs are loaded by lua.c and are readily available to any Lua @@ -63,6 +64,7 @@ static const luaL_Reg loadedlibs[] = { {"posix.sys.utsname", luaopen_posix_sys_utsname}, {"posix.sys.wait", luaopen_posix_sys_wait}, {"posix.unistd", luaopen_posix_unistd}, + {"fbsd", luaopen_fbsd}, {NULL, NULL} }; diff --git a/libexec/flua/modules/lfbsd.c b/libexec/flua/modules/lfbsd.c new file mode 100644 index 000000000000..30cafcc7309e --- /dev/null +++ b/libexec/flua/modules/lfbsd.c @@ -0,0 +1,134 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2023 Baptiste Daroussin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted providing that the following conditions~ + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include "lauxlib.h" +#include "lfbsd.h" + +extern char **environ; + +static const char** +luaL_checkarraystrings(lua_State *L, int arg) +{ + const char **ret; + lua_Integer n, i; + int t; + int abs_arg = lua_absindex(L, arg); + luaL_checktype(L, abs_arg, LUA_TTABLE); + n = lua_rawlen(L, abs_arg); + ret = lua_newuserdata(L, (n+1)*sizeof(char*)); + for (i=0; i 1 ? 2 : n, + "fbsd.exec takes exactly one argument"); + + if (pipe(stdin_pipe) < 0) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } + + posix_spawn_file_actions_init(&action); + posix_spawn_file_actions_adddup2(&action, stdin_pipe[0], STDIN_FILENO); + posix_spawn_file_actions_addclose(&action, stdin_pipe[1]); + + argv = luaL_checkarraystrings(L, 1); + if (0 != (r = posix_spawnp(&pid, argv[0], &action, NULL, + (char*const*)argv, environ))) { + lua_pushnil(L); + lua_pushstring(L, strerror(r)); + lua_pushinteger(L, r); + return (3); + } + while (waitpid(pid, &pstat, 0) == -1) { + if (errno != EINTR) { + lua_pushnil(L); + lua_pushstring(L, strerror(r)); + lua_pushinteger(L, r); + return (3); + } + } + + if (WEXITSTATUS(pstat) != 0) { + lua_pushnil(L); + lua_pushstring(L, "Abnormal termination"); + lua_pushinteger(L, r); + return (3); + } + + posix_spawn_file_actions_destroy(&action); + + if (stdin_pipe[0] != -1) + close(stdin_pipe[0]); + if (stdin_pipe[1] != -1) + close(stdin_pipe[1]); + lua_pushinteger(L, pid); + return 1; +} + +#define REG_SIMPLE(n) { #n, lua_ ## n } +static const struct luaL_Reg fbsd_lib[] = { + REG_SIMPLE(exec), + { NULL, NULL }, +}; +#undef REG_SIMPLE + +int +luaopen_fbsd(lua_State *L) +{ + luaL_newlib(L, fbsd_lib); + return (1); +} diff --git a/libexec/flua/modules/lfbsd.h b/libexec/flua/modules/lfbsd.h new file mode 100644 index 000000000000..01034a3ad7cd --- /dev/null +++ b/libexec/flua/modules/lfbsd.h @@ -0,0 +1,32 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2023 Baptiste Daroussin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted providing that the following conditions~ + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include + +int luaopen_fbsd(lua_State *L); From nobody Thu Sep 11 18:50:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67d55ksz67HyQ; Thu, 11 Sep 2025 18:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67d4LnRz3gtt; Thu, 11 Sep 2025 18:50:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fti1S3ya1b68HQbiFCRmFj6GBSgaJuLUpTsqOzHGO8Q=; b=ubQp6//kIfBmTcIo8b54PyYnqUnCwXOK242BJNfSl0yexYfftmU+XfOaqR3RYyY63N/YkA 0tAQKHUY+0VMlvlDeaY7ljuadumzRjWjm36cXHyD14gd2wk92GDkP/QYFeK+D5xvh6MXgw IFXA/1fqotu9sis6TM+0qJC1xseq+w87sJ4AfPrFwzJZJ7YU0A+6X6H7l968ge+5g3gm6n Ah2E1ex6ej9uIOGO6yP89KoaJ9q44U3VGZPbVvIb/vynfN/6n0bOceMNGtK6wcvbAqa+ka se8yTrhX+ApTA4sfb43rR4eUQgyB/rs2rDbNexcSYf+7WDC7Tv8Dqa8U1btLNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fti1S3ya1b68HQbiFCRmFj6GBSgaJuLUpTsqOzHGO8Q=; b=gBIvhxfA2ajxjHYqHzdWRuWLOpjuhAcBIhZRQDtRWKdxFUBMEgBY917pJrvE+5nXVM5XCW cA6wCNyQ7dMqm5hqRIXXk/UtBINVtwHXL+5sjW4jzxkJv311BaxzyWwSrvOysTmzzkjcUw oDLGpUOOGk+xrHpHIoGmm3iI4Qr4tDWQhYJyfg+eRJ5wbURPwU7DjqNhYqYZfFmeSbCJ1r 49MEKbKY3jlyCm2n7JuDsXlgS48Tl3ZoHUqro1IT1G31ZSQ8NWYMOYbNKn4JcFVyssTCV+ I/m8I9lATeQXk91aQ6jj9K9nXup/NnvLjd5FX0qEeo90L4HmmxPiSMIIvNk2Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616621; a=rsa-sha256; cv=none; b=hWKWk9chNK4n5PVyTQzJsfrP114cKnkvcZazCsuZbAlm0SKg1OQ6lsvt2N0wboO+KcxlvP wLpLjL4Q3UkzwcrZd2cY22vD3C0Dt6pPQQa73Yb6xXNZE7NPNx8scabl/XD9hhR7LZh8sZ mX1ZXZn0EW0+VwrpV4a7fBRFtfMSjmUBHa30JWVYgTMlfJKXOt8f1dteCqMv1VIWToZgnH eaBl5jlu1BO2J5xlPzR39VhswyCi54ELpIil0k6HaLWOc8xmQFuO4hNAcf30Rk6hMNCKAN 3pQqq5W20n60NyjRiK4o4W01dwNHZ0srGF72h4cXFocB7sX3uQYcFV+kJG7fZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67d3nCgz3l7; Thu, 11 Sep 2025 18:50: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 58BIoLDt092867; Thu, 11 Sep 2025 18:50:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoLLE092864; Thu, 11 Sep 2025 18:50:21 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:21 GMT Message-Id: <202509111850.58BIoLLE092864@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: 7f6da651e23f - stable/14 - flua: add posix.unistd.dup2() List-Id: Commits to the stable branches 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: 7f6da651e23f4fbafac04ad77f1bdf74deec5882 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7f6da651e23f4fbafac04ad77f1bdf74deec5882 commit 7f6da651e23f4fbafac04ad77f1bdf74deec5882 Author: Isaac Freund AuthorDate: 2025-05-05 09:03:37 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:58 +0000 flua: add posix.unistd.dup2() Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50176 (cherry picked from commit 909aa6781340f8c0b4ae01c6366bf1556ee2d1be) --- libexec/flua/modules/lposix.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 47a1354aede9..43b9ee83673c 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -174,6 +174,39 @@ err: } +static int +lua_dup2(lua_State *L) +{ + int error, oldd, newd; + + enforce_max_args(L, 2); + + oldd = luaL_checkinteger(L, 1); + if (oldd < 0) { + error = EBADF; + goto err; + } + + newd = luaL_checkinteger(L, 2); + if (newd < 0) { + error = EBADF; + goto err; + } + + error = dup2(oldd, newd); + if (error >= 0) { + lua_pushinteger(L, error); + return (1); + } + + error = errno; +err: + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + static int lua_fnmatch(lua_State *L) { @@ -488,6 +521,7 @@ static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(_exit), REG_SIMPLE(chown), REG_DEF(close, lua_pclose), + REG_SIMPLE(dup2), REG_SIMPLE(fork), REG_SIMPLE(getpid), REG_SIMPLE(pipe), From nobody Thu Sep 11 18:50:22 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67f6Y4vz67Hnk; Thu, 11 Sep 2025 18:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67f5Z58z3h4j; Thu, 11 Sep 2025 18:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fn28Odag4c+dItmtvcwT9sa38mLimXw9cne/BUkwkAQ=; b=GHVY6T2IwSOrfrKhBtcrmuGZNSZjxpA2l6ji733ItGCaxQ96wAoa17ynImxkMPiO+Mb//I IzTH081ASKaG2D3pcbjeTo1X2kccrRhwpjfkorlOfaFcL5gVC5ND1WYPl4GrXZSIGR//O0 WeaSa3INztKLKdKFLj6C99yH90r2EgiCWnDPY2ZAB0ZZ3nnysCGzw96MLnbBb1dudGBe1t oVH272q8iMNFYOYp8Ds1icSep6f6BrvBC+xOKy+qtuaA5ULiHmseRDejUBtmPG3psSglqW iWCipeJ/I/uxL9ogZnBrBpvjOfqVslRpfZSGBhnTsayy//SOWukJeD4lNhr1cQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fn28Odag4c+dItmtvcwT9sa38mLimXw9cne/BUkwkAQ=; b=xfblhhqBam+o6kvETpV1JC1/yZXbqJUZiAM0wdZi+rmM3/w3ShdHFZ1ke8zj3bk6BAUXGv 7DD37PnMzxj8Yjx6g3ppK3sSHj/ug3XRV0d7NE1jtseD8SwdWVveKURPCz/4h2lio5nEIv SJvC6wkoK96Rm5cwrBXpddlnowpf6wJynPE6XS5z0zscdqm8Z7EiEIEr0Lj2jj0s9OJvY4 b0xtGSYpLMfeDO0NhP3HpC5E7XobFaysUHHupVM6W3xRX+B7+2UlijkMGTLlac9UNh3awk Lmt06Qx93jcuEkaCjntAiaVSitdDG3r4JfDOoQgAUhpReOHJvOJSk9/5DyzXGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616622; a=rsa-sha256; cv=none; b=ohoitQP2CnDGE3/9owO2yjNjj6fCk2/nmFzdVveqbLXbD40KhlCCIwMWMr8m072k8yRyf3 TsKKs+cQrScsBVoGmZWI9tpFyUAf5NAqcP0E5R2bamWCVEnoy2RsMXZkiL/LWYSmVyugyx y3A3dbGweO6qRJRFlSvcBwoE6OW3GUSC4DdsosGCqDJbaFnUAPsDt6sJMUNWMQUXHH9Roc PZiofQzMpsa57lB2oT/oaTjWlqn5PLlRKXaTO4wct/y13Iu/yg9dkcVsNpp4PQboPaAIk/ ZbfL05Ev62LLWmzOpOZeYSbGfLqyq8s/9ep1fQPd9SM+mM3l9FPLTd/7H1wtYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67f4qP5z4DH; Thu, 11 Sep 2025 18:50: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 58BIoMsF092903; Thu, 11 Sep 2025 18:50:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoMG3092900; Thu, 11 Sep 2025 18:50:22 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:22 GMT Message-Id: <202509111850.58BIoMG3092900@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: f56402485dd5 - stable/14 - lposix: Clean up the posix namespace definitions List-Id: Commits to the stable branches 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: f56402485dd54c7a2d88cb145864bba59b8d4532 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f56402485dd54c7a2d88cb145864bba59b8d4532 commit f56402485dd54c7a2d88cb145864bba59b8d4532 Author: Mark Johnston AuthorDate: 2025-07-07 15:43:27 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:58 +0000 lposix: Clean up the posix namespace definitions The posix module is subdivided according to C headers; for instance, posix.unistd contains routines available from unistd.h, such as chown(2). A quirk of our implementation is that each of the modules is a direct entry in the global table. That is, there is no "posix" table. Instead, "posix.foo" and "posix.bar.baz" are both top-level tables. This is surprising and goes against Lua's shorthand of using "." to access keys in a table. lua-posix also doesn't work this way. Rework things so that "posix" and "posix.sys" are proper tables. Existing flua code which uses require() to bind posix submodules to a name will be unaffected. Code which accesses them directly using something like _G["posix.sys.utsname"].uname() will be broken, but I don't think anything like that exists. In particular, it is now possible to call posix.sys.utsname.uname() without any require statements. Reviewed by: imp, bapt MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D51158 (cherry picked from commit eda96744b434325c475dce449744f2268f1033e8) --- libexec/flua/linit_flua.c | 10 +-------- libexec/flua/modules/lposix.c | 51 +++++++++++++++++++++++++++++++++---------- libexec/flua/modules/lposix.h | 8 +------ 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/libexec/flua/linit_flua.c b/libexec/flua/linit_flua.c index 8eaa4af1ffca..b466b7872158 100644 --- a/libexec/flua/linit_flua.c +++ b/libexec/flua/linit_flua.c @@ -57,18 +57,11 @@ static const luaL_Reg loadedlibs[] = { #endif /* FreeBSD Extensions */ {"lfs", luaopen_lfs}, - {"posix.fnmatch", luaopen_posix_fnmatch}, - {"posix.libgen", luaopen_posix_libgen}, - {"posix.stdlib", luaopen_posix_stdlib}, - {"posix.sys.stat", luaopen_posix_sys_stat}, - {"posix.sys.utsname", luaopen_posix_sys_utsname}, - {"posix.sys.wait", luaopen_posix_sys_wait}, - {"posix.unistd", luaopen_posix_unistd}, + {"posix", luaopen_posix}, {"fbsd", luaopen_fbsd}, {NULL, NULL} }; - LUALIB_API void luaL_openlibs (lua_State *L) { const luaL_Reg *lib; /* "require" functions from 'loadedlibs' and set results to global table */ @@ -77,4 +70,3 @@ LUALIB_API void luaL_openlibs (lua_State *L) { lua_pop(L, 1); /* remove lib */ } } - diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 43b9ee83673c..4ccfcdaa46e7 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -533,21 +533,21 @@ static const struct luaL_Reg unistdlib[] = { #undef REG_SIMPLE #undef REG_DEF -int +static int luaopen_posix_libgen(lua_State *L) { luaL_newlib(L, libgenlib); return (1); } -int +static int luaopen_posix_stdlib(lua_State *L) { luaL_newlib(L, stdliblib); return (1); } -int +static int luaopen_posix_fnmatch(lua_State *L) { luaL_newlib(L, fnmatchlib); @@ -565,14 +565,21 @@ luaopen_posix_fnmatch(lua_State *L) return 1; } -int +static int luaopen_posix_sys_stat(lua_State *L) { luaL_newlib(L, sys_statlib); return (1); } -int +static int +luaopen_posix_sys_utsname(lua_State *L) +{ + luaL_newlib(L, sys_utsnamelib); + return 1; +} + +static int luaopen_posix_sys_wait(lua_State *L) { luaL_newlib(L, sys_waitlib); @@ -598,16 +605,38 @@ luaopen_posix_sys_wait(lua_State *L) return (1); } -int -luaopen_posix_sys_utsname(lua_State *L) +static int +luaopen_posix_unistd(lua_State *L) { - luaL_newlib(L, sys_utsnamelib); - return 1; + luaL_newlib(L, unistdlib); + return (1); } int -luaopen_posix_unistd(lua_State *L) +luaopen_posix(lua_State *L) { - luaL_newlib(L, unistdlib); + lua_newtable(L); /* posix */ + + luaL_requiref(L, "posix.fnmatch", luaopen_posix_fnmatch, 0); + lua_setfield(L, -2, "fnmatch"); + + luaL_requiref(L, "posix.libgen", luaopen_posix_libgen, 0); + lua_setfield(L, -2, "libgen"); + + luaL_requiref(L, "posix.stdlib", luaopen_posix_stdlib, 0); + lua_setfield(L, -2, "stdlib"); + + lua_newtable(L); /* posix.sys */ + luaL_requiref(L, "posix.sys.stat", luaopen_posix_sys_stat, 0); + lua_setfield(L, -2, "stat"); + luaL_requiref(L, "posix.sys.utsname", luaopen_posix_sys_utsname, 0); + lua_setfield(L, -2, "utsname"); + luaL_requiref(L, "posix.sys.wait", luaopen_posix_sys_wait, 0); + lua_setfield(L, -2, "wait"); + lua_setfield(L, -2, "sys"); + + luaL_requiref(L, "posix.unistd", luaopen_posix_unistd, 0); + lua_setfield(L, -2, "unistd"); + return (1); } diff --git a/libexec/flua/modules/lposix.h b/libexec/flua/modules/lposix.h index da7079056826..1aa33f042571 100644 --- a/libexec/flua/modules/lposix.h +++ b/libexec/flua/modules/lposix.h @@ -7,10 +7,4 @@ #include -int luaopen_posix_fnmatch(lua_State *L); -int luaopen_posix_libgen(lua_State *L); -int luaopen_posix_stdlib(lua_State *L); -int luaopen_posix_sys_stat(lua_State *L); -int luaopen_posix_sys_utsname(lua_State *L); -int luaopen_posix_sys_wait(lua_State *L); -int luaopen_posix_unistd(lua_State *L); +int luaopen_posix(lua_State *L); From nobody Thu Sep 11 18:50:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67h3wQZz67Hx7; Thu, 11 Sep 2025 18:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67g5pXKz3h2t; Thu, 11 Sep 2025 18:50:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XvjwgStaM1cv75muIjGpQ4IXFqLYa/8cYVtlYbEQlSg=; b=mhLBA9RzCPgzd5g6X8brfMkZXypthbNl+ryrWyhTEtcFHHfsFRMZgxZ+C7vOp3lBamoIMX cWIvQrcic7ShQv/yx2ZPBttqf8263cmD+Lp+Bil52QzNf6iChpM7IEa8BWBe+bOEO3y9ka 2afdzNdWAeNXGYvqUoQagFzwS1YN+i6bV4/2U4KF1ASf347m1+EL9AN8uIhBzshzyX+IHZ IfGT0FJStW0JwxbePAGyVXPu3C6t/cqTem2wZw2pyqBx23PN3+N96NyHiyi3Ejc4DG9H3c YHvi5962147dGsL+/94ThXROlMVe2HIOxumnG1wowE6fyPuP3flvwyXOAP538w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XvjwgStaM1cv75muIjGpQ4IXFqLYa/8cYVtlYbEQlSg=; b=X4mnThbZzR1iNjc1edvzsEgz+jzHtpT5LMWumWNSkwDEOredgR2Osa+FqFyKcNAVqtwhb4 hqWgbrsmSFemFPY+dsq+0MbwU/kv0YBBMYSGDhNADx31HnWZ6a+zFkcWkPkL37M4/Z8+CS ib15256S1NVwAUlF1CD9efGjIn2KuS+0LPLpFD+CWnmnTi2r9oDPYrmTMFJ4pKnU2XHX05 +2GWNt2ymX+BMCIoANzA6NQUT8GuZyRrNBt2qr1sKW30IFL2iN64vJvdKxePF7RyVe92a0 uGAPAhMTqAA1XiUk7YZSoU0xRb1newNu135gPdDpRA13F12oxz0QOTaH3XQ+OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616623; a=rsa-sha256; cv=none; b=NynuQpg+wU/Kh5WjuS+wVwiXhRnoVCYGjUQWXwezwI5u8QuIfUyCjk7Vm9QYsIxNFsHr62 JHnv/Bsg3qp9/VUQDhz5H/yy3WuL6yxOoO/5/ThCFYXTS3OpeiZMmlByXSpML7V2EVUAUl u33s6FkJlkx4UYjsZr40XGSyQhLaWxMMAlgm3bHWHx3PxpsWR7NYKwA+lshMmqCUHp/xxQ S535QhFC/TwrwsSQmqDsaKPegDuQP4saKox3/c2rtv37mmHZ8fh5UJkqs4OU8NtALIgxMY ozeINc2iOvrNTVabNJ2vJ/+axv6l/kG7ts456HnRIK4XC88OP7cjF9EskMDOlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67g5P8Xz4BR; Thu, 11 Sep 2025 18:50: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 58BIoNL4092942; Thu, 11 Sep 2025 18:50:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoNFl092939; Thu, 11 Sep 2025 18:50:23 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:23 GMT Message-Id: <202509111850.58BIoNFl092939@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: 5e6d22fffb23 - stable/14 - flua: fbsd: avoid leaking stdin pipes on error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 5e6d22fffb23b94273a13a8b58d822596451e8a8 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5e6d22fffb23b94273a13a8b58d822596451e8a8 commit 5e6d22fffb23b94273a13a8b58d822596451e8a8 Author: Kyle Evans AuthorDate: 2025-07-09 05:12:31 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:59 +0000 flua: fbsd: avoid leaking stdin pipes on error Additionally, there's no way to get to the end without a valid stdin_pipe[1] at the moment, so don't check for it. stdin_pipe[0] is closed earlier, as the parent shouldn't need the read-side of the pipe. While we're here, also free the file actions earlier and on error -- they're not necessary once posix_spawnp() has returned. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D50537 (cherry picked from commit 0610ba6cdbf2d8bed2619ae78ef2da5ee9c30b94) --- libexec/flua/modules/lfbsd.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libexec/flua/modules/lfbsd.c b/libexec/flua/modules/lfbsd.c index 30cafcc7309e..6279474f8388 100644 --- a/libexec/flua/modules/lfbsd.c +++ b/libexec/flua/modules/lfbsd.c @@ -88,13 +88,22 @@ lua_exec(lua_State *L) argv = luaL_checkarraystrings(L, 1); if (0 != (r = posix_spawnp(&pid, argv[0], &action, NULL, (char*const*)argv, environ))) { + close(stdin_pipe[0]); + close(stdin_pipe[1]); + posix_spawn_file_actions_destroy(&action); + lua_pushnil(L); lua_pushstring(L, strerror(r)); lua_pushinteger(L, r); return (3); } + + close(stdin_pipe[0]); + posix_spawn_file_actions_destroy(&action); + while (waitpid(pid, &pstat, 0) == -1) { if (errno != EINTR) { + close(stdin_pipe[1]); lua_pushnil(L); lua_pushstring(L, strerror(r)); lua_pushinteger(L, r); @@ -109,12 +118,7 @@ lua_exec(lua_State *L) return (3); } - posix_spawn_file_actions_destroy(&action); - - if (stdin_pipe[0] != -1) - close(stdin_pipe[0]); - if (stdin_pipe[1] != -1) - close(stdin_pipe[1]); + close(stdin_pipe[1]); lua_pushinteger(L, pid); return 1; } From nobody Thu Sep 11 18:50:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67j2H5zz67Hnp; Thu, 11 Sep 2025 18:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67h6kygz3hCT; Thu, 11 Sep 2025 18:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tCq1xBqHtQ+CONhZpTjqekUovU3oJp6mp/iI+ooiL9o=; b=LnqyCNr4kZpSBNN7dmyq10/v7fH+95XqVKKYsjEJKT5PJg3v6ZvJvVBq2uyzRNDYiSg+EY IHR+gL8ekuhT1xRtMh/MIDIKlol/+qXh3Z4FVkZ4DNa/vrRwCttAwErHZSh9h0j2BfbUjF S4zbU57pFuEeZe5lPeEsE5/2W/VNCGv7uVZfw5AN/o0jN4Ptsh2YhvWgRUglLl3p7Jkk0P iYohNcoB3RaBsDpGwBnuSOkdJ1p5xhNxuwzNoijZiQ/YxwbCjHyZ428rPLo1dj4oYAUo7o elJKdcYBVGQE0HsexlZbOiCeWQn2ntMgqpH4o4yYBgsTQfTtzMFkj9d4pgvhHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tCq1xBqHtQ+CONhZpTjqekUovU3oJp6mp/iI+ooiL9o=; b=XVEjyvFUWRDvzh5fAqdHX4Y4fUiBAbiPwK3TZbOMv46R+DCLbY3uZ2m5lwpTPPt9KW3ISN PJoqwPQoL1xs83/aHqyhYlk7pFBaUuT/XVUMv12gVxy0W2epwNQYhoYXD/1EpV5wCw2WHc fB1QQi3yhAROKnnrjiPJLp1RLdKlxuNN/usflzkE3nFOZh9EFH9ejCCj3J6bwO8UwhpqVC acwOjjbt8USr7dDtWVZ98oevYuQBVfiTeudqzVR0gO4fxxp/VdWTluk9HiUx9jxQyJVD4E rfmtU9Au7OqyXYdSzu+5haWr6hzH4gzESAGX7gbol0wFQCe4sT/4jrmWOJ1J0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616625; a=rsa-sha256; cv=none; b=CZcYTWBLl9c+k1cQsi0UZ1uWfexFOt6eXGWv8n0/U5C6edvbj6NYJF5zdKXwKR2L9Shfvx JO0DVscf2B+bQmsv6xNJjy80zQnHp6XE929n70YXyV6/DLXDz5IwvR15oiKMv/HP2mjWPf fGTo9BDv6hmCYy/8IwzpOYtkEHHYZSan6ndIldP86k9CXYY/k79D7W40/BR64k4RgV/KTF fk4c2js6h54clmdexcEtW9rydoCIs2a2JfcheNiu9pkW+hVWd9nn2UGlvFBoRNy+k7xR6W jPcpARtubHh///IpoVXdt7vIbf0Lc1gyBjCwnwHmU5yStjxw4u+BrLs0pse4Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67h657yz4DJ; Thu, 11 Sep 2025 18:50: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 58BIoOmZ092976; Thu, 11 Sep 2025 18:50:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoOXd092973; Thu, 11 Sep 2025 18:50:24 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:24 GMT Message-Id: <202509111850.58BIoOXd092973@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: d9412b5fff91 - stable/14 - flua: fbsd: return a process handle to operate on when we exec() List-Id: Commits to the stable branches 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: d9412b5fff915aa4d0c21d863a1a6d2e08bafbb0 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d9412b5fff915aa4d0c21d863a1a6d2e08bafbb0 commit d9412b5fff915aa4d0c21d863a1a6d2e08bafbb0 Author: Kyle Evans AuthorDate: 2025-07-09 05:12:31 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:59 +0000 flua: fbsd: return a process handle to operate on when we exec() This gives us some way to be able to write to stdin if we want to, or as a future improvement, will allow us to extract stdout from the process. The handle is setup to close and waitpid() on close/gc so that existing users wouldn't necessarily leak for the lifetime of the script if they weren't adopted to the new model. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D50538 (cherry picked from commit 6a2c624b35a0c760b00b9a34c10b7ea0c240c677) --- libexec/flua/modules/lfbsd.c | 94 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 8 deletions(-) diff --git a/libexec/flua/modules/lfbsd.c b/libexec/flua/modules/lfbsd.c index 6279474f8388..a361fa25601b 100644 --- a/libexec/flua/modules/lfbsd.c +++ b/libexec/flua/modules/lfbsd.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright 2023 Baptiste Daroussin + * Copyright (C) 2025 Kyle Evans * * Redistribution and use in source and binary forms, with or without * modification, are permitted providing that the following conditions~ @@ -38,6 +39,13 @@ #include "lauxlib.h" #include "lfbsd.h" +#define FBSD_PROCESSHANDLE "fbsd_process_t*" + +struct fbsd_process { + int pid; + int stdin_fileno; +}; + extern char **environ; static const char** @@ -65,7 +73,8 @@ luaL_checkarraystrings(lua_State *L, int arg) static int lua_exec(lua_State *L) { - int r, pstat; + struct fbsd_process *proc; + int r; posix_spawn_file_actions_t action; int stdin_pipe[2] = {-1, -1}; pid_t pid; @@ -81,6 +90,9 @@ lua_exec(lua_State *L) return (3); } + proc = lua_newuserdata(L, sizeof(*proc)); + proc->stdin_fileno = stdin_pipe[1]; + posix_spawn_file_actions_init(&action); posix_spawn_file_actions_adddup2(&action, stdin_pipe[0], STDIN_FILENO); posix_spawn_file_actions_addclose(&action, stdin_pipe[1]); @@ -91,6 +103,7 @@ lua_exec(lua_State *L) close(stdin_pipe[0]); close(stdin_pipe[1]); posix_spawn_file_actions_destroy(&action); + lua_pop(L, 2); /* Pop off the process handle and args. */ lua_pushnil(L); lua_pushstring(L, strerror(r)); @@ -98,12 +111,26 @@ lua_exec(lua_State *L) return (3); } + lua_pop(L, 1); + close(stdin_pipe[0]); posix_spawn_file_actions_destroy(&action); - while (waitpid(pid, &pstat, 0) == -1) { - if (errno != EINTR) { - close(stdin_pipe[1]); + proc->pid = pid; + luaL_setmetatable(L, FBSD_PROCESSHANDLE); + + return 1; +} + +static int +lua_process_close(lua_State *L) +{ + struct fbsd_process *proc; + int pstat, r; + + proc = luaL_checkudata(L, 1, FBSD_PROCESSHANDLE); + while (waitpid(proc->pid, &pstat, 0) == -1) { + if ((r = errno) != EINTR) { lua_pushnil(L); lua_pushstring(L, strerror(r)); lua_pushinteger(L, r); @@ -111,18 +138,60 @@ lua_exec(lua_State *L) } } - if (WEXITSTATUS(pstat) != 0) { + if (!WIFEXITED(pstat) || WEXITSTATUS(pstat) != 0) { lua_pushnil(L); lua_pushstring(L, "Abnormal termination"); + return (2); + } + + if (proc->stdin_fileno >= 0) + close(proc->stdin_fileno); + proc->stdin_fileno = -1; + + lua_pushboolean(L, 1); + return 1; +} + +static int +lua_process_stdin(lua_State *L) +{ + struct fbsd_process *proc; + luaL_Stream *p; + FILE *fp; + int r; + + proc = luaL_checkudata(L, 1, FBSD_PROCESSHANDLE); + fp = fdopen(proc->stdin_fileno, "w"); + if (fp == NULL) { + r = errno; + + lua_pushnil(L); + lua_pushstring(L, strerror(r)); lua_pushinteger(L, r); return (3); } - close(stdin_pipe[1]); - lua_pushinteger(L, pid); - return 1; + p = lua_newuserdata(L, sizeof(*p)); + p->closef = &lua_process_close; + p->f = fp; + luaL_setmetatable(L, LUA_FILEHANDLE); + return (1); } +#define PROCESS_SIMPLE(n) { #n, lua_process_ ## n } +static const struct luaL_Reg fbsd_process[] = { + PROCESS_SIMPLE(close), + PROCESS_SIMPLE(stdin), + { NULL, NULL }, +}; + +static const struct luaL_Reg fbsd_process_meta[] = { + { "__index", NULL }, + { "__gc", lua_process_close }, + { "__close", lua_process_close }, + { NULL, NULL }, +}; + #define REG_SIMPLE(n) { #n, lua_ ## n } static const struct luaL_Reg fbsd_lib[] = { REG_SIMPLE(exec), @@ -134,5 +203,14 @@ int luaopen_fbsd(lua_State *L) { luaL_newlib(L, fbsd_lib); + + luaL_newmetatable(L, FBSD_PROCESSHANDLE); + luaL_setfuncs(L, fbsd_process_meta, 0); + + luaL_newlibtable(L, fbsd_process); + luaL_setfuncs(L, fbsd_process, 0); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + return (1); } From nobody Thu Sep 11 18:50:26 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67l306pz67HrR; Thu, 11 Sep 2025 18:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67l15Vvz3h5N; Thu, 11 Sep 2025 18:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jhk6lhoFpgYdrD/nFyEDDDjQqx5sQS7KDbthf6LuJjw=; b=s7kS50Oek9cTsulgxXJ61VW3dNMkFS/NvzDLD4zj5iHLPjt1ssScaYyOZFONwquY/rtx/+ Bx51SyYWHIQokNPPprqYmU1J7CqIw8T8atRuGFaiqCg7e+AbG5Ac6FsHGkQ3Djf5As5s23 opvJBS3rQ0dgds+ORpbMpvHuYaHJp6xiyV81PujmUx8YOkjRoeHUFCnXUARGPzL1YGzpv0 EmMv4GFOXnq94PIFqEyE09Kl7eG/WjEeils2v1ooVY1L4bZfQskSjtVNgNnognv4ghzYGJ 3odQFsD74gPzlKv9hNKVMmpzIVw/VF2UJPSGW6VD9xo7u3ngIQlq9fLlH0y9BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jhk6lhoFpgYdrD/nFyEDDDjQqx5sQS7KDbthf6LuJjw=; b=UtgKQ3XZ+BJq/1k5SOapRuNF9ZFk4thVYfarzILxYCTh+7bQcKBS2EH8Ijszw0BnNR0Ppi Q/lkFG8hf8AjnmiTiMNYUyMYDf6RpywK0DkoeoTgcISkDz5aBZ+J7qOU4jGs7Qv/FmEAGw QXggouL0SmRg3j+tjTf1C0o6wa7z2kIgAlB4VxG2RL7UyJ0kbofR3nGxwBu2XCyP21v1D9 dRe2H1NakeuXDgS1+3rINC135Ru8W9x4pMHJGBrY2gUfhlzjPggDMZ8ovFhCEljC7L8nE9 iHczyih6gsxuRV3TOikTbGoJVhwmUnyue5hoQSRwPOw1FhRx6d5rCIsAL1qDqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616627; a=rsa-sha256; cv=none; b=DBG/LKvRk4GzhadSqMlYuBqzdYPSZ1vl+NtDQutrg9h1QK4FF0H3OYJYCODw6tjXFMCcMb 0qsdrJIi1uiSKmKRBVv+17Z3voY/XwK/O8ecIXPr5OPNg5H3v3ZHlpkAJltIaydDAzS+Et bJ2UkowAktoRuyr8TW/hJGRG9mCZdTOxvW6owcOOBd8dxMWAVuqB77o21Y0UKVs0OJ/knO z0lYWMOr30BFyypDbeTnDcC3URrmJzU9CDXsCqIVZIh9Y1xYVBYgKrVOESs5AEkVfGX+St D3mKTqoC97AgdIeo/N5D5vKecm2yRlgd6b3SFvbb/M81G7YcSEcOjmn8EDmJ0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67l0Jrcz48K; Thu, 11 Sep 2025 18:50: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 58BIoQT7093043; Thu, 11 Sep 2025 18:50:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoQP8093040; Thu, 11 Sep 2025 18:50:26 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:26 GMT Message-Id: <202509111850.58BIoQP8093040@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: 527027da391d - stable/14 - jail: Add meta and env parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 527027da391d9ab75530927076f336330834dc11 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=527027da391d9ab75530927076f336330834dc11 commit 527027da391d9ab75530927076f336330834dc11 Author: Igor Ostapenko AuthorDate: 2025-03-31 09:08:43 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:59 +0000 jail: Add meta and env parameters Each one is an arbitrary string associated with a jail. It can be set upon jail creation or added/modified later: > jail -cm ... meta="tag1=value1 tag2=value2" env="configuration" The values are not inherited from the parent jail. A parent jail can read both metadata parameters, while a child jail can read only env via security.jail.env sysctl. The maximum size of meta or env per jail is controlled by the global security.jail.meta_maxbufsize sysctl. Decreasing it does not alter the existing meta information. Each metadata buffer can be handled as a set of key=value\n strings: > jail -cm ... meta="$(echo k1=v1; echo k2=v2)" env.1=one > jls meta.k2 env.1 meta.k1 While meta.k1= resets the value to an empty string, the meta.k1 without the equal sign removes the given key. Relnotes: yes Reviewed by: jamie Tested by: dch Sponsored by: SkunkWerks GmbH Differential Revision: https://reviews.freebsd.org/D47668 (cherry picked from commit 30e6e008bc06385a66756bebb41676f4f9017eca) --- lib/libjail/jail.c | 84 +++++- lib/libjail/jail.h | 1 + libexec/flua/libjail/lua_jail.c | 16 +- sys/conf/files | 1 + sys/kern/kern_jail.c | 11 +- sys/kern/kern_jailmeta.c | 621 ++++++++++++++++++++++++++++++++++++++++ sys/sys/jail.h | 4 + tests/sys/kern/Makefile | 1 + tests/sys/kern/jailmeta.sh | 588 +++++++++++++++++++++++++++++++++++++ usr.sbin/jail/jail.8 | 36 +++ usr.sbin/jls/jls.c | 8 + 11 files changed, 1351 insertions(+), 20 deletions(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index 2af210ebb198..030f75a3476a 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -60,6 +60,7 @@ static int jailparam_type(struct jailparam *jp); static int kldload_param(const char *name); static char *noname(const char *name); static char *nononame(const char *name); +static char *kvname(const char *name); char jail_errmsg[JAIL_ERRMSGLEN]; @@ -522,6 +523,11 @@ jailparam_set(struct jailparam *jp, unsigned njp, int flags) jiov[i - 1].iov_len = strlen(nname) + 1; } + } else if (jp[j].jp_flags & JP_KEYVALUE && + jp[j].jp_value == NULL) { + /* No value means key removal. */ + jiov[i].iov_base = NULL; + jiov[i].iov_len = 0; } else { /* * Try to fill in missing values with an empty string. @@ -908,22 +914,41 @@ jailparam_type(struct jailparam *jp) * the "no" counterpart to a boolean. */ nname = nononame(name); - if (nname == NULL) { - unknown_parameter: - snprintf(jail_errmsg, JAIL_ERRMSGLEN, - "unknown parameter: %s", jp->jp_name); - errno = ENOENT; - return (-1); + if (nname != NULL) { + snprintf(desc.s, sizeof(desc.s), SJPARAM ".%s", nname); + miblen = sizeof(mib) - 2 * sizeof(int); + if (sysctl(mib, 2, mib + 2, &miblen, desc.s, + strlen(desc.s)) >= 0) { + name = alloca(strlen(nname) + 1); + strcpy(name, nname); + free(nname); + jp->jp_flags |= JP_NOBOOL; + goto mib_desc; + } + free(nname); } - name = alloca(strlen(nname) + 1); - strcpy(name, nname); - free(nname); - snprintf(desc.s, sizeof(desc.s), SJPARAM ".%s", name); - miblen = sizeof(mib) - 2 * sizeof(int); - if (sysctl(mib, 2, mib + 2, &miblen, desc.s, - strlen(desc.s)) < 0) - goto unknown_parameter; - jp->jp_flags |= JP_NOBOOL; + /* + * It might be an assumed sub-node of a fmt='A,keyvalue' sysctl. + */ + nname = kvname(name); + if (nname != NULL) { + snprintf(desc.s, sizeof(desc.s), SJPARAM ".%s", nname); + miblen = sizeof(mib) - 2 * sizeof(int); + if (sysctl(mib, 2, mib + 2, &miblen, desc.s, + strlen(desc.s)) >= 0) { + name = alloca(strlen(nname) + 1); + strcpy(name, nname); + free(nname); + jp->jp_flags |= JP_KEYVALUE; + goto mib_desc; + } + free(nname); + } +unknown_parameter: + snprintf(jail_errmsg, JAIL_ERRMSGLEN, + "unknown parameter: %s", jp->jp_name); + errno = ENOENT; + return (-1); } mib_desc: mib[1] = 4; @@ -944,6 +969,12 @@ jailparam_type(struct jailparam *jp) else if ((desc.i & CTLTYPE) != CTLTYPE_NODE) goto unknown_parameter; } + /* Make sure it is a valid keyvalue param. */ + if (jp->jp_flags & JP_KEYVALUE) { + if ((desc.i & CTLTYPE) != CTLTYPE_STRING || + strcmp(desc.s, "A,keyvalue") != 0) + goto unknown_parameter; + } /* See if this is an array type. */ p = strchr(desc.s, '\0'); isarray = 0; @@ -1120,3 +1151,26 @@ nononame(const char *name) strcpy(nname, name + 2); return (nname); } + +static char * +kvname(const char *name) +{ + const char *p; + char *kvname; + size_t len; + + p = strchr(name, '.'); + if (p == NULL) + return (NULL); + + len = p - name; + kvname = malloc(len + 1); + if (kvname == NULL) { + strerror_r(errno, jail_errmsg, JAIL_ERRMSGLEN); + return (NULL); + } + strncpy(kvname, name, len); + kvname[len] = '\0'; + + return (kvname); +} diff --git a/lib/libjail/jail.h b/lib/libjail/jail.h index 27f07cd98802..6ce79b1b0528 100644 --- a/lib/libjail/jail.h +++ b/lib/libjail/jail.h @@ -33,6 +33,7 @@ #define JP_BOOL 0x02 #define JP_NOBOOL 0x04 #define JP_JAILSYS 0x08 +#define JP_KEYVALUE 0x10 #define JAIL_ERRMSGLEN 1024 diff --git a/libexec/flua/libjail/lua_jail.c b/libexec/flua/libjail/lua_jail.c index b463f5c894ee..7345034aa5f3 100644 --- a/libexec/flua/libjail/lua_jail.c +++ b/libexec/flua/libjail/lua_jail.c @@ -446,9 +446,16 @@ l_getparams(lua_State *L) for (size_t i = 0; i < params_count; ++i) { char *value; - value = jailparam_export(¶ms[i]); - lua_pushstring(L, value); - free(value); + if (params[i].jp_flags & JP_KEYVALUE && + params[i].jp_valuelen == 0) { + /* Communicate back a missing key. */ + lua_pushnil(L); + } else { + value = jailparam_export(¶ms[i]); + lua_pushstring(L, value); + free(value); + } + lua_setfield(L, -2, params[i].jp_name); } @@ -536,7 +543,8 @@ l_setparams(lua_State *L) } value = lua_tostring(L, -1); - if (value == NULL) { + /* Allow passing NULL for key removal. */ + if (value == NULL && !(params[i].jp_flags & JP_KEYVALUE)) { jailparam_free(params, i + 1); free(params); return (luaL_argerror(L, 2, diff --git a/sys/conf/files b/sys/conf/files index 30559540a5c0..66d2916ed174 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3772,6 +3772,7 @@ kern/kern_hhook.c standard kern/kern_idle.c standard kern/kern_intr.c standard kern/kern_jail.c standard +kern/kern_jailmeta.c standard kern/kern_kcov.c optional kcov \ compile-with "${NORMAL_C:N-fsanitize*} ${NORMAL_C:M-fsanitize=kernel-memory}" kern/kern_khelp.c standard diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 0af1bcd775d0..c449aba9b56a 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -2519,6 +2519,15 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) /* By now, all parameters should have been noted. */ TAILQ_FOREACH(opt, opts, link) { + if (!opt->seen && + (strstr(opt->name, JAIL_META_PRIVATE ".") == opt->name || + strstr(opt->name, JAIL_META_SHARED ".") == opt->name)) { + /* Communicate back a missing key. */ + free(opt->value, M_MOUNT); + opt->value = NULL; + opt->len = 0; + continue; + } if (!opt->seen && strcmp(opt->name, "errmsg")) { error = EINVAL; vfs_opterror(opts, "unknown parameter: %s", opt->name); @@ -4213,7 +4222,7 @@ prison_path(struct prison *pr1, struct prison *pr2) /* * Jail-related sysctls. */ -static SYSCTL_NODE(_security, OID_AUTO, jail, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, +SYSCTL_NODE(_security, OID_AUTO, jail, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Jails"); #if defined(INET) || defined(INET6) diff --git a/sys/kern/kern_jailmeta.c b/sys/kern/kern_jailmeta.c new file mode 100644 index 000000000000..4e37eccad03a --- /dev/null +++ b/sys/kern/kern_jailmeta.c @@ -0,0 +1,621 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 SkunkWerks GmbH + * + * This software was developed by Igor Ostapenko + * under sponsorship from SkunkWerks GmbH. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Buffer limit. + * + * The hard limit is the actual value used during setting or modification. The + * soft limit is used solely by the security.jail.param.meta and .env sysctl. If + * the hard limit is decreased, the soft limit may remain higher to ensure that + * previously set meta strings can still be correctly interpreted by end-user + * interfaces, such as jls(8). + */ + +static uint32_t jm_maxbufsize_hard = 4096; +static uint32_t jm_maxbufsize_soft = 4096; + +static int +jm_sysctl_meta_maxbufsize(SYSCTL_HANDLER_ARGS) +{ + int error; + uint32_t newmax = 0; + + /* Reading only. */ + + if (req->newptr == NULL) { + sx_slock(&allprison_lock); + error = SYSCTL_OUT(req, &jm_maxbufsize_hard, + sizeof(jm_maxbufsize_hard)); + sx_sunlock(&allprison_lock); + + return (error); + } + + /* Reading and writing. */ + + sx_xlock(&allprison_lock); + + error = SYSCTL_OUT(req, &jm_maxbufsize_hard, + sizeof(jm_maxbufsize_hard)); + if (error != 0) + goto end; + + error = SYSCTL_IN(req, &newmax, sizeof(newmax)); + if (error != 0) + goto end; + + jm_maxbufsize_hard = newmax; + if (jm_maxbufsize_hard >= jm_maxbufsize_soft) { + jm_maxbufsize_soft = jm_maxbufsize_hard; + } else if (TAILQ_EMPTY(&allprison)) { + /* + * For now, this is the simplest way to + * avoid O(n) iteration over all prisons in + * case of a large n. + */ + jm_maxbufsize_soft = jm_maxbufsize_hard; + } + +end: + sx_xunlock(&allprison_lock); + return (error); +} +SYSCTL_PROC(_security_jail, OID_AUTO, meta_maxbufsize, + CTLTYPE_U32 | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, + jm_sysctl_meta_maxbufsize, "IU", + "Maximum buffer size of each meta and env"); + + +/* Jail parameter announcement. */ + +static int +jm_sysctl_param_meta(SYSCTL_HANDLER_ARGS) +{ + uint32_t soft; + + sx_slock(&allprison_lock); + soft = jm_maxbufsize_soft; + sx_sunlock(&allprison_lock); + + return (sysctl_jail_param(oidp, arg1, soft, req)); +} +SYSCTL_PROC(_security_jail_param, OID_AUTO, meta, + CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, + jm_sysctl_param_meta, "A,keyvalue", + "Jail meta information hidden from the jail"); +SYSCTL_PROC(_security_jail_param, OID_AUTO, env, + CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, + jm_sysctl_param_meta, "A,keyvalue", + "Jail meta information readable by the jail"); + + +/* Generic OSD-based logic for any metadata buffer. */ + +struct meta { + char *name; + u_int osd_slot; + osd_method_t methods[PR_MAXMETHOD]; +}; + +/* A chain of hunks representing the final buffer after all manipulations. */ +struct hunk { + char *p; /* a buf reference */ + size_t len; /* number of bytes referred */ + char *owned; /* must be freed */ + struct hunk *next; +}; + +static inline struct hunk * +jm_h_alloc(void) +{ + /* All fields are zeroed. */ + return (malloc(sizeof(struct hunk), M_PRISON, M_WAITOK | M_ZERO)); +} + +static inline struct hunk * +jm_h_prepend(struct hunk *h, char *p, size_t len) +{ + struct hunk *n; + + n = jm_h_alloc(); + n->p = p; + n->len = len; + n->next = h; + return (n); +} + +static inline void +jm_h_cut_line(struct hunk *h, char *begin) +{ + struct hunk *rem; + char *end; + + /* Find the end of key=value. */ + for (end = begin; (end + 1) < (h->p + h->len); end++) + if (*end == '\0' || *end == '\n') + break; + + /* Pick up a non-empty remainder. */ + if ((end + 1) < (h->p + h->len) && *(end + 1) != '\0') { + rem = jm_h_alloc(); + rem->p = end + 1; + rem->len = h->p + h->len - rem->p; + + /* insert */ + rem->next = h->next; + h->next = rem; + } + + /* Shorten this hunk. */ + h->len = begin - h->p; +} + +static inline void +jm_h_cut_occurrences(struct hunk *h, const char *key, size_t keylen) +{ + char *p = h->p; + +#define nexthunk() \ + do { \ + h = h->next; \ + p = (h == NULL) ? NULL : h->p; \ + } while (0) + + while (p != NULL) { + p = strnstr(p, key, h->len - (p - h->p)); + if (p == NULL) { + nexthunk(); + continue; + } + if ((p == h->p || *(p - 1) == '\n') && p[keylen] == '=') { + jm_h_cut_line(h, p); + nexthunk(); + continue; + } + /* Continue with this hunk. */ + p += keylen; + /* Empty? The next hunk then. */ + if ((p - h->p) >= h->len) + nexthunk(); + } +} + +static inline size_t +jm_h_len(struct hunk *h) +{ + size_t len = 0; + while (h != NULL) { + len += h->len; + h = h->next; + } + return (len); +} + +static inline void +jm_h_assemble(char *dst, struct hunk *h) +{ + while (h != NULL) { + if (h->len > 0) { + memcpy(dst, h->p, h->len); + dst += h->len; + /* If not the last hunk then concatenate with \n. */ + if (h->next != NULL && *(dst - 1) == '\0') + *(dst - 1) = '\n'; + } + h = h->next; + } +} + +static inline struct hunk * +jm_h_freechain(struct hunk *h) +{ + struct hunk *n = h; + while (n != NULL) { + h = n; + n = h->next; + free(h->owned, M_PRISON); + free(h, M_PRISON); + } + + return (NULL); +} + +static int +jm_osd_method_set(void *obj, void *data, const struct meta *meta) +{ + struct prison *pr = obj; + struct vfsoptlist *opts = data; + struct vfsopt *opt; + + char *origosd; + char *origosd_copy; + char *oldosd; + char *osd; + size_t osdlen; + struct hunk *h; + char *key; + size_t keylen; + int error; + int repeats = 0; + bool repeat; + + sx_assert(&allprison_lock, SA_XLOCKED); + +again: + origosd = NULL; + origosd_copy = NULL; + osd = NULL; + h = NULL; + error = 0; + repeat = false; + TAILQ_FOREACH(opt, opts, link) { + /* Look for options with prefix. */ + if (strstr(opt->name, meta->name) != opt->name) + continue; + /* Consider only full or .* ones. */ + if (opt->name[strlen(meta->name)] != '.' && + opt->name[strlen(meta->name)] != '\0') + continue; + opt->seen = 1; + + /* The very first preconditions. */ + if (opt->len < 0) + continue; + if (opt->len > jm_maxbufsize_hard) { + error = EFBIG; + break; + } + /* NULL-terminated strings are expected from vfsopt. */ + if (opt->value != NULL && + ((char *)opt->value)[opt->len - 1] != '\0') { + error = EINVAL; + break; + } + + /* Work with our own copy of existing metadata. */ + if (h == NULL) { + h = jm_h_alloc(); /* zeroed */ + mtx_lock(&pr->pr_mtx); + origosd = osd_jail_get(pr, meta->osd_slot); + if (origosd != NULL) { + origosd_copy = malloc(strlen(origosd) + 1, + M_PRISON, M_NOWAIT); + if (origosd_copy == NULL) + error = ENOMEM; + else { + h->p = origosd_copy; + h->len = strlen(origosd) + 1; + memcpy(h->p, origosd, h->len); + } + } + mtx_unlock(&pr->pr_mtx); + if (error != 0) + break; + } + + /* 1) Change the whole metadata. */ + if (strcmp(opt->name, meta->name) == 0) { + if (opt->len > jm_maxbufsize_hard) { + error = EFBIG; + break; + } + h = jm_h_freechain(h); + h = jm_h_prepend(h, + (opt->value != NULL) ? opt->value : "", + /* avoid empty NULL-terminated string */ + (opt->len > 1) ? opt->len : 0); + continue; + } + + /* 2) Or add/replace/remove a specific key=value. */ + key = opt->name + strlen(meta->name) + 1; + keylen = strlen(key); + if (keylen < 1) { + error = EINVAL; + break; + } + jm_h_cut_occurrences(h, key, keylen); + if (opt->value == NULL) + continue; /* key removal */ + h = jm_h_prepend(h, NULL, 0); + h->len = keylen + 1 + opt->len; /* key=value\0 */ + h->owned = malloc(h->len, M_PRISON, M_WAITOK | M_ZERO); + h->p = h->owned; + memcpy(h->p, key, keylen); + h->p[keylen] = '='; + memcpy(h->p + keylen + 1, opt->value, opt->len); + } + + if (h == NULL || error != 0) + goto end; + + /* Assemble the final contiguous buffer. */ + osdlen = jm_h_len(h); + if (osdlen > jm_maxbufsize_hard) { + error = EFBIG; + goto end; + } + if (osdlen > 1) { + osd = malloc(osdlen, M_PRISON, M_WAITOK); + jm_h_assemble(osd, h); + osd[osdlen - 1] = '\0'; /* sealed */ + } + + /* Compare and swap the buffers. */ + mtx_lock(&pr->pr_mtx); + oldosd = osd_jail_get(pr, meta->osd_slot); + if (oldosd == origosd) { + error = osd_jail_set(pr, meta->osd_slot, osd); + } else { + /* + * The osd(9) framework requires protection only for pr_osd, + * which is covered by pr_mtx. Therefore, other code might + * legally alter jail metadata without allprison_lock. It + * means that here we could override data just added by other + * thread. This extra caution with retry mechanism aims to + * prevent user data loss in such potential cases. + */ + error = EAGAIN; + repeat = true; + } + mtx_unlock(&pr->pr_mtx); + if (error == 0) + osd = oldosd; + +end: + jm_h_freechain(h); + free(osd, M_PRISON); + free(origosd_copy, M_PRISON); + + if (repeat && ++repeats < 3) + goto again; + + return (error); +} + +static int +jm_osd_method_get(void *obj, void *data, const struct meta *meta) +{ + struct prison *pr = obj; + struct vfsoptlist *opts = data; + struct vfsopt *opt; + char *osd = NULL; + char empty = '\0'; + int error = 0; + bool locked = false; + const char *key; + size_t keylen; + const char *p; + + sx_assert(&allprison_lock, SA_SLOCKED); + + TAILQ_FOREACH(opt, opts, link) { + if (strstr(opt->name, meta->name) != opt->name) + continue; + if (opt->name[strlen(meta->name)] != '.' && + opt->name[strlen(meta->name)] != '\0') + continue; + + if (!locked) { + mtx_lock(&pr->pr_mtx); + locked = true; + osd = osd_jail_get(pr, meta->osd_slot); + if (osd == NULL) + osd = ∅ + } + + /* Provide full metadata. */ + if (strcmp(opt->name, meta->name) == 0) { + if (strlcpy(opt->value, osd, opt->len) >= opt->len) { + error = EINVAL; + break; + } + opt->seen = 1; + continue; + } + + /* Extract a specific key=value. */ + p = osd; + key = opt->name + strlen(meta->name) + 1; + keylen = strlen(key); + while ((p = strstr(p, key)) != NULL) { + if ((p == osd || *(p - 1) == '\n') + && p[keylen] == '=') { + if (strlcpy(opt->value, p + keylen + 1, + MIN(opt->len, strchr(p + keylen + 1, '\n') - + (p + keylen + 1) + 1)) >= opt->len) { + error = EINVAL; + break; + } + opt->seen = 1; + } + p += keylen; + } + if (error != 0) + break; + } + + if (locked) + mtx_unlock(&pr->pr_mtx); + + return (error); +} + +static int +jm_osd_method_check(void *obj __unused, void *data, const struct meta *meta) +{ + struct vfsoptlist *opts = data; + struct vfsopt *opt; + + TAILQ_FOREACH(opt, opts, link) { + if (strstr(opt->name, meta->name) != opt->name) + continue; + if (opt->name[strlen(meta->name)] != '.' && + opt->name[strlen(meta->name)] != '\0') + continue; + opt->seen = 1; + } + + return (0); +} + +static void +jm_osd_destructor(void *osd) +{ + free(osd, M_PRISON); +} + + +/* OSD for "meta" param */ + +static struct meta meta; + +static inline int +jm_osd_method_set_meta(void *obj, void *data) +{ + return (jm_osd_method_set(obj, data, &meta)); +} + +static inline int +jm_osd_method_get_meta(void *obj, void *data) +{ + return (jm_osd_method_get(obj, data, &meta)); +} + +static inline int +jm_osd_method_check_meta(void *obj, void *data) +{ + return (jm_osd_method_check(obj, data, &meta)); +} + +static struct meta meta = { + .name = JAIL_META_PRIVATE, + .osd_slot = 0, + .methods = { + [PR_METHOD_SET] = jm_osd_method_set_meta, + [PR_METHOD_GET] = jm_osd_method_get_meta, + [PR_METHOD_CHECK] = jm_osd_method_check_meta, + } +}; + + +/* OSD for "env" param */ + +static struct meta env; + +static inline int +jm_osd_method_set_env(void *obj, void *data) +{ + return (jm_osd_method_set(obj, data, &env)); +} + +static inline int +jm_osd_method_get_env(void *obj, void *data) +{ + return (jm_osd_method_get(obj, data, &env)); +} + +static inline int +jm_osd_method_check_env(void *obj, void *data) +{ + return (jm_osd_method_check(obj, data, &env)); +} + +static struct meta env = { + .name = JAIL_META_SHARED, + .osd_slot = 0, + .methods = { + [PR_METHOD_SET] = jm_osd_method_set_env, + [PR_METHOD_GET] = jm_osd_method_get_env, + [PR_METHOD_CHECK] = jm_osd_method_check_env, + } +}; + + +/* A jail can read its "env". */ + +static int +jm_sysctl_env(SYSCTL_HANDLER_ARGS) +{ + struct prison *pr; + char empty = '\0'; + char *tmpbuf; + size_t outlen; + int error = 0; + + pr = req->td->td_ucred->cr_prison; + + mtx_lock(&pr->pr_mtx); + arg1 = osd_jail_get(pr, env.osd_slot); + if (arg1 == NULL) { + tmpbuf = ∅ + outlen = 1; + } else { + outlen = strlen(arg1) + 1; + if (req->oldptr != NULL) { + tmpbuf = malloc(outlen, M_PRISON, M_NOWAIT); + error = (tmpbuf == NULL) ? ENOMEM : 0; + if (error == 0) + memcpy(tmpbuf, arg1, outlen); + } + } + mtx_unlock(&pr->pr_mtx); + + if (error != 0) + return (error); + + if (req->oldptr == NULL) + SYSCTL_OUT(req, NULL, outlen); + else { + SYSCTL_OUT(req, tmpbuf, outlen); + if (tmpbuf != &empty) + free(tmpbuf, M_PRISON); + } + + return (error); +} +SYSCTL_PROC(_security_jail, OID_AUTO, env, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + 0, 0, jm_sysctl_env, "A", "Meta information provided by parent jail"); + + +/* Setup and tear down. */ + +static int +jm_sysinit(void *arg __unused) +{ + meta.osd_slot = osd_jail_register(jm_osd_destructor, meta.methods); + env.osd_slot = osd_jail_register(jm_osd_destructor, env.methods); + + return (0); +} + +static int +jm_sysuninit(void *arg __unused) +{ + osd_jail_deregister(meta.osd_slot); + osd_jail_deregister(env.osd_slot); + + return (0); +} + +SYSINIT(jailmeta, SI_SUB_DRIVERS, SI_ORDER_ANY, jm_sysinit, NULL); +SYSUNINIT(jailmeta, SI_SUB_DRIVERS, SI_ORDER_ANY, jm_sysuninit, NULL); diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 6701587f82cb..0291d99ec5af 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -141,6 +141,9 @@ MALLOC_DECLARE(M_PRISON); #define DEFAULT_HOSTUUID "00000000-0000-0000-0000-000000000000" #define OSRELEASELEN 32 +#define JAIL_META_PRIVATE "meta" +#define JAIL_META_SHARED "env" + struct racct; struct prison_racct; @@ -374,6 +377,7 @@ extern struct sx allprison_lock; /* * Sysctls to describe jail parameters. */ +SYSCTL_DECL(_security_jail); SYSCTL_DECL(_security_jail_param); #define SYSCTL_JAIL_PARAM_DECL(name) \ diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index ba53e8ffe40d..1e33430e84fd 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -58,6 +58,7 @@ ATF_TESTS_C+= sigsys TEST_METADATA.sigsys+= is_exclusive="true" ATF_TESTS_SH+= coredump_phnum_test +ATF_TESTS_SH+= jailmeta ATF_TESTS_SH+= sonewconn_overflow TEST_METADATA.sonewconn_overflow+= required_programs="python" TEST_METADATA.sonewconn_overflow+= required_user="root" diff --git a/tests/sys/kern/jailmeta.sh b/tests/sys/kern/jailmeta.sh new file mode 100644 index 000000000000..9a63f958231f --- /dev/null +++ b/tests/sys/kern/jailmeta.sh @@ -0,0 +1,588 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 SkunkWerks GmbH +# +# This software was developed by Igor Ostapenko +# under sponsorship from SkunkWerks GmbH. +# + +setup() +{ + # Check if we have enough buffer space for testing + if [ $(sysctl -n security.jail.meta_maxbufsize) -lt 128 ]; then + atf_skip "sysctl security.jail.meta_maxbufsize must be 128+ for testing." + fi +} + +atf_test_case "jail_create" "cleanup" +jail_create_head() +{ + atf_set descr 'Test that metadata can be set upon jail creation with jail(8)' + atf_set require.user root + atf_set execenv jail +} +jail_create_body() +{ + setup + + atf_check -s not-exit:0 -e match:"not found" -o ignore \ + jls -jj + + atf_check -s exit:0 \ + jail -c name=j persist meta="a b c" env="C B A" + + atf_check -s exit:0 -o inline:"a b c\n" \ + jls -jj meta + atf_check -s exit:0 -o inline:"C B A\n" \ + jls -jj env +} +jail_create_cleanup() +{ + jail -r j + return 0 +} + +atf_test_case "jail_modify" "cleanup" +jail_modify_head() +{ + atf_set descr 'Test that metadata can be modified after jail creation with jail(8)' + atf_set require.user root + atf_set execenv jail +} +jail_modify_body() +{ + setup + *** 605 LINES SKIPPED *** From nobody Thu Sep 11 18:50:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN67k4SwNz67Ht0; Thu, 11 Sep 2025 18:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN67k05Pnz3h0W; Thu, 11 Sep 2025 18:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCMyKjLVfFqv1YX4h/Drt1obNWCk243ELsV242+wHhE=; b=ZvPsZ2J96dNfjnS3eqiQclFdBvYZYHNya9C/NfaMfEq1AERECjyFY7Q4S/60AFJPXOsIcD ovaG5ZkxkCyvfAwBqAdVbwYmya3xdJeMdoSrUHfJ7UjHq/wIbLGysQZnJw8KxJRxbpfh4c p5ceAhIl64jtmdnDDs2ZlLnUIU1mbZN+8l5NJKHJgkY9MBSWcl90PdRr3N/7Ai789M01DV Uzs87jYuwDW0iMhols1lbrHmMVAKE6C4bKSYDVmr4zeDU8N08movUwP+uJhXOyRgopoEA6 jJ/R2H8/726LJVD4oZods+rCIDDBGzBsdPDT0oX/f9npZkHgLNPp4I06BgKYHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757616626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCMyKjLVfFqv1YX4h/Drt1obNWCk243ELsV242+wHhE=; b=KqHWqWyn0xyi8FuvUG+si+jQxgO3o+/bSSu572jdP0uepOD7yg5A6Llga6WyYONFtfMdKE 2Nk9vBE61V2veEW9MDCYfGhB1TW2BRuVUFlE6bZIm/+gWRXU61Qc9uYzaTJQaGUoS86/NE OcPTyrcgJfDT6qFbTLtsavzRgo8zB3lf4AWn91scPlrHooXwAyBH0YnHksLReV2j+4aaha 1GEWVbmA5/F+/gG+ghiHOxCOCDn7DFHiY3j6czehcutD4gYrQsmj8tzvbZbD4lFtk7XVuG eV31kM7a2FdiDCnieD2qXKp5aSIphTHOyJlixOaM31IZNX04ZZ1yT6tFgV4ltQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757616626; a=rsa-sha256; cv=none; b=BCHejAi0rFF0JNSYjnaLnADy7ak9rizLLAMCXVqPEt/6s4TyUR3CwIJE8yI4eBtyA+7F+a PJfSD09d3yb8Mq40okEhnaezBhuo/8RQbgn3DkySDeZrUOZJ22AUBcS31TmzFm7WB40+Xt KKSTiCXHlO+sSK5dpJwXwEYCFylKJdoRa/Jnu51Lxwb2Ry5fZvX8bLB4zJLXOjH8JxR53M IjAgChU+q70Pf3Oh4LqrlzIMb0WvLwHasKmEUGpOYe9cJjEozK67BsQOfgRja1TG6ZRbWm BAFSFbLfBAGi/QHU5aPMfSWfZgRdJwo0iSUdXR8upTvtdSQbAfV+u7hJZefgRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN67j6ltTz3l8; Thu, 11 Sep 2025 18:50: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 58BIoPlg093010; Thu, 11 Sep 2025 18:50:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BIoPYt093007; Thu, 11 Sep 2025 18:50:25 GMT (envelope-from git) Date: Thu, 11 Sep 2025 18:50:25 GMT Message-Id: <202509111850.58BIoPYt093007@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: 1522c8af3676 - stable/14 - flua: fbsd: allow stdout to be captured for exec() processes List-Id: Commits to the stable branches 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: 1522c8af3676da7fcccb3f4ba2b290a9c209623b Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1522c8af3676da7fcccb3f4ba2b290a9c209623b commit 1522c8af3676da7fcccb3f4ba2b290a9c209623b Author: Kyle Evans AuthorDate: 2025-07-09 05:12:32 +0000 Commit: Ed Maste CommitDate: 2025-09-11 15:09:59 +0000 flua: fbsd: allow stdout to be captured for exec() processes This allows us to do things like: ``` local fp = assert(fbsd.exec({"ls", "-l"}, true)) local fpout = assert(fp:stdout()) while true do local line = fpout:read("l") if not line then break end print("Read: " .. line) end fp:close() ``` The makeman lua rewrite will use it to capture `make showconfig` output for processing. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D50539 (cherry picked from commit 3f0e1092097ed63b83a02518395e370c3cac01be) --- libexec/flua/modules/lfbsd.c | 95 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 13 deletions(-) diff --git a/libexec/flua/modules/lfbsd.c b/libexec/flua/modules/lfbsd.c index a361fa25601b..ef660ba9fd77 100644 --- a/libexec/flua/modules/lfbsd.c +++ b/libexec/flua/modules/lfbsd.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -44,6 +45,7 @@ struct fbsd_process { int pid; int stdin_fileno; + int stdout_fileno; }; extern char **environ; @@ -70,6 +72,16 @@ luaL_checkarraystrings(lua_State *L, int arg) return ret; } +static void +close_pipes(int pipes[2]) +{ + + if (pipes[0] != -1) + close(pipes[0]); + if (pipes[1] != -1) + close(pipes[1]); +} + static int lua_exec(lua_State *L) { @@ -77,31 +89,57 @@ lua_exec(lua_State *L) int r; posix_spawn_file_actions_t action; int stdin_pipe[2] = {-1, -1}; + int stdout_pipe[2] = {-1, -1}; pid_t pid; const char **argv; int n = lua_gettop(L); - luaL_argcheck(L, n == 1, n > 1 ? 2 : n, - "fbsd.exec takes exactly one argument"); + bool capture_stdout; + luaL_argcheck(L, n > 0 && n <= 2, n >= 2 ? 2 : n, + "fbsd.exec takes exactly one or two arguments"); + capture_stdout = lua_toboolean(L, 2); if (pipe(stdin_pipe) < 0) { lua_pushnil(L); lua_pushstring(L, strerror(errno)); lua_pushinteger(L, errno); return (3); } + if (capture_stdout && pipe(stdout_pipe) < 0) { + close_pipes(stdin_pipe); + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } proc = lua_newuserdata(L, sizeof(*proc)); proc->stdin_fileno = stdin_pipe[1]; - + proc->stdout_fileno = stdout_pipe[1]; posix_spawn_file_actions_init(&action); posix_spawn_file_actions_adddup2(&action, stdin_pipe[0], STDIN_FILENO); posix_spawn_file_actions_addclose(&action, stdin_pipe[1]); + if (stdin_pipe[0] != STDIN_FILENO) + posix_spawn_file_actions_addclose(&action, stdin_pipe[0]); + + /* + * Setup stdout to be captured if requested. Otherwise, we just let it + * go to our own stdout. + */ + if (stdout_pipe[0] != -1) { + posix_spawn_file_actions_adddup2(&action, stdout_pipe[0], + STDOUT_FILENO); + posix_spawn_file_actions_addclose(&action, stdout_pipe[1]); + if (stdout_pipe[0] != STDOUT_FILENO) { + posix_spawn_file_actions_addclose(&action, + stdout_pipe[0]); + } + } argv = luaL_checkarraystrings(L, 1); if (0 != (r = posix_spawnp(&pid, argv[0], &action, NULL, (char*const*)argv, environ))) { - close(stdin_pipe[0]); - close(stdin_pipe[1]); + close_pipes(stdin_pipe); + close_pipes(stdout_pipe); posix_spawn_file_actions_destroy(&action); lua_pop(L, 2); /* Pop off the process handle and args. */ @@ -114,12 +152,14 @@ lua_exec(lua_State *L) lua_pop(L, 1); close(stdin_pipe[0]); + if (stdout_pipe[0] != -1) + close(stdout_pipe[0]); posix_spawn_file_actions_destroy(&action); proc->pid = pid; luaL_setmetatable(L, FBSD_PROCESSHANDLE); - return 1; + return (1); } static int @@ -144,24 +184,34 @@ lua_process_close(lua_State *L) return (2); } - if (proc->stdin_fileno >= 0) + if (proc->stdin_fileno >= 0) { close(proc->stdin_fileno); - proc->stdin_fileno = -1; + proc->stdin_fileno = -1; + } + + if (proc->stdout_fileno >= 0) { + close(proc->stdout_fileno); + proc->stdout_fileno = -1; + } lua_pushboolean(L, 1); - return 1; + return (1); } static int -lua_process_stdin(lua_State *L) +lua_process_makestdio(lua_State *L, int fd, const char *mode) { - struct fbsd_process *proc; luaL_Stream *p; FILE *fp; int r; - proc = luaL_checkudata(L, 1, FBSD_PROCESSHANDLE); - fp = fdopen(proc->stdin_fileno, "w"); + if (fd == -1) { + lua_pushnil(L); + lua_pushstring(L, "Stream not captured"); + return (2); + } + + fp = fdopen(fd, mode); if (fp == NULL) { r = errno; @@ -178,10 +228,29 @@ lua_process_stdin(lua_State *L) return (1); } +static int +lua_process_stdin(lua_State *L) +{ + struct fbsd_process *proc; + + proc = luaL_checkudata(L, 1, FBSD_PROCESSHANDLE); + return (lua_process_makestdio(L, proc->stdin_fileno, "w")); +} + +static int +lua_process_stdout(lua_State *L) +{ + struct fbsd_process *proc; + + proc = luaL_checkudata(L, 1, FBSD_PROCESSHANDLE); + return (lua_process_makestdio(L, proc->stdout_fileno, "r")); +} + #define PROCESS_SIMPLE(n) { #n, lua_process_ ## n } static const struct luaL_Reg fbsd_process[] = { PROCESS_SIMPLE(close), PROCESS_SIMPLE(stdin), + PROCESS_SIMPLE(stdout), { NULL, NULL }, }; From nobody Fri Sep 12 00:01:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNF2H5gM5z67bG0; Fri, 12 Sep 2025 00:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNF2H3RVfz3HXq; Fri, 12 Sep 2025 00:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757635271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+LmhdG3PqW9URp8CUHycvrkHKYas3TAB5+Y+3xp7774=; b=yktr5ElGH3+wBHwEPlIAe/uzMc5UcfW8qsDYqRKQtSFa8iB+fi9dEW7uOADylgd9VZx6pe baWu0g9jhWSl6Fi5GERz8KFbwXKJJd3RcEEqL+NiaEXWjiluh0REJW8gXxEw5d/uuTNr5w bpWBKoUI9E6gxo5x8yBGG+Ie7F0RBS57164OC0n3xwk7AjCdcOezj0XM3snENBHPi5+A1c aaZ0F0sLRU3k6HGJKTOnjlbXyMmbRjyD9C6JuNEh9ObJrTN3af0/lsSzN9PbLUw+OCkXjk jx19TxXhHy94NiMskf8vHouEp+5MCRsZf524Hfwn0DknOupVho611V4PEGyn0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757635271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+LmhdG3PqW9URp8CUHycvrkHKYas3TAB5+Y+3xp7774=; b=YCrkm0vju6mHJLw93K30J5WvnF+CJIU4UjRhzMlGY2m6OGuf1S1sDNCjNFzNyOswxrL5kw NdFSSzSprBQ4XX7hh5vZrTUf/dGMkwjNKkn9Zo5VLeRiNPcua14fAV4wVl5NdXlKPNoEDe ZjpxLLX0KPWw8YVyLX28ts1p0fmmZln3t8TVJpY1gXtUOxgYuQldBfPhp19BFgXNXSPM9H gjFsIXhZe5Km1WJeXyDPuzZzCWXwjHbYt/mQpYpOzIl9it5QWug9+bh13YZMPazGwthMH/ 7Tg6vW/2uEFEiDPscjPuX1/BIz24iU+I0KJfFBXH0TpP0WklRDzRxLKOnKVA3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757635271; a=rsa-sha256; cv=none; b=BTEpOiW7xU2JGujKg44zU/9ucFa5YCGNYx1f856l+Mb24pCUXHQrwyAFLIhMBIuh0ntDFM biykHATmFJrhDkj5MVLevbqZrDAmJjGc2FXvPvgCMsbjLJOhwTs+Wg/iV1sIQNLvbCkns4 2f8LmBGQajU/WACZfcMwKl6UxH12srMJ3bfi+RWopF3uKZIxrac80iH0SH8Ooarzk63/UV i7cW+I7eaa+zJxYNXBMSxT6G+Dwjjc0ebi1/QQzay70oZn3l71EOu73cBHxWc20wApgjeL zKGjnecyC4AbpsG47snFyt6R0At4fPUsfbbQsnRfJZj5mkhTtKppX2RWYxrXAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNF2H2mvGzDXX; Fri, 12 Sep 2025 00:01:11 +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 58C01Bqj078362; Fri, 12 Sep 2025 00:01:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C01B3x078359; Fri, 12 Sep 2025 00:01:11 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:01:11 GMT Message-Id: <202509120001.58C01B3x078359@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: 99cc54090e1c - stable/15 - 15.0: Update to ALPHA2 List-Id: Commits to the stable branches 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/15 X-Git-Reftype: branch X-Git-Commit: 99cc54090e1c1f2d240d3d19941363bac41f93cb Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=99cc54090e1c1f2d240d3d19941363bac41f93cb commit 99cc54090e1c1f2d240d3d19941363bac41f93cb Author: Colin Percival AuthorDate: 2025-09-12 00:00:37 +0000 Commit: Colin Percival CommitDate: 2025-09-12 00:00:37 +0000 15.0: Update to ALPHA2 Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 88f535f4800e..ea9b7b90f054 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -51,7 +51,7 @@ TYPE="FreeBSD" REVISION="15.0" -BRANCH="ALPHA1" +BRANCH="ALPHA2" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Sep 12 00:35:46 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFpC1ksNz67dR1; Fri, 12 Sep 2025 00:35: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFpC0f9kz3MXC; Fri, 12 Sep 2025 00:35:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9Fv8DAY9UjN7CoNDFdPBZpXZQaXFksGetRd1I+YsqA=; b=mbXDbU6NHjpdDnXDgUDbqVFMO1JONOvQ3FKTXA3L6O2rbcAfzBDo2P+vHPwJnSimsGSUb8 mp9tMSp5Ea5nth8HBeErKMKnzbhjXGVmM6y8F1r51HXsqt2SC4K9HrXiWXUpt5TdlvpgeE ehDsEbxizPwEeSXRtdMv1sz21FZtFdOIUvJwyz2UGXL2p172H50NqhpBKyWpOwaIU87z1Z NhumNNjcrQk4/GGRLiqJQVVz+iUFMB/mRrFpD8C1/pxPPOA4keYNMQhiHjHPdwMkicm01I ZSRiRVLErkUCXclqXgNshaWDouCPq6k2LbyJbdNRiampQre6oYrLmsEH8asvFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9Fv8DAY9UjN7CoNDFdPBZpXZQaXFksGetRd1I+YsqA=; b=fn055GXqX4ewvc5Xl7XU56JG5zYjspxBgyzvLi7BpiBZV1lwE4d0rikCQgk23ecadj9u2X wcU5PvrPlR4XIi0h63SMRAKuWwsiPd+PQkJOaELzS4AJVOfKp4tOsu+Lz62YoNoY+aWMFy lHRb0+Zmhr1j+2BQX6MjvsvoRY/4woZJ6wbDhoblo2oPqwyyXAX90PA/VLjsZvgwAPHLA/ Jz3yrvq77HUpUleT1t+5lFZCIvnwLAWzTYsw1OR6BLbuS07zwVpzbDbWsKWSUngk6bVXYn ACBkyw8JzWSbs4Wy48MV+mNoEHhBGHet5J49qe43j5HLXkOHz/FSS8mGNQNRww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637347; a=rsa-sha256; cv=none; b=MZbhVGP7dCNBKKtcm/VARDOoz4WDEqoD5qzaNOSpWjJZX2tWRYGpNT/ccPRe+XMRLAB69W gCWFfIAntPpyH8G6KNeENqckIdNup/0hW3tEoWaRF7Ja87k/M7mwHWIM7IaQuUxaNt2VyA 7hP2tW+/tcMo3t9GcYnE4luVL60hFzTLLXMHleN5aNRAu2Qyo4wOi0MogEsdpga+GrTudi Q+qEi5svvtVFnY8nRmsSKFm4/J+aPzlQrPs32vSdAPLpZLxl5WN202JJuvoJrdwo7XkAC4 /QSvhRHQy9A5kT0AE+n/00zVpW/9VUUW1rEabqB9BumOw2atEP9pOAHrAXTUGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFpC0B7jzVR6; Fri, 12 Sep 2025 00:35:47 +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 58C0ZkA7038895; Fri, 12 Sep 2025 00:35:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0ZkRG038892; Fri, 12 Sep 2025 00:35:46 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:35:46 GMT Message-Id: <202509120035.58C0ZkRG038892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 98f7ad4160b1 - stable/15 - ixgbe: Fix incomplete speed coverage in link status logging List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 98f7ad4160b18418e0cea6615906b5d7b3840282 Auto-Submitted: auto-generated The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=98f7ad4160b18418e0cea6615906b5d7b3840282 commit 98f7ad4160b18418e0cea6615906b5d7b3840282 Author: Yogesh Bhosale AuthorDate: 2025-09-09 17:01:04 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:34:42 +0000 ixgbe: Fix incomplete speed coverage in link status logging Originally ixgbe_if_update_admin_status() only handled 1G and 10G speeds, causing any other speeds to display as "1 Gbps" in link status logs. This issue is fixed by adding link speed to string conversion logic through the introduction of a helper function, ixgbe_link_speed_to_str(), which corrects the misleading logs to reflect accurate link speeds. Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com PR: 288960 Reported by: Mike Belanger - QNX Differential Revision: https://reviews.freebsd.org/D52442 (cherry picked from commit 46347b3619757e3d683a87ca03efaf2ae242335f) --- sys/dev/ixgbe/if_ix.c | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 73c0fd1ab16f..e1e05e008e8d 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -184,6 +184,7 @@ static int ixgbe_if_rx_queues_alloc(if_ctx_t, caddr_t *, uint64_t *, int, int); static void ixgbe_if_queues_free(if_ctx_t); static void ixgbe_if_timer(if_ctx_t, uint16_t); +static const char *ixgbe_link_speed_to_str(u32 link_speed); static void ixgbe_if_update_admin_status(if_ctx_t); static void ixgbe_if_vlan_register(if_ctx_t, u16); static void ixgbe_if_vlan_unregister(if_ctx_t, u16); @@ -4026,6 +4027,33 @@ ixgbe_if_stop(if_ctx_t ctx) return; } /* ixgbe_if_stop */ +/************************************************************************ + * ixgbe_link_speed_to_str - Convert link speed to string + * + * Helper function to convert link speed constants to human-readable + * string representations in Gbps. + ************************************************************************/ +static const char * +ixgbe_link_speed_to_str(u32 link_speed) +{ + switch (link_speed) { + case IXGBE_LINK_SPEED_10GB_FULL: + return "10 Gbps"; + case IXGBE_LINK_SPEED_5GB_FULL: + return "5 Gbps"; + case IXGBE_LINK_SPEED_2_5GB_FULL: + return "2.5 Gbps"; + case IXGBE_LINK_SPEED_1GB_FULL: + return "1 Gbps"; + case IXGBE_LINK_SPEED_100_FULL: + return "100 Mbps"; + case IXGBE_LINK_SPEED_10_FULL: + return "10 Mbps"; + default: + return "Unknown"; + } +} /* ixgbe_link_speed_to_str */ + /************************************************************************ * ixgbe_update_link_status - Update OS on link state * @@ -4042,9 +4070,9 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) if (sc->link_up) { if (sc->link_active == false) { if (bootverbose) - device_printf(dev, "Link is up %d Gbps %s \n", - ((sc->link_speed == 128) ? 10 : 1), - "Full Duplex"); + device_printf(dev, + "Link is up %s Full Duplex\n", + ixgbe_link_speed_to_str(sc->link_speed)); sc->link_active = true; /* Update any Flow Control changes */ ixgbe_fc_enable(&sc->hw); From nobody Fri Sep 12 00:35:48 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFpD2qp0z67dS8; Fri, 12 Sep 2025 00:35: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFpD1XtVz3MMS; Fri, 12 Sep 2025 00:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifxwq4h1yMvqNK5Tj/vlzUsN8qfh+ouS1VSIk3GQC/E=; b=YVflmc4OmEzR67SDBs9qsQsievjqkDrJXJZ00UQS8/PjZ+qLdyPCp3T+eSt3wbeCRrJpT1 rqEXFw2LW+leCL925qgrRrf8RVF+taNfvkuSQM/iw8SEpQizOrbQQdGPJDgLsTVuIF/+tQ DA3CtqnJJnVschldPsT+xsPuVGC27q/5Rk+FEk690ZGZH8GAH2K+VTOF70azV8kgT7EEnl +9k4sVUDl5DF/cLn8DB3c4a6wff8/+t6NuDKlrxxVJTugrd3ad+hLzDRyo4+gRHZ5EtHSs tzejHa+9+6PU/BjjbdS/2f4jsiY0oWu6XiAszQhjwrYmG7LRXDCUzZvwuE4iJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifxwq4h1yMvqNK5Tj/vlzUsN8qfh+ouS1VSIk3GQC/E=; b=Pdu4DZJh8iu48htq0p6iXPR77WLLU2PiK6kl29sR/ke7kl+e/2dbEczuy3TuPg9ZcNTnbS 6z58TKYRZl40g1W5pBv7LV4j7YUyTQspjUuP3FKg/ez8vO6x2IJaJhqfbqLZcjk0SQMaTC weBVpzhCGBr915GKrVcvGuU9VUUnIjbZf4ymBOBSI/j+BYc2ZKAVmL57zx5whNY9OjI4SP tYkxE6vycwhCH5ceNxiA9E5HebIP7LUH9vpLJbm/reva9iHyDQx7134rV+3x2PDUQx8z1E vf7O2zHJS2zgFX5a65Yg7/rLnTESGva2YJ1APQi8a7nYYKljcbsaA4Yt8/UR3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637348; a=rsa-sha256; cv=none; b=BBZH2bg6sm3kZdL7rBsNWUUCIE9Z5Mr+Soo72QOrSNFdUVOkkTnuENUh7iEtBJX/cP2Ij3 OJL2EfcAHRIFL1xrY/pl/uW5CYO12oA2I8lrKdGDoX418I6EXAOZs0ZSy+vNwGAzw71G2P WbMLQiGi3lXBmVy2niE/cq1oyvpKVjMTOSFIEXLscg202JlwW+y+p4Dxk/I4WvpOX0OfBh zUFYT/B69exE73aCsAG3PkN0nVwoKuZhJ9z8l+ugggacNNCxw2i/PYiD8zaKnI6OcN8EZ/ lL+AeqbrjdZkjtWuvMdxdutvl1v9zXt4FU5XUHdxaLaK9NjrCroupBOujw5JWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFpD17xpzVLJ; Fri, 12 Sep 2025 00:35: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 58C0ZmqD038928; Fri, 12 Sep 2025 00:35:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0Zmli038925; Fri, 12 Sep 2025 00:35:48 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:35:48 GMT Message-Id: <202509120035.58C0Zmli038925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 19650d19a50a - stable/15 - ixgbe: Correct ixgbe_link_speed_to_str comment List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 19650d19a50aff6b2cb626a53c61996105bc56a5 Auto-Submitted: auto-generated The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=19650d19a50aff6b2cb626a53c61996105bc56a5 commit 19650d19a50aff6b2cb626a53c61996105bc56a5 Author: Kevin Bowling AuthorDate: 2025-09-10 16:45:35 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:35:09 +0000 ixgbe: Correct ixgbe_link_speed_to_str comment PR: 288960 Reported by: michaelo (cherry picked from commit c1532f74e4684f4b4227e873bae05b16ccc0a17c) --- sys/dev/ixgbe/if_ix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index e1e05e008e8d..5c4ca585c323 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -4031,7 +4031,7 @@ ixgbe_if_stop(if_ctx_t ctx) * ixgbe_link_speed_to_str - Convert link speed to string * * Helper function to convert link speed constants to human-readable - * string representations in Gbps. + * string representations in conventional Gbps or Mbps. ************************************************************************/ static const char * ixgbe_link_speed_to_str(u32 link_speed) From nobody Fri Sep 12 00:38:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFsF3tKYz67d9k; Fri, 12 Sep 2025 00:38: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFsF35ynz3NKC; Fri, 12 Sep 2025 00:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vhwnkgWWAEoqBLZcmaLaM/sMUH8joNJmveBLhMkWqQo=; b=KisnL408sqEjaxkvubWqYiv3ZgW7Eju7/+HXNhM3wcu0K3xBJex8vQN0fWo/xbHiz8Stog BoydvNfbssVq+Kzf4sGQLaO0VmAha8lqXIV5cEMiwblKLihbYULd8pr4630QL6OljpZteC tVpBUwZs4U4lis5U5ttxSxPMrEBobu5y/TgOYBFdOsExT9ubMWQd1LqaAvO3GUNpztl7RT YwB14rHcFJ8g2z6YRUvIEbqgDSoYrTK6URcyUnflKZsRlppET+3RYjOJD6P4rThlj5iv8L TOtBvg/ToTJoW3rEL2+SWX8KlwE/vcBIollLxg22pkK7Uq3aODDo69mbS3de/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vhwnkgWWAEoqBLZcmaLaM/sMUH8joNJmveBLhMkWqQo=; b=shhtk4LFHA5E9PQU86FCPrvXJVEWZURiI8jOj5AmcJF8RT2zVTLxis/1ZYfKjhHby/bhuc fFeI/xMz0Z9K8HGrA8M/no9UzI3QVWuJ/ZZOJfxTvY7iqaUWDTUsXoQi6NVK/g7g1KBkSK hSAhUJo5ws36eg3jt9KcnDgbphN4PDURyEH7wdOAICnfV9t8XW92AZcevnvFdKeTJZrT6W oYQn8Q/80iKXIr0QOBgtJqxQw6BruuV16OKv7YFKKb9gPCg7E7UHFdhMUFbjNQyku51cs0 cpCp4QwRa1CyLxLqAFPbMwrGoRTA5O7XXD+hMRp+JexLKsuv8p8HNimKhCWSMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637505; a=rsa-sha256; cv=none; b=nKmX2HWpZ5rVYZxDrqdqmPz0TnnokqofbYWgE2HABwkjvc2r143P148LVlL+Cx7BgICXKZ HfL3O5LoDS+azsnlpUBooetdzYC/wjhV1ljfHMhTTQlTRUGYPJKG5hELMFAhSVRnT/2rW9 74jQ33/N7qEYPHRY8lm9FHaPsJ1/TzjlrGX9WifyguMCIRhq9s4frfNxLX7DzuCY0oVfBj tfcVoP7e+M89JArCv6C3TX7RSwV4TuXyQAUSoW21je0u5TNXhTM6QHG1TYw0feN7/E4i7V djCveI16zmAbwiqPcrkE4fzkcJVf/owNAzEsttRqzPngdvEsqZrdv5wbSe+5mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFsF2TM3zVXT; Fri, 12 Sep 2025 00:38: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 58C0cPX9039840; Fri, 12 Sep 2025 00:38:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0cPkK039837; Fri, 12 Sep 2025 00:38:25 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:38:25 GMT Message-Id: <202509120038.58C0cPkK039837@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 7dc494e63774 - stable/14 - ixgbe: Fix incomplete speed coverage in link status logging List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7dc494e6377451469763a8a687032dee2b8324b2 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7dc494e6377451469763a8a687032dee2b8324b2 commit 7dc494e6377451469763a8a687032dee2b8324b2 Author: Yogesh Bhosale AuthorDate: 2025-09-09 17:01:04 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:37:50 +0000 ixgbe: Fix incomplete speed coverage in link status logging Originally ixgbe_if_update_admin_status() only handled 1G and 10G speeds, causing any other speeds to display as "1 Gbps" in link status logs. This issue is fixed by adding link speed to string conversion logic through the introduction of a helper function, ixgbe_link_speed_to_str(), which corrects the misleading logs to reflect accurate link speeds. Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com PR: 288960 Reported by: Mike Belanger - QNX Differential Revision: https://reviews.freebsd.org/D52442 (cherry picked from commit 46347b3619757e3d683a87ca03efaf2ae242335f) --- sys/dev/ixgbe/if_ix.c | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 959afa79e7da..53c06bc43dd3 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -174,6 +174,7 @@ static int ixgbe_if_rx_queues_alloc(if_ctx_t, caddr_t *, uint64_t *, int, int); static void ixgbe_if_queues_free(if_ctx_t); static void ixgbe_if_timer(if_ctx_t, uint16_t); +static const char *ixgbe_link_speed_to_str(u32 link_speed); static void ixgbe_if_update_admin_status(if_ctx_t); static void ixgbe_if_vlan_register(if_ctx_t, u16); static void ixgbe_if_vlan_unregister(if_ctx_t, u16); @@ -3857,6 +3858,33 @@ ixgbe_if_stop(if_ctx_t ctx) return; } /* ixgbe_if_stop */ +/************************************************************************ + * ixgbe_link_speed_to_str - Convert link speed to string + * + * Helper function to convert link speed constants to human-readable + * string representations in Gbps. + ************************************************************************/ +static const char * +ixgbe_link_speed_to_str(u32 link_speed) +{ + switch (link_speed) { + case IXGBE_LINK_SPEED_10GB_FULL: + return "10 Gbps"; + case IXGBE_LINK_SPEED_5GB_FULL: + return "5 Gbps"; + case IXGBE_LINK_SPEED_2_5GB_FULL: + return "2.5 Gbps"; + case IXGBE_LINK_SPEED_1GB_FULL: + return "1 Gbps"; + case IXGBE_LINK_SPEED_100_FULL: + return "100 Mbps"; + case IXGBE_LINK_SPEED_10_FULL: + return "10 Mbps"; + default: + return "Unknown"; + } +} /* ixgbe_link_speed_to_str */ + /************************************************************************ * ixgbe_update_link_status - Update OS on link state * @@ -3873,9 +3901,9 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) if (sc->link_up) { if (sc->link_active == false) { if (bootverbose) - device_printf(dev, "Link is up %d Gbps %s \n", - ((sc->link_speed == 128) ? 10 : 1), - "Full Duplex"); + device_printf(dev, + "Link is up %s Full Duplex\n", + ixgbe_link_speed_to_str(sc->link_speed)); sc->link_active = true; /* Update any Flow Control changes */ ixgbe_fc_enable(&sc->hw); From nobody Fri Sep 12 00:38:26 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFsG4kcFz67db4; Fri, 12 Sep 2025 00:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFsG3qGQz3NKD; Fri, 12 Sep 2025 00:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8t8T0MS9p3FPLi8jz57qpju979KP/JcoBaQ/CU5a64=; b=clQaXLRC5fGx3Unwrn9zS4w6UJSDPkjrd6RRzCb4ih+++KxDVI0F+Fx3vYgdkdW6lwHorl 5wFn/SSImLxz78nJPnDg0tAK18oPKplS+lqtzRO6VYjqjolcU2HH+ysvl6tV2a9pppgpvo mcvq4eIaDgR3PnAOsq/bad3a10O3OZJ4W9bsT7USdOnmUaYTLDygab/GauqsNHSbmJN+w+ OX6H6C/hiTnwCxQqSmPUPYqoS3/0nz8IzlkMl4WGe4l1OaD+ws0BLW5XaCU7dCbe3FoOft vVnBne8r+YlED7TkRAVZL8tiFxTEypOjr5tGtYIPLnG8aKCoR6znR0n8AzFeIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8t8T0MS9p3FPLi8jz57qpju979KP/JcoBaQ/CU5a64=; b=pZX8iQ8P8OgKRiakdWHg/1Q0o5/ncnMSy75HzJ7V8SBl+Vpp9jMP78sT1rAgIHS2A+FAcW y2wolSR47RzRa1LsbF79F5sZoIqhEhe3vQshb0rjWtGOrW/Cf8+6ANr2EWNlX1Pxle4cob u2hwIvTQdRCOaqfoGI6asIpGNXRjkD1sJlpqLXOvhW2VpSSrfy6patbBtwDIBDofhgLr8C t/LZytrUo8coGf3SQ9K3sCA+D3dey/qhFjUUAPo5pvaRq/r1yIB7NcOMRyF3JBoqn7cJoE +zXGCCEjmI5mu2GTXF21NqmitVURRpoPU5lOXiwzzdjx0zm3fpixY5Zwq+9mVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637506; a=rsa-sha256; cv=none; b=NTkcFV3V6EycovEd4IUhKuZlQSezhtK1VUKDFLCXgZxO49BVpACVN7VJ4WPg++TGh6/J0t KCE24+Lzol2WJkizhljR4BSoIyxA6+OitESJ2gSwIaPhJyDIzYlCtOA1EZ6Y44tPSCqEpK 3N/JJ4jYzAHtd9Orbo6+z9zt/BoEf1W1wLdnlfH/bf2u+YyB6M56LaRUik1aay324DjIw7 V/720UtthevPZKc+WMn+MeEoL1YUaLQtY55hEsdQaRsN15fjSmyHLMjB23ZtKJMTnXJ3Iv xqVehbTwEsp5r+Pf3icXjoFdgRoeCKa4f4QMrLn8ZDg2znNoYwL60viCAHXOVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFsG3PpZzVXG; Fri, 12 Sep 2025 00:38:26 +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 58C0cQFL039877; Fri, 12 Sep 2025 00:38:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0cQrl039874; Fri, 12 Sep 2025 00:38:26 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:38:26 GMT Message-Id: <202509120038.58C0cQrl039874@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 36f4d6dc0d3a - stable/14 - ixgbe: Correct ixgbe_link_speed_to_str comment List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 36f4d6dc0d3ab0e69ccdd39aa06793ac6b1968c2 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=36f4d6dc0d3ab0e69ccdd39aa06793ac6b1968c2 commit 36f4d6dc0d3ab0e69ccdd39aa06793ac6b1968c2 Author: Kevin Bowling AuthorDate: 2025-09-10 16:45:35 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:38:13 +0000 ixgbe: Correct ixgbe_link_speed_to_str comment PR: 288960 Reported by: michaelo (cherry picked from commit c1532f74e4684f4b4227e873bae05b16ccc0a17c) --- sys/dev/ixgbe/if_ix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 53c06bc43dd3..5adda9642868 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -3862,7 +3862,7 @@ ixgbe_if_stop(if_ctx_t ctx) * ixgbe_link_speed_to_str - Convert link speed to string * * Helper function to convert link speed constants to human-readable - * string representations in Gbps. + * string representations in conventional Gbps or Mbps. ************************************************************************/ static const char * ixgbe_link_speed_to_str(u32 link_speed) From nobody Fri Sep 12 00:39:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFth1jm2z67dVN; Fri, 12 Sep 2025 00:39:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFth1F7mz3Nkk; Fri, 12 Sep 2025 00:39:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JYuqb8oZRatnPeN1KRIGHPBWRvlf+GyznPXPPPNeckQ=; b=wM5oQ4Z6TjN2SQeeamQjWudOimyv55RV12mhmAKt0rcmuS5FQKsrMGiexIn7dcGqXI3AgR 99uKVKph6L5Q/ryRrbfYJdf7asaZUdUTpk3g57FmXGfhgWyLXvO3lKK7NWegUJH2XB+WAi fYVV7OOZP+wjkpjv2UrGCw9nx51Zwf8VtHkod1W73kyM0uaztvBbJk3dHyGDCrejxBxvsQ SZTGhRw1D5pH8pKuaXdyV+3qEGs0YFfWnuGLuL14WfwYvp1RO3B2lWwDnZdIK/lb9oV2xx 6z2ux1UDcajyM2PUIlLplWcwzcF6M2K1cg9wb6mct/JZDqZo3xL/6v1tXJtLEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JYuqb8oZRatnPeN1KRIGHPBWRvlf+GyznPXPPPNeckQ=; b=QXy+USxh8bPFXzSbgfigkbodbpJM/phoUGecLVLnQxQkFyXqMq7wy6h8oXhB2MKii80AAx /VvdsRGYotwIrIC2ahVL+41Xft8pRoTh0pzGOZuZB0KMUHTnYpx2VDbEob1QBMDRRecKDe wEs2W3wId3UDTBL1jtihpHxrbaStRov902rtUybkzIVAKaPi8kr8Ppx3owG+Cith31kyQ8 DPxKa24Xor0jG1DGPyP7EhEc3JfgmHfLKlQOHkDCK/jMDeRA4S24IWsRtxQdF8z+yMHJWv rs5RajefcWPGtjG6GYQcAx+nG60QCBGkK/LWEwU9ER9UIh8uHmNsYBm+XJjNyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637580; a=rsa-sha256; cv=none; b=Lpv2jfwJgdVV/WcOSKT0Z5oJrAOiFMpKvHBJNhWB3soclrYyfcOqCJ1fMl3Xeypyg/Ghbi XIQhXyJSpsyOnPeVkLG1YoJhM7BCPyrYYfBgaKrzFZJCSWCOr899meBeR2JxWNJucKB8qR gjaL99Gsv7k1Cz4L4mBgEPHDmVUJbQJ0Due/orRdzC2OuASBg5xsrWb/XWtRVHJH9nr8J7 Z4WPie80eR6t5+TZ7HHIiUI/JZaiSfvorODh/bYGf6JlhkKywYmiV5sxdeNLf8B3bpy+he En8P6O/s85niKRcBcJquhVnCmh/b+XYvVhtbrvygTQqnikRQwTpbiMCR7lJMTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFth0lR4zVXY; Fri, 12 Sep 2025 00:39: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 58C0de2j040373; Fri, 12 Sep 2025 00:39:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0ddS3040370; Fri, 12 Sep 2025 00:39:39 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:39:39 GMT Message-Id: <202509120039.58C0ddS3040370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 5a85a5ed44d2 - stable/13 - ixgbe: Fix incomplete speed coverage in link status logging List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5a85a5ed44d2fffb155f812be28f2dea3c09e83c Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=5a85a5ed44d2fffb155f812be28f2dea3c09e83c commit 5a85a5ed44d2fffb155f812be28f2dea3c09e83c Author: Yogesh Bhosale AuthorDate: 2025-09-09 17:01:04 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:39:17 +0000 ixgbe: Fix incomplete speed coverage in link status logging Originally ixgbe_if_update_admin_status() only handled 1G and 10G speeds, causing any other speeds to display as "1 Gbps" in link status logs. This issue is fixed by adding link speed to string conversion logic through the introduction of a helper function, ixgbe_link_speed_to_str(), which corrects the misleading logs to reflect accurate link speeds. Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com PR: 288960 Reported by: Mike Belanger - QNX Differential Revision: https://reviews.freebsd.org/D52442 (cherry picked from commit 46347b3619757e3d683a87ca03efaf2ae242335f) --- sys/dev/ixgbe/if_ix.c | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 641689d3e065..d20eecab6ca0 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -174,6 +174,7 @@ static int ixgbe_if_rx_queues_alloc(if_ctx_t, caddr_t *, uint64_t *, int, int); static void ixgbe_if_queues_free(if_ctx_t); static void ixgbe_if_timer(if_ctx_t, uint16_t); +static const char *ixgbe_link_speed_to_str(u32 link_speed); static void ixgbe_if_update_admin_status(if_ctx_t); static void ixgbe_if_vlan_register(if_ctx_t, u16); static void ixgbe_if_vlan_unregister(if_ctx_t, u16); @@ -3858,6 +3859,33 @@ ixgbe_if_stop(if_ctx_t ctx) return; } /* ixgbe_if_stop */ +/************************************************************************ + * ixgbe_link_speed_to_str - Convert link speed to string + * + * Helper function to convert link speed constants to human-readable + * string representations in Gbps. + ************************************************************************/ +static const char * +ixgbe_link_speed_to_str(u32 link_speed) +{ + switch (link_speed) { + case IXGBE_LINK_SPEED_10GB_FULL: + return "10 Gbps"; + case IXGBE_LINK_SPEED_5GB_FULL: + return "5 Gbps"; + case IXGBE_LINK_SPEED_2_5GB_FULL: + return "2.5 Gbps"; + case IXGBE_LINK_SPEED_1GB_FULL: + return "1 Gbps"; + case IXGBE_LINK_SPEED_100_FULL: + return "100 Mbps"; + case IXGBE_LINK_SPEED_10_FULL: + return "10 Mbps"; + default: + return "Unknown"; + } +} /* ixgbe_link_speed_to_str */ + /************************************************************************ * ixgbe_update_link_status - Update OS on link state * @@ -3874,9 +3902,9 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) if (sc->link_up) { if (sc->link_active == false) { if (bootverbose) - device_printf(dev, "Link is up %d Gbps %s \n", - ((sc->link_speed == 128) ? 10 : 1), - "Full Duplex"); + device_printf(dev, + "Link is up %s Full Duplex\n", + ixgbe_link_speed_to_str(sc->link_speed)); sc->link_active = true; /* Update any Flow Control changes */ ixgbe_fc_enable(&sc->hw); From nobody Fri Sep 12 00:39:41 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNFtj3Jsdz67dSt; Fri, 12 Sep 2025 00:39: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNFtj2MN5z3Ndm; Fri, 12 Sep 2025 00:39:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ObhtIO39KMrdALMX6j1AEeaWyd/q7ixDBVLCyQhG31Y=; b=hvqbRduswb415uryOfNKfo8dMAkWfaaH1uWJGS0eZNgf4TVKHohWS/StJpsQ/jAY0nHCFV 4HogShiyVVN/pZp1+DvoYhEXY7pEwJIFDQsB8ZXQk2QfY25KZvGVn0fpuWtJBhi528Dgrs UzwznkP0TftDnAiQdAkjANwfAJW+9VhIibvrA9jn4C1Ch2Bd2GLHMsqPN+lrJm8qceYyW+ Gde4bj9edNHtnBznRsOP4vv/XsbXtu90dDcq8/Eoof+mzvZ1Us9b93ZJzPjrOJEP+uSm13 RkDgl0hWh7lb2s4biHrtYYe8fZbqQo7AVCUz1zUv46+wGLytjYDhN7WQQboy5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757637581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ObhtIO39KMrdALMX6j1AEeaWyd/q7ixDBVLCyQhG31Y=; b=WwB28LT7yP4kV3zdIPOtJtb4wiKGg1gUl2XviI4Xkcvc1DUWT65KSq2YrU8A5oOmwrxGv6 WjUam2i+KFqJfcXt+NXrFWUC2W6VDasP6KcnPbqpzqcz7V0ps0DWPuZ5v6JD4ttqaCHUGV c88pU95xJctr+XpdIgHfgmSQzGe31P4R98/gTGw3pj8fah3UIUH+yJXaNC8KBU2UwBJJMP uH1crBnWk60IirKKTIObql/qjLC7d2l0CCCWTuc33GLJy7wxPnKcBtiYX6OeBw0aQ/g2LS zDGFWtUFqW8Ywt+0TQjdhPq3dgPNR31boF1jZm36+kkI8aQnurpkrZp/M+UXQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757637581; a=rsa-sha256; cv=none; b=nitW3zJRuG2wU3nTscPJmynGDcrmCGJ22uvHjkFtk4RcoB5WfCVhkbnFDzsckDjxIP4Fas dYLP8dIH41gvN7g1o9bOS+W5JrwQo+383hDGtCMcQlo7OhUDNOFIR5eMFHP3evvIo0Tq23 72aQBrfjaZIzyhPzonZo2btumQ3Cu8/AwBrxQXbcOHl7OhuvfILnzgE/qvefH31A7v1+tp rZc1YIY4o9ZjhUGp+RyHTJrTLuUPXL1ldPl6iMKDQwmNIW8C2DDO4YLqGa/jYin3o9493l VkMpda/9m+AoOF7jZ2z2JJ7cBhV5KF/8z8mTxHvmqpzZp7rSVD6fFDs58uBdpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNFtj1jVpzVV2; Fri, 12 Sep 2025 00:39:41 +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 58C0df41040408; Fri, 12 Sep 2025 00:39:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C0dfTu040405; Fri, 12 Sep 2025 00:39:41 GMT (envelope-from git) Date: Fri, 12 Sep 2025 00:39:41 GMT Message-Id: <202509120039.58C0dfTu040405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: b62a72cd8a93 - stable/13 - ixgbe: Correct ixgbe_link_speed_to_str comment List-Id: Commits to the stable branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b62a72cd8a93232cc9afa6d073c3966dd3fa5737 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b62a72cd8a93232cc9afa6d073c3966dd3fa5737 commit b62a72cd8a93232cc9afa6d073c3966dd3fa5737 Author: Kevin Bowling AuthorDate: 2025-09-10 16:45:35 +0000 Commit: Kevin Bowling CommitDate: 2025-09-12 00:39:25 +0000 ixgbe: Correct ixgbe_link_speed_to_str comment PR: 288960 Reported by: michaelo (cherry picked from commit c1532f74e4684f4b4227e873bae05b16ccc0a17c) --- sys/dev/ixgbe/if_ix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index d20eecab6ca0..fb350302d0c3 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -3863,7 +3863,7 @@ ixgbe_if_stop(if_ctx_t ctx) * ixgbe_link_speed_to_str - Convert link speed to string * * Helper function to convert link speed constants to human-readable - * string representations in Gbps. + * string representations in conventional Gbps or Mbps. ************************************************************************/ static const char * ixgbe_link_speed_to_str(u32 link_speed) From nobody Fri Sep 12 06:57:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNQGZ1sKtz66ZNQ; Fri, 12 Sep 2025 06:57: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNQGZ1FSpz44LK; Fri, 12 Sep 2025 06:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757660246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ugtNTPnehqeUduC+khRb5b+znO1DHw5Q98FpmLDiS8s=; b=jPCIUYRiFz3k9V5d0WnWBVrG6IpaHgsSXJP1E+FMA+76XaHLMHA3SAlar9mLrZYb12DPIb wWtNsPzls4z2LwFaRvPMd8/YSsWop0e9ztW96NO4hs2HJLxwqJtkdaQ05ubsBbcQBiTxrV eIZmUvsbErcloKL0ordzB2R5y+9vOq3+QCMbQ0fiKcHWwnQeqGRJv7uYWMglut9U0bmDv6 1aCBOqJKHai6PzzTTfb/Q7lkHNiv22oofk4RUYnU55LOkljp07itpcddTXL8CJR1Ue1IpQ HsoDhmzKXGo9Gk3OmRWRx1oyzdLlcOvqntKEzVkolXm99y1E/VQ6mGH2hrqZ0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757660246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ugtNTPnehqeUduC+khRb5b+znO1DHw5Q98FpmLDiS8s=; b=kJtORdhmk96Ty/1GV5Np/+XjlC2BDI6DumWU/u+XcEON6Xhe/95ziYh+04GRN9o4Fqskpu Zd1+btHX+qEeQ0Nuu0go76ycixZDR+RIELfMYRJukKWGYzOU2dzroJAIS3zb+x9hHWS6cz rQdIDZRGfnNjfiAkZfRcUH14p6pH7xGG4Cid3lj5piqnQv+ufqgkKzwy5he9mRdzptxL/A 1nM/EM+movUmQBq46uGrCvcujlCu9+bHUyqo9+yn+e4emVZXzlYw8ZRStj1aQuGJhxMDab fnROqZbC8PDD1AEd28Lg4EClTdyT3QGxsT+KsqEjOxMvuV/ACvuxxWnaPm7p6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757660246; a=rsa-sha256; cv=none; b=h2qpWxe5TvzlKOXTHZtrjG9dkwafHcWdyFmWetIR8XK6iuy1a3BUxIRffAJHeFje1JRMnb SP5Q0SW6ma0BmzJ+sraYdr8UYZrcilPHu2YwDInN2yd1ShhLDZ9u9tnTflFTjoxdg+kTBz j2j0uOOIML/Czt5d03v1sTY9175Ng0xe1aLS2h/zTNXi15tHefFAEV2W6gtopx1udHJFG/ AnQEhzNvdRPsVbVCl8teWOZAHg0rJhFkj7oJb/gEdAuQLeTwcNCmXoQItTPjwRli9BIJEO Yyg5geO29I2JFTAmSfU/ap3JHoSu/GxpzfUlQHNEkLhu3Ithg1wVqWlxuVNzGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNQGZ0dNNzjf1; Fri, 12 Sep 2025 06:57:26 +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 58C6vPLs051320; Fri, 12 Sep 2025 06:57:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C6vPwh051317; Fri, 12 Sep 2025 06:57:25 GMT (envelope-from git) Date: Fri, 12 Sep 2025 06:57:25 GMT Message-Id: <202509120657.58C6vPwh051317@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: 995d95c309fc - stable/14 - if_ovpn tests: skip float and linklocal test on < 2.7 List-Id: Commits to the stable branches 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: 995d95c309fccd312f6e1c27ad4a93544b95780a Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=995d95c309fccd312f6e1c27ad4a93544b95780a commit 995d95c309fccd312f6e1c27ad4a93544b95780a Author: Kristof Provost AuthorDate: 2025-08-29 09:19:26 +0000 Commit: Kristof Provost CommitDate: 2025-09-12 06:32:16 +0000 if_ovpn tests: skip float and linklocal test on < 2.7 Earlier versions (than 2.7.0) do not support float notifications or link-local addresses. Skip the relevant tests there. PR: 289150 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D52234 (cherry picked from commit 512d3c3a2c6391cee61ff41e3fe6304973346857) --- tests/sys/net/if_ovpn/if_ovpn.sh | 2 ++ tests/sys/net/if_ovpn/utils.subr | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 0d5dbb908c30..2dae2b1c0336 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -492,6 +492,7 @@ linklocal_head() linklocal_body() { ovpn_init + ovpn_check_version 2.7.0 l=$(vnet_mkepair) @@ -1365,6 +1366,7 @@ float_head() float_body() { ovpn_init + ovpn_check_version 2.7.0 l=$(vnet_mkepair) diff --git a/tests/sys/net/if_ovpn/utils.subr b/tests/sys/net/if_ovpn/utils.subr index 0da35119b2bf..fbe7dc98630a 100644 --- a/tests/sys/net/if_ovpn/utils.subr +++ b/tests/sys/net/if_ovpn/utils.subr @@ -40,6 +40,25 @@ ovpn_init() fi } +ovpn_check_version() +{ + expected=$1 + + expected_minor=$(echo $expected | + awk '{ split($1, ver, "\."); print(ver[2]); }') + actual_minor=$(openvpn --version 2>&1 | + awk 'NR == 1 \ + { \ + split($2, ver, "\."); \ + split(ver[2], minor, "_"); \ + print(minor[1]); \ + }') + + if [ ${actual_minor} -lt ${expected_minor} ]; then + atf_skip "OpenVPN version < ${expected}" + fi +} + ovpn_cleanup() { for jail in `cat ovpn_jails.lst | sort -u` From nobody Fri Sep 12 09:27:13 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNTbP4pNfz67DV5; Fri, 12 Sep 2025 09:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNTbP3t9tz3JD2; Fri, 12 Sep 2025 09:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hxFc9niwDbnGXQxqkmS6ifKdK/QQFAlj0DHilGwGwdw=; b=rA1UWcdo6uLJOeE/6Srkx75ggFOYEBX79iISZBug79juIu0a0TjnqHTqCbepTq3gvxY6c4 kHi20x7YYibGIBzwy4x+PIyJrQm3keW2NJMWcpFDIyOLgIaRLk7WVJ8N7fHgsf8BhtCkHq ZHToVQtDuslELMZT1NK+WwtXZ4+FL1UKmhWWWWfi0518l+t3WyuvWirD7/AlJjpuXKAwkN MRt5O325u6FjZ+A5HAtK/xlir8ZMN2p7Ma6nSSBU+VS9faxj0XU1skarmsUP7fat0sVWNu PqW5UUmZSGH1WORkW0vCMqaLVId/oufpAX7YCi8sJtgzUPQgBvJ89Lx8F/C9FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hxFc9niwDbnGXQxqkmS6ifKdK/QQFAlj0DHilGwGwdw=; b=xy62D2aesbTgPRFjmqxPWAzDLtbwgmrs2/KdzkVl02TXTKS52xatD8nKq9V9w1sTVhuiDo Nwsciydb6IChsiLPiD+kH0ePaEKph3AneGxFRcjJUU+uK+UY6A2cXk0X5m/MIxRhSjPvcw 1z5PNAYLA4B9wCKquu4/nkmEYN+7Mx4VXa2NAgcpNobXswAnSDNtcO0Y2zsXRnyGrS7TiO YyZPK/01d4ie07PbrcN1Tmcn9elAJ6sMmh0ogwbC8jNXN4S6aKeb4dzGYdd5lBADbFByBj WZvpffWU4skmcasyhjrTFSV6wP2j+gqH5gd9gVOZqm5Z93gAQAzlUEhqVkUERQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757669233; a=rsa-sha256; cv=none; b=P80vxNHG9Y5yrwwRKP6X4hcAUAZqvSPTdZTs0Ala1jRA8ASQ0VfYBV7T7Agld2a1DvGhct C4k0R9Ya8UuQXRO+4VuwMe5urKvBfcnHDXt2uHUnnBnqkHMRovA1B+G20NcABIgY2W+rXL vy44h85yF4EMIt5KscunAnd+YvpDRa5akVfkejyMn2iZ1K8JNYlEu2qJidKo37PcgwNsmb FSal1VmDknOGrDAkmQ2c+9mwwIwfRYJg6ptKPCNtYkeVo8ibDjDCtWpXkMN/fXNGEMWtjP tjd8353VIVCmzQjpiX2MStuRRhhHgy/7UqM7CGQGWDEbSJtKU0Up5A6epfwV6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNTbP3T6gznbs; Fri, 12 Sep 2025 09:27:13 +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 58C9RDM6030648; Fri, 12 Sep 2025 09:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C9RDgT030645; Fri, 12 Sep 2025 09:27:13 GMT (envelope-from git) Date: Fri, 12 Sep 2025 09:27:13 GMT Message-Id: <202509120927.58C9RDgT030645@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 30d631a3be72 - stable/15 - NOTES: Fix whitespace in "options MAC_DO" List-Id: Commits to the stable branches 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 30d631a3be727fa99f5dcb782ae34bd240dd9e28 Auto-Submitted: auto-generated The branch stable/15 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=30d631a3be727fa99f5dcb782ae34bd240dd9e28 commit 30d631a3be727fa99f5dcb782ae34bd240dd9e28 Author: Olivier Certner AuthorDate: 2025-09-09 15:47:50 +0000 Commit: Olivier Certner CommitDate: 2025-09-12 09:26:28 +0000 NOTES: Fix whitespace in "options MAC_DO" For "options", we put a space before a TAB so that commenting out an option doesn't move the columns. No functional change. Fixes: c8d8cac2a847 ("mac_do(4): allow compiling into kernel") MFC after: 3 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 1cf67b587023af90f2b2c6e87d9103ec42b2b9b2) --- sys/conf/NOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 92e98aa57ebf..f841f279cf8d 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1249,7 +1249,7 @@ options MAC options MAC_BIBA options MAC_BSDEXTENDED options MAC_DDB -options MAC_DO +options MAC_DO options MAC_IFOFF options MAC_IPACL options MAC_LOMAC From nobody Fri Sep 12 09:27:14 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNTbQ6p9Cz67DX7; Fri, 12 Sep 2025 09:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNTbQ51gCz3Jd2; Fri, 12 Sep 2025 09:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aret5U7L+tEh3yyb20vR9tmHQtK4WnvcHY1KD31RABk=; b=RAqBqH+amhkAoO+bBt1+P4qUpAOje+FxcT+X6WhNbNB7lelXQJ+B2tJ0LToHBfRAScjQ4w jj44KfSjLd95StQg4F3ZM4yC1C/JhC75iBAUcYtCSK4ktkMXryNCZXuBXsPHxUSy19sdpW IHIqeA1KSFFkpyesgNg2ATnE/fjlNMzJ6g9WENi3BVE5jzRIhShP9/9dt0uWia82Zonmg7 OiIXpGoPaj4l5f5hUjMx9kTi5yJyEZwwaNVuK0kvwZH8trTQW7ojbj/WKXkuJeh+JyqVp8 bEx45kQLqaGQe0Hl4G+XKP7oExFPAXnI45p6kpoT0KUsrBR68kOZEzX5QLQDXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aret5U7L+tEh3yyb20vR9tmHQtK4WnvcHY1KD31RABk=; b=sczBKCfeyq0IY+7bYtntnknef2qduERJ1Fevk7NfC121szX1+QjQt7B/6FokqQFOw7U1pA WiCnI9a4TM6/iz4XTss7wQIGULie/fHomBaieZSLvIk2Is44TFo9ol5UJxFsdibTwb7gSq +MYDokOgL/wty5GkuqdwKae1+Mfu+Bd+Wfh4V/ZUTT46NY9wXqMC/+hqHiU9938wxwci7S aTAAuaeGR2A09qhNqR8nDPSLUSCHZGOaHOKTajbCc3U62WgXJfKKIoguH/fW0wK5XTRKv6 YHqjPonfKlIzn3bwDBPS6MnqoAStYMrIl+0gy0sRWhbXsU+0jGydKpUeuXGbSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757669234; a=rsa-sha256; cv=none; b=kWg7EGs+AT+HvQgTafLwyOyjDBkYap+qlx8OqeOB/X3sOQJwdradEKLOUeSppJUFN1cu56 LVKO3pelCRIaLajitakiwDbknhe1mHYSgP6BtneM0T+Cc6eA8r8fvmJCiIBOS40jPk+626 9oG2XTYUJ9mhmDO14Eo6nX5vuJsYcLcNdFYynXL8FzI9jlWLQtDVdZR1S2m5FTbEONAsjd 3ZD4zYYzgEPbLgwvhOw9sE4SGO4cq2OSt4CBM+QiAdvk5+joijMAzMJTre3G8kY4dmHggD ZdOiiZR0V9Hlesx9fmw5AFpR6NEJLTg5q6kZT9TrV/p7pjRNZxUFch11eVhUSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNTbQ3sWvzncK; Fri, 12 Sep 2025 09:27:14 +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 58C9REKA030685; Fri, 12 Sep 2025 09:27:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C9REBX030682; Fri, 12 Sep 2025 09:27:14 GMT (envelope-from git) Date: Fri, 12 Sep 2025 09:27:14 GMT Message-Id: <202509120927.58C9REBX030682@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5d13480bacfd - stable/15 - sys: NOTES: Fix comment for wlan_* devices; GENERIC*: Re-order 'wlan_tkip' List-Id: Commits to the stable branches 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5d13480bacfd0af6eefc97134c115ba66d826ddb Auto-Submitted: auto-generated The branch stable/15 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5d13480bacfd0af6eefc97134c115ba66d826ddb commit 5d13480bacfd0af6eefc97134c115ba66d826ddb Author: Olivier Certner AuthorDate: 2025-09-09 12:03:59 +0000 Commit: Olivier Certner CommitDate: 2025-09-12 09:26:33 +0000 sys: NOTES: Fix comment for wlan_* devices; GENERIC*: Re-order 'wlan_tkip' Fix the comment introducing the 'wlan_*' devices (AES-CCMP is missing) after introducing AES-GCMP. While here, re-order the devices in order of appearance of the related technologies. No functional change (intended). Reviewed by: adrian, emaste Fixes: 7bf82ea4fdda ("sys: add wlan_gcmp to GENERIC kernels as appropriate") MFC after: 3 days MFC to: stable/15 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52444 (cherry picked from commit c1eff1d745a1193c199f735733e376161c69b12c) --- sys/amd64/conf/GENERIC | 2 +- sys/arm/conf/TEGRA124 | 2 +- sys/conf/NOTES | 8 ++++---- sys/i386/conf/GENERIC | 2 +- sys/powerpc/conf/GENERIC64 | 2 +- sys/powerpc/conf/GENERIC64LE | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index c98cfce8613a..bbbb94f05191 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -285,9 +285,9 @@ device wlan # 802.11 support options IEEE80211_DEBUG # enable debug msgs options IEEE80211_SUPPORT_MESH # enable 802.11s draft support device wlan_wep # 802.11 WEP support +device wlan_tkip # 802.11 TKIP support device wlan_ccmp # 802.11 CCMP support device wlan_gcmp # 802.11 GCMP support -device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support diff --git a/sys/arm/conf/TEGRA124 b/sys/arm/conf/TEGRA124 index ad5532427eda..ff23e63f77bd 100644 --- a/sys/arm/conf/TEGRA124 +++ b/sys/arm/conf/TEGRA124 @@ -107,9 +107,9 @@ device ums # USB mouse # Wireless NIC cards #device wlan # 802.11 support #device wlan_wep # 802.11 WEP support +#device wlan_tkip # 802.11 TKIP support #device wlan_ccmp # 802.11 CCMP support #device wlan_gcmp # 802.11 GCMP support -#device wlan_tkip # 802.11 TKIP support #device wlan_amrr # AMRR transmit rate control algorithm # PCI diff --git a/sys/conf/NOTES b/sys/conf/NOTES index f841f279cf8d..c7a8862fb906 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -888,13 +888,13 @@ options IEEE80211_DEBUG_REFCNT options IEEE80211_SUPPORT_MESH #enable 802.11s D3.0 support options IEEE80211_SUPPORT_TDMA #enable TDMA support -# The `wlan_wep', `wlan_tkip', and `wlan_ccmp' devices provide -# support for WEP, TKIP, AES-CCMP and AES-GCMP crypto protocols optionally -# used with 802.11 devices that depend on the `wlan' module. +# The `wlan_wep', `wlan_tkip', `wlan_ccmp', and `wlan_gcmp' devices provide +# support for WEP, TKIP, AES-CCMP and AES-GCMP crypto protocols optionally used +# with 802.11 devices that depend on the `wlan' module. device wlan_wep +device wlan_tkip device wlan_ccmp device wlan_gcmp -device wlan_tkip # The `wlan_xauth' device provides support for external (i.e. user-mode) # authenticators for use with 802.11 drivers that use the `wlan' diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index f426c3d11874..2cc883de94fa 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -247,9 +247,9 @@ device wlan # 802.11 support options IEEE80211_DEBUG # enable debug msgs options IEEE80211_SUPPORT_MESH # enable 802.11s draft support device wlan_wep # 802.11 WEP support +device wlan_tkip # 802.11 TKIP support device wlan_ccmp # 802.11 CCMP support device wlan_gcmp # 802.11 GCMP support -device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64 index 6675a4d299f4..8fb1eeea23c3 100644 --- a/sys/powerpc/conf/GENERIC64 +++ b/sys/powerpc/conf/GENERIC64 @@ -232,9 +232,9 @@ device wlan # 802.11 support options IEEE80211_SUPPORT_MESH # enable 802.11s draft support options IEEE80211_DEBUG # enable debug msgs device wlan_wep # 802.11 WEP support +device wlan_tkip # 802.11 TKIP support device wlan_ccmp # 802.11 CCMP support device wlan_gcmp # 802.11 GCMP support -device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support diff --git a/sys/powerpc/conf/GENERIC64LE b/sys/powerpc/conf/GENERIC64LE index f6f7d44c424b..0a150044dcc3 100644 --- a/sys/powerpc/conf/GENERIC64LE +++ b/sys/powerpc/conf/GENERIC64LE @@ -228,9 +228,9 @@ device wlan # 802.11 support options IEEE80211_SUPPORT_MESH # enable 802.11s draft support options IEEE80211_DEBUG # enable debug msgs device wlan_wep # 802.11 WEP support +device wlan_tkip # 802.11 TKIP support device wlan_ccmp # 802.11 CCMP support device wlan_gcmp # 802.11 GCMP support -device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support From nobody Fri Sep 12 09:35:40 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNTn90X4mz67DwF; Fri, 12 Sep 2025 09:35: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNTn86kwrz3L92; Fri, 12 Sep 2025 09:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WAoQet1wD6KlOh37gJMDPzYKGbE9bWmD1VKRLG5+DA=; b=H7ZW4WtMHB/3M94gexcn2kDNq3GbUKeMt4zgAg5o9WyE/PLe+Wgvf80WvXgWh4IAgZcufN ZVgc3TCC37rfp6MbBsYPDmngOejWHRXm+rUVe3BHRjg/DAI/HgUcK1zVF7Itgr27mRHdyD kac43p4E3wPwkhd2GduOCdc/WwG7IkHdsZbmNlBViKNJVDEj6q6Uk/ToCRmHVlQARj0dc5 Wr2hwx+ToRuv2jawX7B1clj0CaCLS1KJrHKsZFA5lV/IARXkwWNCtwwP02yQ5lOjdyORJS f2oQSZbLJZdDnU5WNqNqR82Bv1p8wbfYuB/o53l+Dv/O2WuRlD1grs0TvCRKfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757669741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WAoQet1wD6KlOh37gJMDPzYKGbE9bWmD1VKRLG5+DA=; b=Au+9w7g5QeZJ67t4ur200w+2zkfEjELZP9mRM8LEUJb29wwcawQ0Y/tdoySAy4twmKU0/L QNan6E8CAALsC0whswtEofElihLlmt/HaqnAmkWuCp07xJrRAkm25+D5j14nU+z7ntwPgJ S1I7ZF5cG+bHa7wQ4HpFHT3RyNyduMEn+h8RgIjeE5RnIk+R3sfdFr4B2hpOJaO7HiLCor aCJG4bOeKS/fshEUmiutIDyBFbbyIORDyzqxb/bqLNdDR3scivd5iClb+UOD1SJ1CG8Dbr oEgCBwm/wa+curBFc+tpzHZyxxrnVOvn5A4GfkFyOa8qC0+7tHPqgBJbjil1uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757669741; a=rsa-sha256; cv=none; b=v+56TvHmI/jBMeun8/1oTlSu2Hyh0sIUcQ/VGmNCPDKrxDTjCr9aV9OsYMKbmZT+VAmsV/ k576J2+kKCuBJDoW1JcMBUumlURQLuNdEuJsOZldaJ1PbBKNzJs76vRqTCeo0J5S7jZkyJ SxiJNu8GivYyZEk2N3bPWdqnv4VnFeaBr0lqvqekpz1eaqlZ7ZSwhaAkkQH+klF9aB8vGr rkHc2t93qFT8DNhVgrF0ykXeGGuGXwDEHoo0eaKFJcqQEwtPkxnLeNWqfbbwosXHaThb+/ 0sL2pOHYksieiRAO7VfjiJvOcDj0NgWDgfYg72PF1X+1b5Oa2UU5TyH8w+WjsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNTn86Bkbzn5y; Fri, 12 Sep 2025 09:35: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 58C9ZeFZ049273; Fri, 12 Sep 2025 09:35:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C9ZevZ049270; Fri, 12 Sep 2025 09:35:40 GMT (envelope-from git) Date: Fri, 12 Sep 2025 09:35:40 GMT Message-Id: <202509120935.58C9ZevZ049270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 8392bdd176c4 - stable/14 - NOTES: Fix whitespace in "options MAC_DO" List-Id: Commits to the stable branches 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8392bdd176c4eb0c74888dc8ebfe077b7cbb1aaf Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8392bdd176c4eb0c74888dc8ebfe077b7cbb1aaf commit 8392bdd176c4eb0c74888dc8ebfe077b7cbb1aaf Author: Olivier Certner AuthorDate: 2025-09-09 15:47:50 +0000 Commit: Olivier Certner CommitDate: 2025-09-12 09:34:43 +0000 NOTES: Fix whitespace in "options MAC_DO" For "options", we put a space before a TAB so that commenting out an option doesn't move the columns. No functional change. Fixes: c8d8cac2a847 ("mac_do(4): allow compiling into kernel") MFC after: 3 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 1cf67b587023af90f2b2c6e87d9103ec42b2b9b2) --- sys/conf/NOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 91532028bae0..4b02a23c1c6e 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1245,7 +1245,7 @@ options MAC options MAC_BIBA options MAC_BSDEXTENDED options MAC_DDB -options MAC_DO +options MAC_DO options MAC_IFOFF options MAC_IPACL options MAC_LOMAC From nobody Fri Sep 12 09:53:01 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNV995Ls9z67FPZ; Fri, 12 Sep 2025 09:53:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNV994nHBz3N7m; Fri, 12 Sep 2025 09: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=1757670781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XOdhM/1SDybuSGfvHRs/m0NjgcGa0xHwMdT3Z3AKIXc=; b=Db1U/y/MBoTJmeea32agBD1/9qgkA5gMV2mLMM1naSwwkWss0NlXqO3T2n4ffcMiJ63MEw q7kZrOBa/Eb5d7nC3OANxZVI3bZbywUknQHeoYUCCyKAWMDesqn7V0jFsr5dHNmlDWFTqG Hw/0yytpRXVo5jpRa2xZnhzzmPEriecXeCjAeKxZ34hHF67yiTHff4rKy6/XYU5w+nKflj OfdtF6vuqmpT0s323kR7REOyrnyqgGgKC7tqMVVJzIeKYe6ve7+MWKeYbgfgFU1ui9yiDB fd/qdc8ffkLkpMpbgE+6K6T2Bti+DNth+KPzudmjweE/A0UuF7vQ+Gd3B+T1cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757670781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XOdhM/1SDybuSGfvHRs/m0NjgcGa0xHwMdT3Z3AKIXc=; b=jNYj8OTOhbBM7g8vKbekxf8K+RnSShznIas0F7QNve9lVjKDK0/Pvzr9gVDUFyZWib/9/R kEkHTc6WzepN41lsZS8Vl/6uOGA6cXZFBU74O31vB57Aje6ahlgIpaI+s53Rvfc9bi4Bsy x879L/0+wAds3gosXcf6NjawdkDE6hhriDzUIHNcixzFxfp7ZPWAuG7vMUDl3f7X+WRU+T y1mLCHDwdLZAo6XPXgkYnO6MJGPeNC+dyFytGij85fx8OuILpxc9FfE3MLwoKp9p9SMiM8 LP4NRlE0nEWNjphGVdqYa5DRtCIWFCn+VRR37yhYpD5zVtvsk/N/xDN2uzrAwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757670781; a=rsa-sha256; cv=none; b=kshWhOcqNm2H5lX2uDFehhvw9qnKFL/6qaxwlb0SXB5YZvG6+THGbqjdaKRHyzc2EgXAqW +h0U2nkPFDUgQzXv/mleixrJZDirG1GymXbr9LFsTb7ijg71nBna4l9LPH4EHsE6vCtnfx +sCum/8o7SsRdxXsiO6EWRqtH8CGAblE7effKhaDbbC+hSP5ScwIY4abQN19NGaPqs9GG4 h4DWq8tMbSEoqbw5QN57c3OJBeCyrWuQJMg/OoOpPu54gH2f+DwCO6B0Dfl7MNIc7CYFKF JV3xTvl7sDjIpQFJqolb5VGPTjKd0t7gw+D3vHyBnyZ4HjDBmnwIsLg4ErzuEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNV994NtkzpGQ; Fri, 12 Sep 2025 09: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 58C9r15x084969; Fri, 12 Sep 2025 09: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 58C9r13Y084967; Fri, 12 Sep 2025 09:53:01 GMT (envelope-from git) Date: Fri, 12 Sep 2025 09:53:01 GMT Message-Id: <202509120953.58C9r13Y084967@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f3631902a58f - stable/14 - chroot.8: Be more precise when describing '-u', '-g' and '-G' List-Id: Commits to the stable branches 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f3631902a58ffa659a5eebc15395992953b5a30b Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f3631902a58ffa659a5eebc15395992953b5a30b commit f3631902a58ffa659a5eebc15395992953b5a30b Author: Olivier Certner AuthorDate: 2025-07-25 06:36:17 +0000 Commit: Olivier Certner CommitDate: 2025-09-12 09:51:37 +0000 chroot.8: Be more precise when describing '-u', '-g' and '-G' Reviewed by: kevans, ziaee MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51511 (cherry picked from commit 04a6dc7974ee02004c9ccbb0c28d14a3271fb56a) --- usr.sbin/chroot/chroot.8 | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/usr.sbin/chroot/chroot.8 b/usr.sbin/chroot/chroot.8 index dfc915aa1298..e434a5b99fbf 100644 --- a/usr.sbin/chroot/chroot.8 +++ b/usr.sbin/chroot/chroot.8 @@ -27,7 +27,7 @@ .\" .\" @(#)chroot.8 8.1 (Berkeley) 6/9/93 .\" -.Dd July 20, 2021 +.Dd July 25, 2025 .Dt CHROOT 8 .Os .Sh NAME @@ -54,13 +54,15 @@ or an interactive copy of the user's login shell. The options are as follows: .Bl -tag -width "-G group[,group ...]" .It Fl G Ar group Ns Op Cm \&, Ns Ar group ... -Run the command with the permissions of the specified groups. +Run the command with the specified groups as supplementary groups. .It Fl g Ar group -Run the command with the permissions of the specified -.Ar group . +Run the command with the specified +.Ar group +as the real, effective and saved groups. .It Fl u Ar user -Run the command as the -.Ar user . +Run the command with the specified +.Ar user +as the real, effective and saved users. .It Fl n Use the .Dv PROC_NO_NEW_PRIVS_CTL From nobody Fri Sep 12 09:53:02 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNV9C1SsCz67FZ9; Fri, 12 Sep 2025 09:53: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNV9B6Md7z3N3Q; Fri, 12 Sep 2025 09:53:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757670782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txiu6zLHsmD4Q58aphkom0ZNq1dAuFoHeBB6MHWzNqU=; b=IHqDuMk/8VhNlXp0bmykeuWiX0+T6n9qXstaivfX27uuIPz/nmsYKVAZ800XhiYuKf0EQ0 WowBBZOxtePJFaSoKQEpUo3BFnl7v7NsswAu4xbd92TNP59XkVA58yFt2Npe1ddOcFW1h1 YiLEX8X/Q5kNyio+VcNTqr8ATtcOLyDBNrq2y9ylbwkZ3rYQWSAzayx3JDF/bej5P159on Fg75jGAYdnLfe3JHMleL1EpgtOYtY35CM9I0ZxoXz1lfrbAIBmUSWgQXP4tOjoSjVzwzdP i5ZqNT6JeGwE0HJsKI05bgXJGlIEFqS64ZcXQ/fiKyPiJgb/m8tVe+ltMBh0Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757670782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txiu6zLHsmD4Q58aphkom0ZNq1dAuFoHeBB6MHWzNqU=; b=depoajEU6kjHzX8gNK06ECXzjdVNIVqRvdJbWn6ZuDIfOeluKiU/2lq5IeGOv2758ehQP/ UNEsLH/L/BoGFwteQdjGcusEasBzG4eueopdX/8Y7s4DF02qljYRn7V2xKNNR3SdSJEqVn FxeaRNyMe1Xf8hpn8dzoU5LM1MX+8e2OCOXCg9o8qEzzHcrPU/WRDEg1qaeh3aDeRTcqyh Xcn0NQK1wPR4m2TPJVihCP8QbbUwz8DVelJ+LSM8V1/+NZKf4yvqJrLT56K/nISq9LuoyJ or2ZAraEUDbysZi1wBiGGiIg1HoBdIyk7plYG9o3oOo+8STe/ObVCBwOb+uNDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757670782; a=rsa-sha256; cv=none; b=SccKzOQfhnCF3ErWOIYyznGx/Kd8N+Fm0xP1BZvJGB9JDuRy8mRWxCOOH1ZwP53PHcUIR2 x5JkRwi5OJ6bD/Pd2+bh4WXgiWE0rAeTDdirYnt3Orbww7AXTgwdCMGl9Oq5wKivq3Dd5J mtxNbeu/z3nVBo2rhYELvH7jJ3Kw36br2R9cEZSWjBcofQ4joT+9G0H8pmt6slwc1ci/oZ tdK/MGqHR8Xykq8Ttk9TU2qSHQHzk6bwyEJQKPYCb3vV4lNAyPtIu1twoEEKuQlUPO6D1u Gpwu5m6ce+WRCi/onN+igh9R1Mdh1C0ROMsgA0O7pjYmXzXQlosUa9GGGLjKYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNV9B5K5dzpJr; Fri, 12 Sep 2025 09:53: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 58C9r28s085005; Fri, 12 Sep 2025 09:53:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58C9r2RK085002; Fri, 12 Sep 2025 09:53:02 GMT (envelope-from git) Date: Fri, 12 Sep 2025 09:53:02 GMT Message-Id: <202509120953.58C9r2RK085002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5ea201a58bc7 - stable/14 - MAC/do: Rename the internal malloc type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5ea201a58bc719808026da1ffeed02c377f43a8a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea201a58bc719808026da1ffeed02c377f43a8a commit 5ea201a58bc719808026da1ffeed02c377f43a8a Author: Kushagra Srivastava AuthorDate: 2025-08-21 10:01:48 +0000 Commit: Olivier Certner CommitDate: 2025-09-12 09:52:05 +0000 MAC/do: Rename the internal malloc type From M_DO to M_MAC_DO. While here, make the descriptions more accurate. (Commit message by olce@.) Reviewed by: olce MFC after: 3 days Sponsored by: Google LLC (GSoC 2025) Sponsored by: The FreeBSD Foundation (cherry picked from commit 6612fc306d3eb58f85f4cf4533161a1340374709) --- sys/security/mac_do/mac_do.c | 48 ++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index 9aeafa62b56d..0c4b2d74cdcd 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -45,7 +45,7 @@ SYSCTL_INT(_security_mac_do, OID_AUTO, print_parse_error, CTLFLAG_RWTUN, &print_parse_error, 0, "Print parse errors on setting rules " "(via sysctl(8))."); -static MALLOC_DEFINE(M_DO, "do_rule", "Rules for mac_do"); +static MALLOC_DEFINE(M_MAC_DO, "mac_do", "mac_do(4) security module"); #define MAC_RULE_STRING_LEN 1024 @@ -320,17 +320,17 @@ toast_rules(struct rules *const rules) struct rule *rule, *rule_next; STAILQ_FOREACH_SAFE(rule, head, r_entries, rule_next) { - free(rule->uids, M_DO); - free(rule->gids, M_DO); - free(rule, M_DO); + free(rule->uids, M_MAC_DO); + free(rule->gids, M_MAC_DO); + free(rule, M_MAC_DO); } - free(rules, M_DO); + free(rules, M_MAC_DO); } static struct rules * alloc_rules(void) { - struct rules *const rules = malloc(sizeof(*rules), M_DO, M_WAITOK); + struct rules *const rules = malloc(sizeof(*rules), M_MAC_DO, M_WAITOK); _Static_assert(MAC_RULE_STRING_LEN > 0, "MAC_RULE_STRING_LEN <= 0!"); rules->string[0] = 0; @@ -434,7 +434,7 @@ static void make_parse_error(struct parse_error **const parse_error, const size_t pos, const char *const fmt, ...) { - struct parse_error *const err = malloc(sizeof(*err), M_DO, M_WAITOK); + struct parse_error *const err = malloc(sizeof(*err), M_MAC_DO, M_WAITOK); va_list ap; err->pos = pos; @@ -449,7 +449,7 @@ make_parse_error(struct parse_error **const parse_error, const size_t pos, static void free_parse_error(struct parse_error *const parse_error) { - free(parse_error, M_DO); + free(parse_error, M_MAC_DO); } static int @@ -734,7 +734,7 @@ parse_target_clause(char *to, struct rule *const rule, "Too many target clauses of type '%s'.", to_type); return (EOVERFLOW); } - ie = malloc(sizeof(*ie), M_DO, M_WAITOK); + ie = malloc(sizeof(*ie), M_MAC_DO, M_WAITOK); ie->spec = is; STAILQ_INSERT_TAIL(list, ie, ie_entries); check_type_and_id_spec(type, &is); @@ -785,7 +785,7 @@ pour_list_into_rule(const id_type_t type, struct id_list *const list, STAILQ_FOREACH_SAFE(ie, list, ie_entries, ie_next) { MPASS(idx < *nb); array[idx] = ie->spec; - free(ie, M_DO); + free(ie, M_MAC_DO); ++idx; } MPASS(idx == *nb); @@ -875,7 +875,7 @@ parse_single_rule(char *rule, struct rules *const rules, STAILQ_INIT(&gid_list); /* Freed when the 'struct rules' container is freed. */ - new = malloc(sizeof(*new), M_DO, M_WAITOK | M_ZERO); + new = malloc(sizeof(*new), M_MAC_DO, M_WAITOK | M_ZERO); from_type = strsep_noblanks(&rule, "="); MPASS(from_type != NULL); /* Because 'rule' was not NULL. */ @@ -934,7 +934,7 @@ parse_single_rule(char *rule, struct rules *const rules, } while (to_list != NULL); if (new->uids_nb != 0) { - new->uids = malloc(sizeof(*new->uids) * new->uids_nb, M_DO, + new->uids = malloc(sizeof(*new->uids) * new->uids_nb, M_MAC_DO, M_WAITOK); error = pour_list_into_rule(IT_UID, &uid_list, new->uids, &new->uids_nb, parse_error); @@ -950,7 +950,7 @@ parse_single_rule(char *rule, struct rules *const rules, } if (new->gids_nb != 0) { - new->gids = malloc(sizeof(*new->gids) * new->gids_nb, M_DO, + new->gids = malloc(sizeof(*new->gids) * new->gids_nb, M_MAC_DO, M_WAITOK); error = pour_list_into_rule(IT_GID, &gid_list, new->gids, &new->gids_nb, parse_error); @@ -970,13 +970,13 @@ parse_single_rule(char *rule, struct rules *const rules, return (0); einval: - free(new->gids, M_DO); - free(new->uids, M_DO); - free(new, M_DO); + free(new->gids, M_MAC_DO); + free(new->uids, M_MAC_DO); + free(new, M_MAC_DO); STAILQ_FOREACH_SAFE(ie, &gid_list, ie_entries, ie_next) - free(ie, M_DO); + free(ie, M_MAC_DO); STAILQ_FOREACH_SAFE(ie, &uid_list, ie_entries, ie_next) - free(ie, M_DO); + free(ie, M_MAC_DO); MPASS(*parse_error != NULL); return (EINVAL); } @@ -1029,7 +1029,7 @@ parse_rules(const char *const string, struct rules **const rulesp, bcopy(string, rules->string, len + 1); MPASS(rules->string[len] == '\0'); /* Catch some races. */ - copy = malloc(len + 1, M_DO, M_WAITOK); + copy = malloc(len + 1, M_MAC_DO, M_WAITOK); bcopy(string, copy, len + 1); MPASS(copy[len] == '\0'); /* Catch some races. */ @@ -1047,7 +1047,7 @@ parse_rules(const char *const string, struct rules **const rulesp, *rulesp = rules; out: - free(copy, M_DO); + free(copy, M_MAC_DO); return (error); } @@ -1227,7 +1227,7 @@ parse_and_set_rules(struct prison *const pr, const char *rules_string, static int mac_do_sysctl_rules(SYSCTL_HANDLER_ARGS) { - char *const buf = malloc(MAC_RULE_STRING_LEN, M_DO, M_WAITOK); + char *const buf = malloc(MAC_RULE_STRING_LEN, M_MAC_DO, M_WAITOK); struct prison *const td_pr = req->td->td_ucred->cr_prison; struct prison *pr; struct rules *rules; @@ -1251,7 +1251,7 @@ mac_do_sysctl_rules(SYSCTL_HANDLER_ARGS) free_parse_error(parse_error); } out: - free(buf, M_DO); + free(buf, M_MAC_DO); return (error); } @@ -1574,7 +1574,7 @@ set_data_header(void *const data, const size_t size, const int priv, static void * alloc_data(void *const data, const size_t size) { - struct mac_do_data_header *const hdr = realloc(data, size, M_DO, + struct mac_do_data_header *const hdr = realloc(data, size, M_MAC_DO, M_WAITOK); MPASS(size >= sizeof(struct mac_do_data_header)); @@ -1603,7 +1603,7 @@ alloc_data(void *const data, const size_t size) static void dealloc_thread_osd(void *const value) { - free(value, M_DO); + free(value, M_MAC_DO); } /* From nobody Fri Sep 12 15:08:18 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNd8y5BbWz67YpH; Fri, 12 Sep 2025 15:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNd8y4dctz4F9D; Fri, 12 Sep 2025 15:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757689698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m55/IzFcMPWd1Df7ODeBxXPv+AXld3Zo7zAxBXpscAo=; b=JN7d08KdobAa7IgX4zKInKeZ/qs2/R1eMrL8jCgajMVF7RnMXCsoaXv/NpubVYQ+2Yu1jW VvXqZ3OIeUWLAjnSK24kV9bS2LVE/EVLUAc+G6ZrmZLBRa2CCwzHJzZLLoMp3oXR87fvYC u/N+NIdxhz9B9CQ7jn5kg3QLq72mBTSjbOrF7IO+276WuscPtuMceRbb0NgZElC7ir//CF YVQANmWXw4cX/msUgrLGjSTOd+GNLdHDxy+DCIMrAMkglKHtaUOHXWyXLZR/l1eS2yyjh6 JzrvIbYjTODKiLtryk5tE9oqGvRPVpe60W6mRCqWIKr/w4j9d+14xPUIkcW3eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757689698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m55/IzFcMPWd1Df7ODeBxXPv+AXld3Zo7zAxBXpscAo=; b=dR7FINYjiRzBiHblSAEOdArMmwVwpLELr/889/OIZdFcQztzjdprc/RMOENpW79I6F4sNd L/1tPREHkbqU9Lou+hFQ06e1VTIrfMyjLMXO88JgKCZ82wP2Q/fALtoHF2dkSjYqqQ1hBV egEpvUDpT61cehYLMVWnmLXeQ2SvZmTgQG5cpnGM1/+QAwf3cQd7xQ+GCa+jenbVzd7Ba2 DAK5fvpWF1U/t/EOfCs6N+B6UTzkpkNd45zW7GoveFFmfA9+wAh3yAX0lNsS+EhfF33EPq IGYS6zQbFj/SkaMebl8DYtj0wP9uPWxBVFkX/bk3syJn2Owdp0ZRtm/UDV8P2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757689698; a=rsa-sha256; cv=none; b=Ia1G6Mc6ZfUL9QLkDrztedDjUf4rtkWwigCvoF0xaLU5bjbtfA4ISHgzcomlx88kIP0rwr +WcdMENlG8BHspWcnUEOFJXzLwI2Kn/Id4U2g0CQvC1fB7PS/+hs35PR1qpUMeqWSJOdDD MrpnzxPoLvDWRE6Q+8EyLKWg8ZbUCMIzmAfb4KX0w0RJqhsQx1pZLk3qYA621P5hixJetZ Y+0bbUYaaXr2MY4LSK+GjdgDiO60/sRQWeqjL9sBaG8wu8D0G1gJf10SfA7GcyAAidtLtE WqqS7YLcK9vR4QoF5A99wsdMTYbdF2IEQSEb1P3a5zb74SbYDE8UfCshVjDmzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNd8y4BC3zxd6; Fri, 12 Sep 2025 15:08:18 +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 58CF8ItU067753; Fri, 12 Sep 2025 15:08:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58CF8I9A067750; Fri, 12 Sep 2025 15:08:18 GMT (envelope-from git) Date: Fri, 12 Sep 2025 15:08:18 GMT Message-Id: <202509121508.58CF8I9A067750@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 00a35910b4b0 - stable/14 - bsdinstall: Drop outdated comments about ZFS dataset compression List-Id: Commits to the stable branches 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: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 00a35910b4b07d539c3e082bca3fb9a7f9ee0c43 Auto-Submitted: auto-generated The branch stable/14 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=00a35910b4b07d539c3e082bca3fb9a7f9ee0c43 commit 00a35910b4b07d539c3e082bca3fb9a7f9ee0c43 Author: Michael Osipov AuthorDate: 2025-08-31 10:10:48 +0000 Commit: Michael Osipov CommitDate: 2025-09-12 15:07:58 +0000 bsdinstall: Drop outdated comments about ZFS dataset compression All datasets on zroot pool are compressed by default since FreeBSD 11.0 [1], no need to mention that on some specific datasets these days. [1] 47206692f2cca020891d1eec5028e02c3e6f56c5 Reviewed by: jrm (mentor), ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D52304 (cherry picked from commit f304c5bb8be65df83b86f8a50e1c7982b266262d) --- usr.sbin/bsdinstall/bsdinstall.8 | 4 ++-- usr.sbin/bsdinstall/scripts/zfsboot | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bsdinstall/bsdinstall.8 b/usr.sbin/bsdinstall/bsdinstall.8 index cc8920b11aff..5d5cd4fa0a87 100644 --- a/usr.sbin/bsdinstall/bsdinstall.8 +++ b/usr.sbin/bsdinstall/bsdinstall.8 @@ -671,7 +671,7 @@ is: # Home directories separated so they are common to all BEs /home mountpoint=/home -# Compress /tmp, allow exec but not setuid +# Create /tmp and allow exec but not setuid /tmp mountpoint=/tmp,exec=on,setuid=off # Do not mount /usr so that 'base' files go to the BEROOT @@ -680,7 +680,7 @@ is: # Ports tree /usr/ports setuid=off -# Source tree (compressed) +# Source tree /usr/src # Create /var and friends diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index 445e491eb391..94eec0e20faa 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -152,7 +152,7 @@ f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS=" # Home directories separated so they are common to all BEs /home mountpoint=/home - # Compress /tmp, allow exec but not setuid + # Create /tmp and allow exec but not setuid /tmp mountpoint=/tmp,exec=on,setuid=off # Don't mount /usr so that 'base' files go to the BEROOT @@ -161,7 +161,7 @@ f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS=" # Ports tree /usr/ports setuid=off - # Source tree (compressed) + # Source tree /usr/src # Create /var and friends From nobody Fri Sep 12 15:23:16 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNdVD3KsYz67ZXh; Fri, 12 Sep 2025 15:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNdVD1y79z4J57; Fri, 12 Sep 2025 15:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757690596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c2ozQ07cJ351Hv0t0Ts/Hhei9sUBfyqftTennXDbWP0=; b=cE06Nf32D0knu3ZF27w2SjI4CARNBkqiiIwFIdWxv5C7KjK6v6NmUWP9votAUYOEwxKu4L ECnFfPpOXaryihk7R4ydpmSNB90WdRcHwwq2gMpbHoLHpiokReUfFXC9KeFaIDSKgIo7xY r1J2+gLhpVFt8+t2lxFNfejw6K+l2L4ZQ5HzsoTMEPD1U+oTfiniHbWP8NWAPCnfRhq9nM xxums623j3rAEWmIYz1hq8Nye/5KbklyYZPwbPqsKhYtLQUjZY2Izgvvy0uwnQlCPVgIMH 4VPPLa9726ehuoObxwYzfpT0hZg2oIeuu5g6nhOcMmSuaFW/BAov1yv4ZJu2cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757690596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c2ozQ07cJ351Hv0t0Ts/Hhei9sUBfyqftTennXDbWP0=; b=PmGj1n2nd3Jz25BVCx2SfvJtHv2OKpX35ra8HTYV7/tQWoF29kW4w7BNbczEnxRTMNZmVn GlzhwwJUzMLa7jWOUdt1LAw7ZBK49em7yyKB3F5/ZneolyBSQu94hSILJ0s7+vDXAZMikl Z1CLeNtPGbnoKaebnWbJTklSDIwWnPcDM7N/omTV8029aRIVRsbESyDOoLCKZ2e5AgY4t3 pbVPU289QAISi1NeJV+yO7GTyq2uPCQ1idE2fxa5e662AnW9J7vOxQfs1XawZ8FZuCUxvk kphr39g7N8iQy4TOWk23LoedHfZu0tFAexbwA58fF9Hw4P9T+UEyRXu0w0lhAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757690596; a=rsa-sha256; cv=none; b=q161dcBiwHXhdd6ZvnrC2P43H5DujJThY1WHy8gMsvyzgDKcx+6wddKsssy4FDF2d5wWhi s0WT3tQyU+u6UaDiK2Ao0V2gbfORwPuIeLjHsj8iGle0esw09oTXvq1EiHspl3xzh8IDNg t96y0yRLbUz9tACR2X7NPEaMeBScJTCF08LadAGwRoGB3Q//O1NepboFPYc3sjpMyTKi7X +SDrp452QRj7tdoKKt+IZnpAyv5gzYcJI6YJY1TqXp+OEufshtDyaJjUbvPQPm74v/segd Ktjdq7q1Xp9uNxnJ6nhZieKR9/fwymd8wJfX/ZzoUc7EW4R6ezyhTlrHkY9g4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNdVD1YlQzyFk; Fri, 12 Sep 2025 15:23:16 +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 58CFNGsc004015; Fri, 12 Sep 2025 15:23:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58CFNG3v004012; Fri, 12 Sep 2025 15:23:16 GMT (envelope-from git) Date: Fri, 12 Sep 2025 15:23:16 GMT Message-Id: <202509121523.58CFNG3v004012@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 7f14cf603e9b - stable/13 - bsdinstall: Drop outdated comments about ZFS dataset compression List-Id: Commits to the stable branches 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: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7f14cf603e9b312917e149386a8654bf105b04d8 Auto-Submitted: auto-generated The branch stable/13 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=7f14cf603e9b312917e149386a8654bf105b04d8 commit 7f14cf603e9b312917e149386a8654bf105b04d8 Author: Michael Osipov AuthorDate: 2025-08-31 10:10:48 +0000 Commit: Michael Osipov CommitDate: 2025-09-12 15:22:52 +0000 bsdinstall: Drop outdated comments about ZFS dataset compression All datasets on zroot pool are compressed by default since FreeBSD 11.0 [1], no need to mention that on some specific datasets these days. [1] 47206692f2cca020891d1eec5028e02c3e6f56c5 Reviewed by: jrm (mentor), ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D52304 (cherry picked from commit f304c5bb8be65df83b86f8a50e1c7982b266262d) --- usr.sbin/bsdinstall/bsdinstall.8 | 4 ++-- usr.sbin/bsdinstall/scripts/zfsboot | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bsdinstall/bsdinstall.8 b/usr.sbin/bsdinstall/bsdinstall.8 index 7862cc241a10..05176b04b872 100644 --- a/usr.sbin/bsdinstall/bsdinstall.8 +++ b/usr.sbin/bsdinstall/bsdinstall.8 @@ -640,7 +640,7 @@ is: /$ZFSBOOT_BEROOT_NAME mountpoint=none /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME mountpoint=/ -# Compress /tmp, allow exec but not setuid +# Create /tmp and allow exec but not setuid /tmp mountpoint=/tmp,exec=on,setuid=off # Do not mount /usr so that 'base' files go to the BEROOT @@ -652,7 +652,7 @@ is: # Ports tree /usr/ports setuid=off -# Source tree (compressed) +# Source tree /usr/src # Create /var and friends diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index 975b5c2b6cc5..aa0c2648911f 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -144,7 +144,7 @@ f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS=" /$ZFSBOOT_BEROOT_NAME mountpoint=none /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME mountpoint=/ - # Compress /tmp, allow exec but not setuid + # Create /tmp and allow exec but not setuid /tmp mountpoint=/tmp,exec=on,setuid=off # Don't mount /usr so that 'base' files go to the BEROOT @@ -156,7 +156,7 @@ f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS=" # Ports tree /usr/ports setuid=off - # Source tree (compressed) + # Source tree /usr/src # Create /var and friends From nobody Fri Sep 12 15:38:15 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNdqW2kMKz67Zrl; Fri, 12 Sep 2025 15:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNdqW26dlz4LrZ; Fri, 12 Sep 2025 15:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757691495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PF0qB878FXBdlH99/4SS3dKN2wqBJY9GCu7mmduX3DI=; b=d/iWVTbZNTGENt+3bP08vVmJcO4VIzKzNysy4AdzBoLMye8kClDYRmZYP4n0fACJ9RgIaa olj7Twe92U0zqVwuIUoLlSiJAswlCZYxfgNZetLRHbc+2c3t7HSWUSgEdzm8ZdjPIU1Kgq +u/CcPNbgpAw2l0b524o59DFcpuqAxQpH0X5XnvZ4Y8ktTQPzyhhbHPaQQscbwGYaz14Zc Se/GVZWklT+vYTj3xC70h60dNl5i7mgSAPkyve47HgTHnwr9mPgm5zCFl22UkwGWl/Rn41 dHDiQYzDCohOFPcv2t4ZFFBowEaJxa8voZp5cdv5cdkRAEoVJr3UMNido/gaTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757691495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PF0qB878FXBdlH99/4SS3dKN2wqBJY9GCu7mmduX3DI=; b=QvBiEHrTit2GpJYGhnhxxAY76T+yhxoxTCy8fRcy/0wKaP8CpFsE4SbGMQ7nIH/f5goLqR 6JQpeLIhqGFODWSHIlGl+d7rryr8D+1NTrzj8Ymensv9qJhnbjuBeHXEUyL9NNKsf5vUtN SeYUk5EwF3cL+QlU6WOAbSxMw+WuRdAZgWWYorNYt9/JF789CQhkA/0uWS7yN7t2yoFfeJ /0tEIqqVwJdLgrET4uuc3sI18dgPU0mbawQiXGhBdnn9DD6L18qnPUuq1Ltzpj8ENVdTGj Cxk9a9yNL45Nrx/uWRNnnFYNfK/vIm7VbITBBt31r6Y2f93bp8MYQ4kQYJSbjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757691495; a=rsa-sha256; cv=none; b=T7zNmj+4EXf9q84gC/uv4LlvF4DMYyNaz3rpgSINucPuRZZlgLgAW+lZYkaosHhcDN7PRE UDVf/SjUjJ9oVMyX0LZ0RMKiIpw7LwA0BJeGRQU4vvAhChQgAh0ryjMmRQrcsr3dVJ3mA+ RWHVD9PugWWAerGmT/pqIUNHUE6rjllqF9DHBgFgpyME14H86Kza7ocILcbvIkUAez6KZL Vg+bBnn4pGWcZEzyddm7pC8gBm5em9MbfpG9EUaRXi8oMv5BCmNBQLrd7nX3om30bmbAC0 o+P5y+ck0b9hf0gV0aUSDDhzH2dRsoXukTnO4gQ+O5OM+1A7ALSdnndtEGkUDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNdqW1MSMzyPR; Fri, 12 Sep 2025 15:38:15 +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 58CFcFFi024994; Fri, 12 Sep 2025 15:38:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58CFcFIh024991; Fri, 12 Sep 2025 15:38:15 GMT (envelope-from git) Date: Fri, 12 Sep 2025 15:38:15 GMT Message-Id: <202509121538.58CFcFIh024991@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: c8a4d636af8a - stable/15 - pkgbase: fix alpha and beta versioning List-Id: Commits to the stable branches 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c8a4d636af8ac360ce6329c4a029dd8934d904de Auto-Submitted: auto-generated The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c8a4d636af8ac360ce6329c4a029dd8934d904de commit c8a4d636af8ac360ce6329c4a029dd8934d904de Author: Baptiste Daroussin AuthorDate: 2025-09-12 15:20:25 +0000 Commit: Baptiste Daroussin CommitDate: 2025-09-12 15:37:38 +0000 pkgbase: fix alpha and beta versioning MFC After: 1 day (cherry picked from commit 1bc7ee74b6a80081f0f5764970e3949e834965f1) --- Makefile.inc1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 01866f949e49..98059640daab 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -585,10 +585,10 @@ BRANCH_EXT= ${MAJOR_REVISION}.snap EXTRA_REVISION= .snap${_TIMENOW} .elif ${_BRANCH:MALPHA*} BRANCH_EXT= alpha -EXTRA_REVISION= .${_BRANCH:C/ALPHA([0-9]+).*/\1/}.${_TIMENOW} +EXTRA_REVISION= .a${_BRANCH:C/ALPHA([0-9]+).*/\1/}.${_TIMENOW} .elif ${_BRANCH:MBETA*} BRANCH_EXT= beta -EXTRA_REVISION= .${_BRANCH:C/BETA([0-9]+).*/\1/}.${_TIMENOW} +EXTRA_REVISION= .b${_BRANCH:C/BETA([0-9]+).*/\1/}.${_TIMENOW} .elif ${_BRANCH:MRC*} BRANCH_EXT= rc EXTRA_REVISION= .rc${_BRANCH:C/RC([0-9]+).*/\1/}.${_TIMENOW} From nobody Fri Sep 12 17:09:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNgrd49vzz67gsy; Fri, 12 Sep 2025 17:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNgrd1w1yz3f6l; Fri, 12 Sep 2025 17:09:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757696961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4HTEIxDBNGhgOmmCZ01BVyuHQ/d0RMFq/mZ5cdDLVY=; b=yF69afbV6ICCxkNJuTAsbjXC+BtCTVCIlFRm8gRa2XbSGiBmG5eVGPBU9Rtk8l8fEixVqc 3vXIJ153HCqSr/HUoI0xXaI5PCgQV+u+rCu2IBAp44QjQM0GaBWXuq4Tnza0kF9QzF0kWW BXgOOCNxZup0l8yV4a/dETzg3YloX8csxBo2rYkoRaQzjTEaEdjli9FEM9flspn8bEtScw EpLPsyQqO7Of4oPWPTokiNe9GSMIeMC0KtVaeQYiJey0Fmlmocv+Qvg/93tE9g9PC/dMbU xRqq7KdldXB4U31T8GjANqPA+Prxtlc1+6YxJdTo09bNY8lCFcsWUaO9FMsB1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757696961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4HTEIxDBNGhgOmmCZ01BVyuHQ/d0RMFq/mZ5cdDLVY=; b=l83w+XGSGOQPsCMNi68Ab1oS1rmfOTxNo7+kh/vQSxzTzkEAKrnVdIRxE6gTlTgWQurM+g sPZ08Wzx211DOmJmYEd96NEpxrMNJysTvRHRU3X9MXRg7z9y7UWVryeLzHr2NBu8C+0wkR g3g1TRpPn0I9dIneRDdoyt2+/V/5puc4swk+DoJZb1SEwQ5zIl9XXl4NplYWN16Eh09HC5 0I1LYnay9X97CGM5LaPie3m7lmFMULvGDE94qxLw5neYKvTFKtfSpn+W1sZTe8TRWd32m4 bn1JKb9O8OQlAZGXDqRlWCeiQtzjQMDos3osHkHTEgd3bLx/1bv/7l+Cb0wtGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757696961; a=rsa-sha256; cv=none; b=FNQgHVz5CjK62EAH6VrulM1UqwA2hDNKfJ3MJjcE88MiPb9y6UbPp0CJmiEXa2r3l7RsoN zoeQgBUsJ2VDrjn9xSC0SncaKJVyp14603F1mEUeSEgS8xdINcw76kIBJOhqX5LzmN7e0N wbV3FLJPOfEOKK3GQ2ax83Q3ev50PkF4707qDfwyal3NaB46nvjrVMgFecOPIIc3lhtmXY THDCDkeNuXRSy2tAKqIF3uZcLXYuOuUjejcLZ/gEQpPrVheaauXubqHMwB71Dv1lGNPgSb XoRpgk8mZpvRFIrefTB8r8S7DFZgnxmftjP6nxhzMjxVo9kExKNdkq2D+uEQDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNgrd1TlFz11HY; Fri, 12 Sep 2025 17:09: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 58CH9LIs095018; Fri, 12 Sep 2025 17:09:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58CH9Ldq095015; Fri, 12 Sep 2025 17:09:21 GMT (envelope-from git) Date: Fri, 12 Sep 2025 17:09:21 GMT Message-Id: <202509121709.58CH9Ldq095015@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jens Schweikhardt Subject: git: 8d2d6647d65a - stable/14 - Supercharge the most beautiful console font ever with +4300 glyphs. List-Id: Commits to the stable branches 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: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8d2d6647d65a6a104551ca7a9ddd9a9563eccf21 Auto-Submitted: auto-generated The branch stable/14 has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=8d2d6647d65a6a104551ca7a9ddd9a9563eccf21 commit 8d2d6647d65a6a104551ca7a9ddd9a9563eccf21 Author: Jens Schweikhardt AuthorDate: 2025-08-29 19:31:17 +0000 Commit: Jens Schweikhardt CommitDate: 2025-09-12 17:08:15 +0000 Supercharge the most beautiful console font ever with +4300 glyphs. I have increased the glyphs from 502 to 4885. Major additions: * Greek * Cyrillic * International Phonetic Association Extensions * Extended Latin characters * Zapf Dingbats * Tons of arrows * Tons of mathematical symbols * Letterlike symbols and enclosed alphanumerics * Pixel-perfect box drawing * Currency symbols * More punctuation * Just enough Katakana to say コンニチハ * Powerline glyphs in the Private Use Area at U+e0a0 I have tried hard to keep the look of the font for Greek and Cyrillic glyphs, but not for symbols like arrows and mathematical operators where it makes no sense. Please let me know where I messed up (I can only barely read and write Greek, and hardly any Cyrillic and no Japanese at all). I used the documents of The Unicode Standard, Version 16.0 as guidance. But since Unicode is huuuuge, even just the BMP, there's more to come in the future, I hope. Relnotes: yes (cherry picked from commit 9e8c1ab0976c9a645a92ae45ad531ada3e4e6701) --- share/vt/fonts/gallant.hex | 4121 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 4102 insertions(+), 19 deletions(-) diff --git a/share/vt/fonts/gallant.hex b/share/vt/fonts/gallant.hex index 5f45c3d116f4..57a63150954e 100644 --- a/share/vt/fonts/gallant.hex +++ b/share/vt/fonts/gallant.hex @@ -225,8 +225,8 @@ 00ff:0000000000001980198000000000f0f0602030403040188018800d000d000600060004000c00080078007000 0100:1f801f800000060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 0101:0000000000000fc00fc0000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 -0102:1b001b000e00060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 -0103:000000000d800d800700000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +0102:198019800f00060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0103:000000000cc00cc00780000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 0104:000000000000060006000b000b0009001180118010803fc020c0204040604060e0f000c00180030001e00000 0105:00000000000000000000000000000f8018c010c003c01cc030c030c030c039c01ee000c00180030001e00000 0106:030006000c000fc01060202020006000600060006000600060002000302018400f8000000000000000000000 @@ -243,8 +243,8 @@ 0111:00000000006000e0006007f000600f6031e020e0606060606060606070e039601e7000000000000000000000 0112:1f801f8000007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 0113:0000000000001f801f80000000000f0030c0606060607fe060006000300018600f8000000000000000000000 -0114:0d800d8007007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 -0115:000000000d800d800700000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0114:0cc00cc007807fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0115:000000000cc00cc00780000000000f0030c0606060607fe060006000300018600f8000000000000000000000 0116:0600060000007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 0117:00000000000000000600060000000f0030c0606060607fe060006000300018600f8000000000000000000000 0118:0000000000007fc0304030403000300030803f803080300030003000302030207fe000c00180030001e00000 @@ -253,8 +253,8 @@ 011b:0000000018c00d800700020000000f0030c0606060607fe060006000300018600f8000000000000000000000 011c:07000d8000000fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 011d:00000000020007000d8018c000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 -011e:0d800d8007000fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 -011f:000000001b001b000e00000000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 +011e:0cc00cc007800fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 +011f:00000000198019800f00000000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 0120:0300030000000fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 0121:00000000000000000600060000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 0122:0000000000000fc0106020202000600060006000600061f060602060306018600f800600030001800f000000 @@ -268,7 +268,7 @@ 012a:1f801f8000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 012b:0000000000001f801f80000000001e00060006000600060006000600060006001f8000000000000000000000 012c:198019800f001f800600060006000600060006000600060006000600060006001f8000000000000000000000 -012d:000000001b001b000e00000000001e00060006000600060006000600060006001f8000000000000000000000 +012d:00000000198019800f00000000001e00060006000600060006000600060006001f8000000000000000000000 012e:0000000000001f800600060006000600060006000600060006000600060006001f8006000c0018000f000000 012f:00000000000006000600000000001e00060006000600060006000600060006001f8006000c0018000f000000 0130:0600060000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 @@ -301,8 +301,8 @@ 014b:0000000000000000000000000000278079c030c030c030c030c030c030c030c078c000c000c0008007000600 014c:1f801f8000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 014d:0000000000001f801f80000000000f8011c020e06060606060606060704038801f0000000000000000000000 -014e:0d800d8007000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 -014f:0000000000000d800d80070000000f8011c020e06060606060606060704038801f0000000000000000000000 +014e:0cc00cc007800f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +014f:0000000000000cc00cc0078000000f8011c020e06060606060606060704038801f0000000000000000000000 0150:036006c00d800f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 0151:00000000000006c00d801b0000000f8011c020e06060606060606060704038801f0000000000000000000000 0152:0000000000001fe0262046204600c600c610c7f0c610c600c6004600661036101ff000000000000000000000 @@ -331,8 +331,8 @@ 0169:0000000000000e401fc01380000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 016a:1f801f800000f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 016b:0000000000001f801f800000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 -016c:0d800d800700f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 -016d:0000000000000d800d800700000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +016c:0cc00cc00780f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 +016d:0000000000000cc00cc00780000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 016e:07000d800d80f770602060206020602060206020602060206020602070403fc01f8000000000000000000000 016f:0000000007000d800d800700000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 0170:06c00d801b00f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 @@ -351,18 +351,1399 @@ 017d:18c00d8007003fe020c000c00180018003000300060006000c000c00180018203fe000000000000000000000 017e:0000000018c00d800700020000007fe060e041c0038007000e001c00382070607fe000000000000000000000 017f:00000000038004c004c00c000c000c000c003c000c000c000c000c000c000c001e0000000000000000000000 +0180:0000000020006000fe006000600067806fc070e06060606060606060706078c04f8000000000000000000000 +0181:0000000000007f80d840d8601860186018c01fc01860183018301830183018603fc000000000000000000000 +0182:000000000000ffc0604060406000600060007f8060c0606060606060606060c0ff8000000000000000000000 +0183:000000007fc0600060006000600067806fc070e06060606060606060706078c04f8000000000000000000000 +0184:00000000100030007000f000b000338037c038e03060306030603060306030c03f8000000000000000000000 +0185:0000000000000000100030007000f000b000338037c038e030603060306030c03f8000000000000000000000 +0186:0000000000000f0011c020c000600060006000600060006000600040304018800f0000000000000000000000 +0187:0000003000600f4011c020c020006000600060006000600060006000304038800f0000000000000000000000 +0188:00000000000000000030006000401fc031c020c06000600060006000704030c01f8000000000000000000000 +0189:000000000000ff0061c060c0606060606060fc60606060606060606060406180fe0000000000000000000000 +018a:0000000000007f80d8e0d86018301830183018301830183018301830182018c03f0000000000000000000000 +018b:0000000000007fe040c040c000c000c000c03fc060c0c0c0c0c0c0c0c0c060c03fe000000000000000000000 +018c:000000003fe000600060006000601e603f6070e0606060606060606060e031e01f2000000000000000000000 +018d:0000000000000f8011c020e0606060606060704038801f000e000700038000c01f8000000000000000000000 +018e:0000000000003fe020c020c000c000c010c01fc010c000c000c000c040c040c07fe000000000000000000000 +018f:0000000000000f0011c020c0206000600060006000607fe060602040304018800f0000000000000000000000 +0190:000000001f803fc070206060600030001c001f80300060006000602020601fc00f8000000000000000000000 +0191:0000000000003fe0182018201800180018401fc0184018001800180018001800d800d0006000000000000000 +0192:00000000038004c004c00c000c000c000c001f800c000c000c000c000c000c006c0068001000000000000000 +0193:0000006000b01fb0218040804000c000c000c000c000c3e0c0c040c060c030c01f0000000000000000000000 +0194:000000000000f07060206020604030403080188019000d000e0006000e0013001300218021801f0000000000 +0195:0000000020006000e000600060006e3073306330633063306330633063306330f1e000000000000000000000 +0196:0000000000001e000600060006000600060006000600060006000600060006001f8000000000000000000000 +0197:0000000000001f80060006000600060006003fc00600060006000600060006001f8000000000000000000000 +0198:000000000000f0606190633066006c00780078007c006e006700638061c060e0f07000000000000000000000 +0199:180024006c00600060006000600061c0630066007c0078007c006e0067006380f1e000000000000000000000 +019a:000000001e00060006000600060006003fc006000600060006000600060006001f8000000000000000000000 +019b:0000000000001c001c000e3006c007000e003b00cb0011801180118020c020c071e000000000000000000000 +019c:00000000ef7066606660666066606660666066606660666066606660666077603bb000000000000000000000 +019d:0000000000006070302038203c202c20262022202320232021a020e020e020602030e000c000000000000000 +019e:0000000000000000000000000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0 +019f:0000000000000f0011c020c02060606061606d606b60686060602040304018800f0000000000000000000000 +01a0:0000000000001e3023b041a040c0c0c0c0c0c0c0c0c0c0c0c0c04080608031001e0000000000000000000000 +01a1:00000000000000000000000000001f3023b041e0c0c0c0c0c0c0c0c0e08071003e0000000000000000000000 +01a2:0000000000001c102730437043b0c1b0c1b0c1b0c1b0c1b0c1b041b0633032301c3000300030003000300070 +01a3:000000000000000000000000000000001c102730437041b0c1b0c1b041b063303c3000300030003000300070 +01a4:0000000000007fc09860d830d830183018601bc01800180018001800180018003c0000000000000000000000 +01a5:000000000000000018002c0060006f8071c060e06060606060606060604070807f006000600060006000f000 +01a6:00000000f80060007f00618060c060c060807f00700078006c00660063006180e0c000600030000000000000 +01a7:0000000000007f8060c04060406000e003c007801e00380070006020602030601fe000000000000000000000 +01a8:00000000000000000000000000003f8030c020c001c007801e003800304030c01fc000000000000000000000 +01a9:0000000000007fe060203020180018000c0007000700040008001000202040207fe000000000000000000000 +01aa:000000003800640064003e00060006000600060006000600060006000600060006000660026001c000000000 +01ab:0000000000000000040004000c007fc00c000c000c000c000c000c000c200e6007a0002000c0038000000000 +01ac:0000000000003fe04620660066000600060006000600060006000600060006001f8000000000000000000000 +01ad:0000000001c002c004c004000c007fc00c000c000c000c000c000c000c200e60078000000000000000000000 +01ae:0000000000007fe046200600060006000600060006000600060006000600060006c002c001c0000000000000 +01af:006000d00010f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 +01b0:0000000000000000006000d0001079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01b1:00000000000079e049200900118020c0204060606060606060606040304038800f0000000000000000000000 +01b2:000000000000f06060d060d06010601060106020602060206040604070803f001e0000000000000000000000 +01b3:000000000000f1e06090313031301a001a001a000c000c000c000c000c000c001e0000000000000000000000 +01b4:0000000000000000000000000000e1e0c05060b060b0310031001a001a000c000c00080018001000f000e000 +01b5:0000000000003fe020c000c00180018003001fe0060006000c000c00180018203fe000000000000000000000 +01b6:00000000000000000000000000007fe060e041c003803fe00e001c00382070607fe000000000000000000000 +01b7:0000000000003fe020c000c0018001800300030007c00fc000e000600060406060403f801f00000000000000 +01b8:0000000000007fc030403000180018000c000c003e003f00700060006000602020601fc00f80000000000000 +01b9:000000000000000000000000000000007fc0304018000c0006003f0070006000604020c01f800f0000000000 +01ba:00000000000000000000000000007fc04180030006000c0018003f8001c000c007803c007000604038c00f80 +01bb:000000001f003f8061c040c000c000c000c001801fe006000c00180030207fe07fe000000000000000000000 +01bc:000000007fc07fc02000200020003f8031c000e00060006000604060606030c01f8000000000000000000000 +01bd:000000000000000000007f807f80200020003f8031c000e000602060306018c00f8000000000000000000000 +01be:00000000000000000000080008001800ff8018001c000f0003c000e0106018601fc000000000000000000000 +01bf:0000000000000000000000000000ef8071c060e060606060606060606040608061006600780060006000f000 +01c0:0000000006000600060006000600060006000600060006000600060006000600060000000000000000000000 +01c1:0000000019801980198019801980198019801980198019801980198019801980198000000000000000000000 +01c2:00000000060006000600060006003fc0060006003fc006000600060006000600060000000000000000000000 +01c3:0000000006000600060006000600060006000600060006000600000000000600060000000000000000000000 +01c4:0c3006600180f3f0da10cc10c620c620c620c640c640c640c680c680c480d910e1f000000000000000000000 +01c5:000000000630f360d9c0cc00c400c5f0c510c420c420c440c440c480c480d910e1f000000000000000000000 +01c6:0c30066001800c001c000c000c006df0dd108c208c208c408c408c808c80dd107bf000000000000000000000 +01c7:000000000000f1f0606060606060606060606060606060606060606061606160ff6000600060004003800300 +01c8:000000000000f03060306000600060f060306030603060306030603060b060b0ffb008300c300e2007c00380 +01c9:000000000000786018601800180019e0186018601860186018601860186018607e60106018601c400f800700 +01ca:000000000000e3f0c130e130e130b130b130993099308d308d30873087308330c7b000300030002001c00180 +01cb:000000000000e330c130e100e100b170b130993099308d308d30873087308330c7b008300c300e2007c00380 +01cc:00000000000000300030000000004f70f3b061b061b061b061b061b061b061b0f3f008300c300e2007c00380 +01cd:18c00d800700060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +01ce:0000000018c00d800700000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +01cf:18c00d8007001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +01d0:0000000031801b000e00000000001e00060006000600060006000600060006001f8000000000000000000000 +01d1:31801b000e000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +01d2:0000000031801b000e00000000000f8011c020e06060606060606060704038801f0000000000000000000000 +01d3:18c00d800700f070602060206020602060206020602060206020602070403fc01f8000000000000000000000 +01d4:0000000018c00d8007000000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01d5:7fe030c030c00000f07060206020602060206020602060206020602070403fc01f8000000000000000000000 +01d6:00007fe0000030c030c00000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01d7:030066606c600000f07060206020602060206020602060206020602070403fc01f8000000000000000000000 +01d8:00000180030036c030c00000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01d9:18c00d80676060600000f0706020602060206020602060206020602070403fc01f8000000000000000000000 +01da:000018c00d80070060606060000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01db:0c000600636060600000f0706020602060206020602060206020602070403fc01f8000000000000000000000 +01dc:00000c000600030060606060000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +01dd:00000000000000000000000000001f00618000c0006000607fe06060606030c00f0000000000000000000000 +01de:7fe000006060666006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +01df:00007fe0000019801980000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +01e0:7fe000000f000f0006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +01e1:7fe0000006000f000f00060000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +01e2:7fe0000000000fe00e20162016001600164027c026403e002600460046104610e7f000000000000000000000 +01e3:00000000000000007fe0000000001f80364026600e603fe066006600660067603fc000000000000000000000 +01e4:0000000000000fc010602020200060006000600061f06060606027f0306018600f8000000000000000000000 +01e5:00000000000000000000000000001f2031e060c060c060c031803f0060007fc03fe02060fff040207fc03f80 +01e6:18c00d8007000fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 +01e7:0000000018c00d800700000000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 +01e8:18c00d800700f0e06180630066006c00780078007c006e006700638061c060e0f07000000000000000000000 +01e9:18c00d806700e00060006000600061c0630066007c0078007c006e0067006380f1e000000000000000000000 +01ea:0000000000000f0011c020c020606060606060606060606060602040304018800f0006000c0018000f000000 +01eb:00000000000000000000000000000f8011c020e06060606060606060704038801f0006000c0018000f000000 +01ec:7fe0000000000f0011c020c020606060606060606060606060602040304018800f0006000c0018000f000000 +01ed:00000000000000007fe0000000000f8011c020e06060606060606060704038801f0006000c0018000f000000 +01ee:18c00d8007003fe020c000c0018001800300030007c00fc000e000600060406060403f801f00000000000000 +01ef:00000000000031801b000e00000000007fc04180030006000c001f8001c000c040c060803f001e0000000000 +01f0:000000000c6006c003800000000007800180018001800180018001800180018001804180618071003e001c00 +01f1:000000000000f3f0da10cc10c620c620c620c640c640c640c680c680c480d910e1f000000000000000000000 +01f2:000000000000f000d800cc00c400c5f0c510c420c420c440c440c480c480d910e1f000000000000000000000 +01f3:0000000000000c001c000c000c006df0dd108c208c208c408c408c808c80dd107bf000000000000000000000 +01f4:03800f001c000fc0106020202000600060006000600061f060602060306018600f8000000000000000000000 +01f5:0000000003800f001c00000000001f2031e060c060c060c031803f0060007fc03fe02060402040207fc03f80 +01f6:000000000000ef00c600c600c600c600c670fe30c630c630c630c630c630c630efe000000000000000000000 +01f7:000000000000ef8071c060e06060606060606060606060c060c061006100660078006000600060006000f000 +01f8:38001e000700c07060207020782058204c2046204720432041a040e040e04060e03000000000000000000000 +01f9:0000000038001e00070000000000278079c030c030c030c030c030c030c030c079e000000000000000000000 +01fa:06001800660009000900060006000b000900118011803fc020c0204040604060e0f000000000000000000000 +01fb:03800f001c0009000900060000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +01fc:03800f001c000fe00e20162016001600164027c026403e002600460046104610e7f000000000000000000000 +01fd:0000000003800f001c00000000001f80364026600e603fe066006600660067603fc000000000000000000000 +01fe:03800f001c600fc011c021c021e06360636066606c606c6078603840304038806f0000000000000000000000 +01ff:0000000003800f001c00000000000fe011c021e06360666066606c60784038807f0000000000000000000000 +0200:e38079e01c70060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0201:00000000e38079e01c70000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +0202:0f0019801980060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0203:000000000f0019801980000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +0204:e38079e01c707fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0205:00000000e38079e01c70000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0206:0f001980198000007fc0304030403000300030803f80308030003000302030207fe000000000000000000000 +0207:000000000f0019801980000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0208:e38079e01c7000001f80060006000600060006000600060006000600060006001f8000000000000000000000 +0209:00000000e38079e01c70000000001e00060006000600060006000600060006001f8000000000000000000000 +020a:0f001980198000001f80060006000600060006000600060006000600060006001f8000000000000000000000 +020b:000000000f0019801980000000001e00060006000600060006000600060006001f8000000000000000000000 +020c:e38079e01c700f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +020d:00000000e38079e01c70000000000f8011c020e06060606060606060704038801f0000000000000000000000 +020e:0f001980198000000f0011c020c02060606060606060606060602040304018800f0000000000000000000000 +020f:000000000f0019801980000000000f8011c020e06060606060606060704038801f0000000000000000000000 +0210:e38079e01c70ff00618060c060c060c060807f007c006e006700638061c060e0f07000000000000000000000 +0211:00000000e38079e01c7000000000738034c038c0300030003000300030003000780000000000000000000000 +0212:0f00198019800000ff00618060c060c060807f007c006e006700638061c060e0f07000000000000000000000 +0213:000000000f001980198000000000738034c038c0300030003000300030003000780000000000000000000000 +0214:e38079e01c700000f07060206020602060206020602060206020602070403fc01f8000000000000000000000 +0215:00000000e38079e01c700000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +0216:0f00198019800000f07060206020602060206020602060206020602070403fc01f8000000000000000000000 +0217:000000000f00198019800000000079e030c030c030c030c030c030c030c039c01e6000000000000000000000 +0218:0000000000001fe030606020602070003c001e00078001c000e04060406060c07f8000000f000f0003001e00 +0219:00000000000000000000000000001fc030c0304038001e00078001c020c030c03f8000000f000f0003001e00 +021a:0000000000007fe04620060006000600060006000600060006000600060006001f8000000f000f0003001e00 +021b:0000000000000000040004000c007fc00c000c000c000c000c000c000c200e40078000000f000f0003001e00 +021c:0000000020003f8020c000600060006001c007003e00018000600060006000e001c007003c00000000000000 +021d:000000000000000020003f8020c00060006001c007003e0001800060006000e001c007003c00000000000000 +021e:31801b000e00f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000 +021f:18c00d8017003000700030003000378039c030c030c030c030c030c030c030c079e000000000000000000000 +0220:000000000000278079c030c030c030c030c030c030c030c030c030c030c030c078c000c000c000c000c001e0 +0221:00000000018003800180018001801d8067804380c180c180c180c1e0e390759039e002000400000000000000 +0222:000000000900118030c030c030c018800d0006000b00118030c030c030c018800f0000000000000000000000 +0223:00000000000000000900118030c030c018800d0006000b00118030c030c018800f0000000000000000000000 +0224:0000000000003fe020c000c00180018003000300060006000c000c00180018003fc00060006001c000000000 +0225:00000000000000000000000000007fe060e041c0038007000e001c00380070007fc00060006001c000000000 +0226:06000f0006000000060006000b000b000900118010803fc020c0204040604060e0f000000000000000000000 +0227:0000000006000f000f00060000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +0228:0000000000007fc0304030403000300030803f803080300030003000302030207fe002000300018009800700 +0229:00000000000000000000000000000f0030c0606060607fe060006000300018600f8002000300018009800700 +022a:7fe00000606060600f0011c020c02060606060606060606060602040304018800f0000000000000000000000 +022b:000000003fc0000030c030c000000f8011c020e06060606060606060704038801f0000000000000000000000 +022c:7fe000003c6063c00f0011c020c02060606060606060606060602040304018800f0000000000000000000000 +022d:00003fc000000cc01f80330000000f8011c020e06060606060606060704038801f0000000000000000000000 +022e:06000f00060000000f0011c020c02060606060606060606060602040304018800f0000000000000000000000 +022f:0000000006000f000600000000000f8011c020e06060606060606060704038801f0000000000000000000000 +0230:3fc000000f000f0000000f0011c020c0206060606060606060602040304018800f0000000000000000000000 +0231:3fc0000006000f000600000000000f8011c020e06060606060606060704038801f0000000000000000000000 +0232:3fc000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000 +0233:00000000000000003fc000000000f0f0602030403040188018800d000d000600060004000c00080078007000 +0234:000000001e00060006000600060006000600060006000600060006c0076006401f8004000800000000000000 +0235:0000000000000000000000000000278079c030c030c030c030c030e030d030d079e001000200000000000000 +0236:0000000000000000040004000c007fc00c000c000c000c000c000cc00d600e40078008001000000000000000 +0237:000000000000000000000000000003c000c000c000c000c000c000c000c000c000c020c030c038801f000e00 +0238:0000000006000e0006000600060036c07fe04f20c630c630c630c630ef7079e030c000000000000000000000 +0239:000000000000000000000000000030c079e0ef70c630c630c630c6304f207fe036c006000600060006000f00 +023a:0000000000100620064006800f000b001580198010803fc060c0a04040604060e0f000000000000000000000 +023b:0000004000400fc010e020a02080610061006100620062006200240034201c400f8008000800000000000000 +023c:00000000000000000000004000801f8031c021c06200620064006400784038c01f8010002000000000000000 +023d:0000000000003c0018001800180018001800ff001800180018001800181018103ff000000000000000000000 +023e:0000002000207fe046400680068007000700060006000e000e001600160026003f8040004000000000000000 +023f:00000000000000000000000000001fc030c0304038001e00078001c020c030c03f8018000c00066003c00000 +0240:00000000000000000000000000007fe060e041c0038007000e001c0038007000700018000c00066003c00000 +0241:000000001e007180604060600060006000c001800f000c000c000c000c000c001e0000000000000000000000 +0242:0000000000000000000000001e00718060c000c000c001800e00080008001c00000000000000000000000000 +0243:000000000000ff00608060c060c060c061807f8060c06060fc606060606060c0ff8000000000000000000000 +0244:000000000000f0706020602060206020fff06020602060206020602070403fc01f8000000000000000000000 +0245:00000000000002000200020007000700070009800980098010c010c010c02060707000000000000000000000 +0246:0000008000807fc0314031403100320032803f803480340034003800382038207fe010001000000000000000 +0247:00000000000000000080008001000f0032c0626064607fe068006800300018602f8020000000000000000000 +0248:0000000000001f8006000600060006000600060006003fc00600060006000600060006000600040038003000 +0249:000000000000018001800000000007800180018001800ff0018001800180018001804180618071003e001c00 +024a:000000001cc0278043804180c180c180c180c180c180c180c180e18073803f8001800180018001b000b00060 +024b:00000000000000000000000000001cc027804380c180c180c180c180e18073803f800180018001b000b00060 +024c:000000000000ff00618060c060c060c06080ff007c006e006700638061c060e0f07000000000000000000000 +024d:000000000000000000000000000039c01a601c601800ff0018001800180018003c0000000000000000000000 +024e:000000000000f07060203040fff018800d0006000600060006000600060006000f0000000000000000000000 +024f:0000000000000000000000000000f0f0602030403040fff018800d000d000600060004000c00080078007000 +0250:0000000000000000000000000000778039c030c030c030c033803c00308031801f0000000000000000000000 +0251:00000000000000000000000000003f2063a0c1c0c1c0c180c180c180c3c0e4c0786000000000000000000000 +0252:0000000000000000000000000000c3c064e0786030603060306070607060b8c09f8000000000000000000000 +0253:000000001e00230063006000600067806fc070e06060606060606060706078c04f8000000000000000000000 +0254:00000000000000000000000000003f00618041c000c000c000c000c0608071803f0000000000000000000000 +0255:00000000000000000000000000001f8031c020c06000600060006380744038c05f8000000000000000000000 +0256:0000000000c001c000c000c000c01ec063c041c0c0c0c0c0c0c0c0c0e1c072c03cc000d00050007000000000 +0257:00000000007000d000d000d000c01ec063c041c0c0c0c0c0c0c0c0c0e1c072c03ce000000000000000000000 +0258:00000000000000000000000000000f0030c0606060607fe00060006000c061801f0000000000000000000000 +0259:00000000000000000000000000001f00618000c0006000607fe06060606030c00f0000000000000000000000 +025a:00000000000000000000000000003c00c690035003200d803180c180c18063001c0000000000000000000000 +025b:00000000000000000000000000000f801fc0206060003f003f00600060203fc01f0000000000000000000000 +025c:00000000000000000000000000001f003f80604000600fc00fc0006040603fc00f8000000000000000000000 +025d:00000000000000000000000000003e107f50c0b000d01f801f8000c080c07f801f0000000000000000000000 +025e:00000000000000000000000000001f003f806040c060cfc0cfc0c06040603fc00f8000000000000000000000 +025f:0000000007800300030003000300030003001f800300030003000300320032001c0000000000000000000000 +0260:000000000000000000e0013001301f8031c060c060c060c060c060c061c033c01ec00040204030c01f800f00 +0261:00000000000000000000000000001f8031c060c060c060c060c060c061c033c01ec00040204030c01f800f00 +0262:00000000000000000000000000000fc0106020206000600061f06060306018600f8000000000000000000000 +0263:000000000000000000000000000070e0304030401880188019000d000e0006000e0013001300218021801f00 +0264:0000000000000000000000000000000000007060d8b0989099100d000e0006000e0013001300218021801f00 +0265:0000000079e030c030c030c030c030c030c030c039c01ec000c000c000e000c0008000000000000000000000 +0266:000000001e003300330030003000378039c030c030c030c030c030c030c030c079e000000000000000000000 +0267:0000000010003000700030003000378039c030c030c030c030c030c030c030c078c000c00380070000000000 +0268:00000000000006000600000000001e000600060006003fc006000600060006001f8000000000000000000000 +0269:00000000000000000000000000001e00060006000600060006000600060006001f8000000000000000000000 +026a:00000000000000000000000000001f80060006000600060006000600060006001f8000000000000000000000 +026b:000000001e00060006000600060006001e6067800600060006000600060006001f8000000000000000000000 +026c:000000001e00060006000600060006003e0066003fc0060006000600060006001f8000000000000000000000 +026d:000000001e0006000600060006000600060006000600060006000600060006000660066003c0018000000000 +026e:00000000f00030003000300030003ff0306030c0318033003600338030e03070fc700070186019c00f800000 +026f:0000000000000000000000000000ef70666066606660666066606660666077603bb000000000000000000000 +0270:0000000000000000000000000000ef70666066606660666066606660666076e03b6000600060006000300000 +0271:0000000000000000000000000000ddc06ee06660666066606660666066606660ef6000600660066003c00000 +0272:000000000000000000000000000013c03ce0186018601860186018601860186018f0d800d800700000000000 +0273:00000000000000000000000000004f00f3806180618061806180618061806180f18001b001b000e000000000 +0274:0000000000000000000000000000c0e06040704058404c404640434041c040c0e06000000000000000000000 +0275:00000000000000000000000000000f8011c020e060607fe07fe06060704038801f0000000000000000000000 +0276:00000000000000000000000000001de023304200c210c3f0c210c200e20073303de000000000000000000000 +0277:000000000000000000000f003fc06060c030c630c630c630c630c63066207fc0198000000000000000000000 +0278:0000000000000000060006000f8017c026e0666066606660666076403e801f00060006000000000000000000 +0279:000000000000000000000000000003c00180018001800180018001806380658039c000000000000000000000 +027a:000000000000000003c00180018001800180018001800180018001806380658039c000000000000000000000 +027b:00000000000000000000000000000780030003000300030003000300c700cb0073000330033001e000000000 +027c:0000000000000000000000000000738034c038c0300030003000300030003000300030003000780000000000 +027d:0000000000000000000000000000738034c038c0300030003000300030003000300031801b800e0000000000 +027e:000000000000000000000000038004c004c00c000c000c000c000c000c000c001e0000000000000000000000 +027f:0000000000000000000000001c00320032000300030003000300030003000300030003000300078000000000 +0280:00000000000000000000000000007f8030c0306030403f803e003700338031c078e000000000000000000000 +0281:000000000000000000000000000078e031c0338037003e003f803040306030c07f8000000000000000000000 +0282:00000000000000000000000000001fc030c0304038001e00078001c020c030c03f801000100013000e000000 +0283:0000000001c00260066006000600060006000600060006000600060006000600060006000600640064003800 +0284:0000000001c00260066006000600060006000600060006000600060006003fc0060006000600640064003800 +0285:00000000380064006400060006000600060006000600060006000600060006000600060006000660026001c0 +0286:0000000001c0026006600600060006000600060006000600060006000600060006003fc06660646064003800 +0287:00000000000000001e00270043000300030003000300030003003fe003000200020000000000000000000000 +0288:0000000000000000040004000c007fc00c000c000c000c000c000c000c000c000cc004c00380000000000000 +0289:000000000000000000000000000079e030c030c030c0fff030c030c030c039c01e6000000000000000000000 +028a:000000000000000000000000000079e009001880304060606060206020c011c00f0000000000000000000000 +028b:000000000000000000000000000078c031c03060306030603060306030e039c01f0000000000000000000000 +028c:0000000000000000000000000000060006000b000b001180118020c020c04060e0f000000000000000000000 +028d:00000000000000000000000000001980198019802dc02dc02ec0466046604660eff000000000000000000000 +028e:0000000000e001e0010003000200060006000b000b001180118020c020c04060f0f000000000000000000000 +028f:0000000000000000000000000000f0706020304018800d0006000600060006000f0000000000000000000000 +0290:00000000000000000000000000007fe060e041c0038007000e001c00380070407f80019000f0006000000000 +0291:00000000000000000000000000007fe060e041c0038007000e001c00386070907fe002000400000000000000 +0292:000000000000000000000000000000007fc04180030006000c001f8001c000c040c060803f001e0000000000 +0293:000000000000000000000000000000007fc04180030006000c001f8001c038c044c062803f001e8000400000 +0294:000000001e007180604060600060006000c001800f000c000c000c000c000c001e0000000000000000000000 +0295:00000000078018e02060606060006000300018000f0003000300030003000300078000000000000000000000 +0296:000000001e000c000c000c000c000c000f00018000c0006000606060604071801e0000000000000000000000 +0297:0000000000000000000000000fc0106020202000600060006000600060006000600060002000302018400f80 +0298:0000000000000f0011c020c020606060666066606060606060602040304018800f0000000000000000000000 +0299:0000000000000000000000000000ff00608060c061807f8060c06060606060c0ff8000000000000000000000 +029a:00000000000000000000000000001f003f8040c0c0607e607e60c060c0407f803e0000000000000000000000 +029b:00000000000000000000007000900fc0106020206000600061f06060306018600f8000000000000000000000 +029c:0000000000000000000000000000f1e060c060c060c07fc060c060c060c060c0f1e000000000000000000000 +029d:00000000000003000300000000000f000300030003000300030003000300030007c01b00230022001c000000 +029e:00000000f1e038c01cc00ec007c003c007c00cc018c070c000c000c000c000e000c000000000000000000000 +029f:00000000000000000000000000007800300030003000300030003000300030407fc000000000000000000000 +02a0:00000000000000000030005000501e4023c041c0c0c0c0c0c0c0c0c0e0c071c03fc000c000c000c000c001e0 +02a1:000000001e007180604060600060006000c001800f000c007f800c000c000c001e0000000000000000000000 +02a2:00000000078018e02060606060006000300018000f0003001fe0030003000300078000000000000000000000 +02a3:0000000000000c001c000c000c006df0dd108c208c208c408c408c808c80dd107bf000000000000000000000 +02a4:0000000000000c001c000c000c006df0dd108c208c208c408c408cc08c60dc307a1000100c20064001800000 +02a5:0000000000000c001c000c000c006df0dd108c208c208c408c408c808ce0dd907bf001000200000000000000 +02a6:0000000000000000200020006000fff0663066106700638060e06070623066303fe000000000000000000000 +02a7:0000000000e00130233023006300ff00630063006300630063006300630073003f0003000300320032001c00 +02a8:0000000000000000200020006000f9e0633062106600660066006660629063b03de001000200000000000000 +02a9:000000001800260026006000600060006000fbc0666066606660666066606660f760006000600c600cc00780 +02aa:0000000000000000e0006000600063f0663066106700638060e06070643066303fe000000000000000000000 +02ab:0000000000000000e0006000600067f066306430607060e061c06380671066303ff000000000000000000000 +02ac:00000000ff706620662037403b40198019800000ff706620662037403b401980198000000000000000000000 +02ad:0000000000000000000000007fe07fe060606060000000007fe07fe060606060000000000000000000000000 +02ae:00006000a1e0b0c0b0c030c030c030c030c030c039c01ec000c000c000e000c0008000000000000000000000 +02af:00006000a1e0b0c0b0c030c030c030c030c030c039c01ec000c000c000d00050005000600000000000000000 +02b0:000000001000300070003000378039c030c030c030c030c079e0000000000000000000000000000000000000 +02b1:00000f001380300030003000378039c030c030c030c030c079e0000000000000000000000000000000000000 +02b2:000000c000c0000003c000c000c000c000c000c000c010c018800f0000000000000000000000000000000000 +02b3:0000000033801cc0180018001800180018003c00000000000000000000000000000000000000000000000000 +02b4:0000000003c00180018001800180018033801cc0000000000000000000000000000000000000000000000000 +02b5:0000000007800300030003000300030067003b00030001600080000000000000000000000000000000000000 +02b6:0000000078e031c0338037003e003f803040306030c07f800000000000000000000000000000000000000000 +02b7:00000000eff0466046602ec02dc02dc019801980198000000000000000000000000000000000000000000000 +02b8:0000000078f0302018400c800d000500060006000c0038003000000000000000000000000000000000000000 +02b9:0000000003000300060006000c000c0000000000000000000000000000000000000000000000000000000000 +02ba:000000000c600c6018c018c03180318000000000000000000000000000000000000000000000000000000000 +02bb:000000000100030006000c000c000f000f000600000000000000000000000000000000000000000000000000 +02bc:0000000006000f000f000300030006000c000800000000000000000000000000000000000000000000000000 +02bd:0000000006000f000f000c000c00060003000100000000000000000000000000000000000000000000000000 +02be:000000000e0003800180018003800e0000000000000000000000000000000000000000000000000000000000 +02bf:0000000007001c00180018001c00070000000000000000000000000000000000000000000000000000000000 +02c0:000000001e00718060c000c001800e0008000800080000000000000000000000000000000000000000000000 +02c1:00000000078018e0306030001800070001000100010000000000000000000000000000000000000000000000 +02c2:0000000000e003800e0038000e00038000e00000000000000000000000000000000000000000000000000000 +02c3:0000000070001c00070001c007001c0070000000000000000000000000000000000000000000000000000000 +02c4:0000000006000f00198030c06060000000000000000000000000000000000000000000000000000000000000 +02c5:00000000606030c019800f000600000000000000000000000000000000000000000000000000000000000000 +02c6:0000000006001f8030c000000000000000000000000000000000000000000000000000000000000000000000 +02c7:0000000030c01980060000000000000000000000000000000000000000000000000000000000000000000000 +02c8:0000000006000600060006000600060000000000000000000000000000000000000000000000000000000000 +02c9:000000003fc03fc0000000000000000000000000000000000000000000000000000000000000000000000000 +02ca:03800f001c000000000000000000000000000000000000000000000000000000000000000000000000000000 +02cb:1c000f0003800000000000000000000000000000000000000000000000000000000000000000000000000000 +02cc:0000000000000000000000000000000000000000000000000000000000000000000006000600060006000600 +02cd:00000000000000000000000000000000000000000000000000000000000000000000000000003fc03fc00000 +02ce:1c000f0003800000000000000000000000000000000000000000000000000000000000000000000000000000 +02cf:03800f001c000000000000000000000000000000000000000000000000000000000000000000000000000000 +02d0:00000000000000000000000000001f800f000600000000000000000006000f001f8000000000000000000000 +02d1:00000000000000000000000000001f800f000600000000000000000000000000000000000000000000000000 +02d2:000000000000000000000000000000000e0003800180018003800e0000000000000000000000000000000000 +02d3:0000000000000000000000000000000007001c00180018001c00070000000000000000000000000000000000 +02d4:0000000000000000000000000000000006000600060006001f801f8000000000000000000000000000000000 +02d5:000000000000000000000000000000001f801f80060006000600060000000000000000000000000000000000 +02d6:00000000000000000000000000000000060006001f801f800600060000000000000000000000000000000000 +02d7:00000000000000000000000000000000000000001f801f800000000000000000000000000000000000000000 +02d8:198019800f000000000000000000000000000000000000000000000000000000000000000000000000000000 +02d9:06000f0006000000000000000000000000000000000000000000000000000000000000000000000000000000 +02da:0f00198019800f00000000000000000000000000000000000000000000000000000000000000000000000000 +02db:000000000000000000000000000000000000000000000000000000000000000000000600030001800f000000 +02dc:1c6036c063800000000000000000000000000000000000000000000000000000000000000000000000000000 +02dd:1c7079e0e3800000000000000000000000000000000000000000000000000000000000000000000000000000 +02de:0000000000000000000000000000000000001c0036c003800100000000000000000000000000000000000000 +02df:30c019800f0006000f00198030c0000000000000000000000000000000000000000000000000000000000000 +02e0:0000000070e03040188019000d000e0006000e00130021801f00000000000000000000000000000000000000 +02e1:00001e000600060006000600060006000600060006001f800000000000000000000000000000000000000000 +02e2:000000001fc030c038001e00078001c030c03f80000000000000000000000000000000000000000000000000 +02e3:0000000079c0308019000e000700098010c039e0000000000000000000000000000000000000000000000000 +02e4:00000000070018c018c018000e00020002000000000000000000000000000000000000000000000000000000 +02e5:00000000000000003f8001800180018001800180018001800180018001800180018000000000000000000000 +02e6:00000000000000000180018001803f8001800180018001800180018001800180018000000000000000000000 +02e7:00000000000000000180018001800180018001803f8001800180018001800180018000000000000000000000 +02e8:00000000000000000180018001800180018001800180018001803f8001800180018000000000000000000000 +02e9:00000000000000000180018001800180018001800180018001800180018001803f8000000000000000000000 +02ea:00000000000000000000000000000000000000003000300030003000300030003f8000000000000000000000 +02eb:00000000000000000000000000000000000000003000300030003f8030003000300000000000000000000000 +02ec:0000000000000000000000000000000000000000000000000000000000000000000060c031801b000e000400 +02ed:00007fe000007fe0000000000000000000000000000000000000000000000000000000000000000000000000 +02ee:0000000030c079e079e01860186030c061804100000000000000000000000000000000000000000000000000 +02ef:00000000000000000000000000000000000000000000000000000000000000000000606030c019800f000600 +02f0:0000000000000000000000000000000000000000000000000000000000000000000006000f00198030c06060 +02f1:00000000000000000000000000000000000000000000000000000000000000e003800e0038000e00038000e0 +02f2:00000000000000000000000000000000000000000000000000000000000070001c00070001c007001c007000 +02f3:0000000000000000000000000000000000000000000000000000000000000000000000000f00198019800f00 +02f4:000000000000000000000000000000001c000f00038000000000000000000000000000000000000000000000 +02f5:00000000000000000000000000000000e38079e01c7000000000000000000000000000000000000000000000 +02f6:000000000000000000000000000000001c7079e0e38000000000000000000000000000000000000000000000 +02f7:00000000000000000000000000000000000000000000000000000000000000000000000000001c6036c06380 +02f8:000000000c001e001e000c00000000000c001e001e000c000000000000000000000000000000000000000000 +02f9:000000003f803f80300030003000300030000000000000000000000000000000000000000000000000000000 +02fa:000000001fc01fc000c000c000c000c000c00000000000000000000000000000000000000000000000000000 +02fb:0000000000000000000000000000000000000000300030003000300030003f803f8000000000000000000000 +02fc:000000000000000000000000000000000000000000c000c000c000c000c01fc01fc000000000000000000000 +02fd:0000000000000000000000000000000000000000606060606060606060607fe07fe000000000000000000000 +02fe:0000000000000000000000000000000000000000600060006000600060007fe07fe000000000000000000000 +02ff:00000000000000000000000000000000000000000000000000000000000000000000100030007fe030001000 0300:0c00060003000000000000000000000000000000000000000000000000000000000000000000000000000000 0301:030006000c000000000000000000000000000000000000000000000000000000000000000000000000000000 0302:04000e001b003180000000000000000000000000000000000000000000000000000000000000000000000000 0303:1c803f8027000000000000000000000000000000000000000000000000000000000000000000000000000000 0304:00001f801f800000000000000000000000000000000000000000000000000000000000000000000000000000 -0306:1b001b000e000000000000000000000000000000000000000000000000000000000000000000000000000000 +0305:00007fe07fe00000000000000000000000000000000000000000000000000000000000000000000000000000 +0306:198019800f000000000000000000000000000000000000000000000000000000000000000000000000000000 +0307:0600060000000000000000000000000000000000000000000000000000000000000000000000000000000000 0308:1980198000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0309:0e00130003000600000000000000000000000000000000000000000000000000000000000000000000000000 030a:0e001b001b000e00000000000000000000000000000000000000000000000000000000000000000000000000 +030b:1c7079e0e3800000000000000000000000000000000000000000000000000000000000000000000000000000 030c:31801b000e000400000000000000000000000000000000000000000000000000000000000000000000000000 +030d:0600060006000600000000000000000000000000000000000000000000000000000000000000000000000000 +030e:1980198019801980000000000000000000000000000000000000000000000000000000000000000000000000 +030f:e38079e01c700000000000000000000000000000000000000000000000000000000000000000000000000000 +0310:666030c01f800000000000000000000000000000000000000000000000000000000000000000000000000000 +0311:0f00198019800000000000000000000000000000000000000000000000000000000000000000000000000000 +0312:07000c000f000f00000000000000000000000000000000000000000000000000000000000000000000000000 +0313:0f000f0003000e00000000000000000000000000000000000000000000000000000000000000000000000000 +0314:0f000f000c000700000000000000000000000000000000000000000000000000000000000000000000000000 +0315:01e001e0006001c0000000000000000000000000000000000000000000000000000000000000000000000000 +0316:00000000000000000000000000000000000000000000000000000000000000000000000000001c000f000380 +0317:000000000000000000000000000000000000000000000000000000000000000000000000000003800f001c00 +0318:00000000000000000000000000000000000000000000000000000000000000000000008000800f8000800080 +0319:00000000000000000000000000000000000000000000000000000000000000000000100010001f0010001000 +031a:00f0001000100010000000000000000000000000000000000000000000000000000000000000000000000000 +031b:00000000000000f000f0003000e0000000000000000000000000000000000000000000000000000000000000 +031c:0000000000000000000000000000000000000000000000000000000000000000000007001c0018001c000700 +031d:0000000000000000000000000000000000000000000000000000000000000000000004000400040004001f00 +031e:000000000000000000000000000000000000000000000000000000000000000000001f000400040004000400 +031f:00000000000000000000000000000000000000000000000000000000000000000000040004001f0004000400 +0320:00000000000000000000000000000000000000000000000000000000000000000000000000001f0000000000 +0321:0000000000000000000000000000000000000000000000000000000000000000000000800080008001001e00 +0322:00000000000000000000000000000000000000000000000000000000000000000000020002000200010000f0 +0323:0000000000000000000000000000000000000000000000000000000000000000000000000000060006000000 +0324:0000000000000000000000000000000000000000000000000000000000000000000000000000198019800000 +0325:0000000000000000000000000000000000000000000000000000000000000000000000000600090009000600 +0326:0000000000000000000000000000000000000000000000000000000000000000000000000f000f0003000e00 0327:000000000000000000000000000000000000000000000000000000000000000000000600030001800f000000 0328:0000000000000000000000000000000000000000000000000000000000000000000006000c0018000f000000 +0329:0000000000000000000000000000000000000000000000000000000000000000000006000600060006000000 +032a:0000000000000000000000000000000000000000000000000000000000000000000000007fe0402040200000 +032b:000000000000000000000000000000000000000000000000000000000000000000000000462046207fe00000 +032c:00000000000000000000000000000000000000000000000000000000000000000000000018c00d8007000000 +032d:00000000000000000000000000000000000000000000000000000000000000000000000004000e001b003180 +032e:000000000000000000000000000000000000000000000000000000000000000000000000198019800f000000 +032f:0000000000000000000000000000000000000000000000000000000000000000000000000f00198019800000 +0330:0000000000000000000000000000000000000000000000000000000000000000000000000e401fc013800000 +0331:00000000000000000000000000000000000000000000000000000000000000000000000000001f801f800000 0332:00000000000000000000000000000000000000000000000000000000000000000000000000000000fff0fff0 +0333:00000000000000000000000000000000000000000000000000000000000000000000fff0fff00000fff0fff0 +0334:0000000000000000000000000000000000001c203e6036c067c0438000000000000000000000000000000000 +0335:00000000000000000000000000000000000000001f801f800000000000000000000000000000000000000000 +0336:00000000000000000000000000000000000000007fe07fe00000000000000000000000000000000000000000 +0337:0000000000000000000000000000000001800180060006001800180000000000000000000000000000000000 +0338:0000000000000000000000000060006001800180060006001800180060006000000000000000000000000000 +0339:0000000000000000000000000000000000000000000000000000000000000000000000000600010001000600 +033a:000000000000000000000000000000000000000000000000000000000000000000000000000080208020ffe0 +033b:0000000000000000000000000000000000000000000000000000000000000000000000000000ffe08020ffe0 +033c:00000000000000000000000000000000000000000000000000000000000000000000000071c08a2004000400 +033d:19800f0006000f00198000000000000000000000000000000000000000000000000000000000000000000000 +033e:0300060003000600000000000000000000000000000000000000000000000000000000000000000000000000 +033f:fff00000fff00000000000000000000000000000000000000000000000000000000000000000000000000000 +0340:0c00060003000000000000000000000000000000000000000000000000000000000000000000000000000000 +0341:030006000c000000000000000000000000000000000000000000000000000000000000000000000000000000 +0342:1c40238000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0343:0e00010001000600000000000000000000000000000000000000000000000000000000000000000000000000 +0344:03800f00dc60c060000000000000000000000000000000000000000000000000000000000000000000000000 +0345:0000000000000000000000000000000000000000000000000000000000000000000000000600060007000000 +0346:7fe0402040200000000000000000000000000000000000000000000000000000000000000000000000000000 +0347:0000000000000000000000000000000000000000000000000000000000000000000000003fc000003fc00000 +0348:0000000000000000000000000000000000000000000000000000000000000000000000001980198019801980 +0349:0000000000000000000000000000000000000000000000000000000000000000000000000f00010001000100 +034a:1d20366066c04b80000000000000000000000000000000000000000000000000000000000000000000000000 +034b:060000203e606780400006000000000000000000000000000000000000000000000000000000000000000000 +034c:1e60678000001e60678000000000000000000000000000000000000000000000000000000000000000000000 +034d:0000000000000000000000000000000000000000000000000000000000000000000020406060fff060602040 +034e:0000000000000000000000000000000000000000000000000000000000000000000006000f001f8006000600 +034f:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0350:1c00070001c007001c0000000000000000000000000000000000000000000000000000000000000000000000 +0351:0600080008000600000000000000000000000000000000000000000000000000000000000000000000000000 +0352:1f80606046200000000000000000000000000000000000000000000000000000000000000000000000000000 +0353:0000000000000000000000000000000000000000000000000000000000000000000060601980060019806060 +0354:0000000000000000000000000000000000000000000000000000000000000000000003800e0038000e000380 +0355:000000000000000000000000000000000000000000000000000000000000000000001c00070001c007001c00 +0356:00000000000000000000000000000000000000000000000000000000000000000000c0c031e00de03330c330 +0357:0c00020002000c00000000000000000000000000000000000000000000000000000000000000000000000000 +0358:0070007000700000000000000000000000000000000000000000000000000000000000000000000000000000 +0359:00000000000000000000000000000000000000000000000000000000000000000000090006001f8006000900 +035a:0000000000000000000000000000000000000000000000000000000000000000000071c08a2084208a2071c0 +035b:18003fe07fc00180000000000000000000000000000000000000000000000000000000000000000000000000 +035c:0000000000000000000000000000000000000000000000000000000000000000000020102010102008400780 +035d:2010201010200840078000000000000000000000000000000000000000000000000000000000000000000000 +035e:1ff01ff000000000000000000000000000000000000000000000000000000000000000000000000000000000 +035f:000000000000000000000000000000000000000000000000000000000000000000000000000000001ff01ff0 +0360:1e10333021e00000000000000000000000000000000000000000000000000000000000000000000000000000 +0361:0780084010202010201000000000000000000000000000000000000000000000000000000000000000000000 +0362:00000000000000000000000000000000000000000000000000000000000000000000004000603ff000600040 +0363:0f0000800f8010800f8000000000000000000000000000000000000000000000000000000000000000000000 +0364:0f0010801f0010000f0000000000000000000000000000000000000000000000000000000000000000000000 +0365:0200000002000200020000000000000000000000000000000000000000000000000000000000000000000000 +0366:0f001080108010800f0000000000000000000000000000000000000000000000000000000000000000000000 +0367:10801080108010800f0000000000000000000000000000000000000000000000000000000000000000000000 +0368:0f001000100010000f0000000000000000000000000000000000000000000000000000000000000000000000 +0369:0080008007800880078000000000000000000000000000000000000000000000000000000000000000000000 +036a:080008000f000880088000000000000000000000000000000000000000000000000000000000000000000000 +036b:5dc0664044404440444000000000000000000000000000000000000000000000000000000000000000000000 +036c:0b800c0008000800080000000000000000000000000000000000000000000000000000000000000000000000 +036d:04001f0004000400070000000000000000000000000000000000000000000000000000000000000000000000 +036e:1080108009000900060000000000000000000000000000000000000000000000000000000000000000000000 +036f:11000a0004000a00110000000000000000000000000000000000000000000000000000000000000000000000 +0370:0000000000007800300030003000300030003fc0300030003000300030003000780000000000000000000000 +0371:000000000000000000000000000078003000300030003fc03000300030003000780000000000000000000000 +0372:000000000000fff0c630c630c6300600060006000600060006000600060006001f8000000000000000000000 +0373:000000000000000000003fe04620462006000600060006000600060006000600060000000000000000000000 +0374:00000000000007000e000c000800000000000000000000000000000000000000000000000000000000000000 +0375:00000000000000000000000000000000000000000000000000000100030007000e0000000000000000000000 +0376:000000000000f0f0606060e06160616062606260646064606860686070606060f0f000000000000000000000 +0377:0000000000000000000000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +037a:0000000000000000000000000000000000000000000000000000000000000000000000000600060007000000 +037b:00000000000000000000000000000f8011c020e00060006000600060004038801f0000000000000000000000 +037c:00000000000000000000000000001f00388070406000670067006000200011c00f8000000000000000000000 +037d:00000000000000000000000000000f8011c020e000600e600e600060004038801f0000000000000000000000 +037e:000000000000000000000000000000000c001e001e000c00000000000c001e001e00060006000c0018001000 +037f:0000000000001f80060006000600060006000600060006000600060006000600060006000600040038003000 +0384:03800f001c000000000000000000000000000000000000000000000000000000000000000000000000000000 +0385:03800f00dc60c060000000000000000000000000000000000000000000000000000000000000000000000000 +0386:0000000000004600c600cb008b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0387:0000000000000000000000000000000006000f000f0006000000000000000000000000000000000000000000 +0388:0000000000005fe0d820d8209800180018401fc01840180018001800181018103ff000000000000000000000 +0389:000000000000f8f0b060b060b060306030603fe030603060306030603060306078f000000000000000000000 +038a:0000000000004fc0c300c30083000300030003000300030003000300030003000fc000000000000000000000 +038c:0000000000004780c8e0d0609030303030303030303030303030102018200c40078000000000000000000000 +038e:0000000000007c70d820d8208c400c4006800300030003000300030003000300078000000000000000000000 +038f:0000000000004780c8e0d06090303030303030303030102018200c40048024903cf000000000000000000000 +0390:0000000003800f00dc60c06000001e00060006000600060006000600060006001f8000000000000000000000 +0391:000000000000060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0392:000000000000ff00608060c060c060c061807f8060c0606060606060606060c0ff8000000000000000000000 +0393:0000000000007fc0304030403000300030003000300030003000300030003000780000000000000000000000 +0394:00000000000006000e000b000b0011801180118020c020c020c04060406040607fe000000000000000000000 +0395:0000000000007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0396:0000000000003fe020c000c00180018003000300060006000c000c00180018203fe000000000000000000000 +0397:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000 +0398:0000000000000f8011c020e06060606060606f606060606060606060704038801f0000000000000000000000 +0399:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +039a:000000000000f0e06180630066006c00780078007c006e006700638061c060e0f07000000000000000000000 +039b:000000000000060006000b000b000b0011801180118020c020c020c040604060e0f000000000000000000000 +039c:000000000000e07060e070e070e070e05960596059604d604e604e6044604460e4f000000000000000000000 +039d:000000000000c07060207020782058204c2046204720432041a040e040e04060e03000000000000000000000 +039e:0000000000007fe0402000000000000000003fc03fc0000000000000000040207fe000000000000000000000 +039f:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +03a0:000000000000ffe0606060606060606060606060606060606060606060606060606000000000000000000000 +03a1:0000000000007f8030c030603060306030c03780300030003000300030003000780000000000000000000000 +03a3:0000000000007fe060203020180018000c0007000700040008001000202040207fe000000000000000000000 +03a4:0000000000007fe04620060006000600060006000600060006000600060006001f8000000000000000000000 +03a5:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000 +03a6:000000000600060006000f8017c026e066606660666066606660666076403e801f0006000600060000000000 +03a7:000000000000f07060203040388018800d00060006000b00118011c020c04060e0f000000000000000000000 +03a8:000000000000ef70666066606660666076403f800f00060006000600060006000f0000000000000000000000 +03a9:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000 +03aa:30c030c000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +03ab:30c030c00000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000 +03ac:00000000020006000600040000001f9031d060e060e060c060c060c061e072603c3000000000000000000000 +03ad:00000000020006000600040000000f801fc0206060003f003f00600060203fc01f0000000000000000000000 +03ae:0000000002000600060004000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0 +03af:00000000020006000600040000001e00060006000600060006000600060006001f8000000000000000000000 +03b0:000000000200666066600400000079e030c030c030c030c030c030c030c038800f0000000000000000000000 +03b1:00000000000000000000000000001f9031d060e060e060c060c060c061e072603c3000000000000000000000 +03b2:000000000f00198030c030c030c030c031003e00330031c030e030e030603860378030003000300030007800 +03b3:000000000000000000000000000070e0b04030401880188019000d000e0006000e0013001300218021801f00 +03b4:0000000000001f8030001c000e0007000f8011c020e0606060606060704038801f0000000000000000000000 +03b5:00000000000000000000000000000f801fc0206060003f003f00600060203fc01f0000000000000000000000 +03b6:00000000000000007fe000c003000c00180030007000600060006000700030001e00078000c0006000c00380 +03b7:0000000000000000000000000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0 +03b8:00000000000000000f8011c020e06060606060607fe0606060606060704038801f0000000000000000000000 +03b9:00000000000000000000000000001e00060006000600060006000600060006001f8000000000000000000000 +03ba:0000000000000000000000000000f1c0630066007c0078007c006e0067006380f1e000000000000000000000 +03bb:0000000000001c001c000e00060006000b000b000b0011801180118020c020c071e000000000000000000000 +03bc:000000000000000000000000000079e030c030c030c030c030c030c030c039c03e6030003000300030007800 +03bd:0000000000000000000000000000f070602030203040184018800c800d000600060000000000000000000000 +03be:00000000000000007fe018003000600038000e0003c0060018006000700038001e00078000c0006000c00380 +03bf:00000000000000000000000000000f8011c020e06060606060606060704038801f0000000000000000000000 +03c0:0000000000000000000000000000fff030c030c030c030c030c030c030c030e0787000000000000000000000 +03c1:00000000000000000000000000000f8011c020e0606060606060606070407880670060006000600060006000 +03c2:00000000000000000000000000000f8011c020e0600060006000600078003f000f80018000c0018007000000 +03c3:00000000000000000000000000000ff011c020606060606060606060704038801f0000000000000000000000 +03c4:00000000000000000000000000007fe00600060006000600060006000600030001e000000000000000000000 +03c5:000000000000000000000000000079e030c030c030c030c030c030c030c038800f0000000000000000000000 +03c6:0000000000000000000000000000098013c026e0666066606660666076403e801f0006000600060006000600 +03c7:00000000000000000000000000006020702018401c800c800700070007000700098009c010c0207020300000 +03c8:0000000000000000000000000000e670666066606660666066606660666076403f800f000600060006000f00 +03c9:00000000000000000000000000006060c030c630c630c630c630c63066207fc0198000000000000000000000 +03ca:00000000000030c030c0000000001e00060006000600060006000600060006001f8000000000000000000000 +03cb:00000000000030c030c00000000079e030c030c030c030c030c030c030c038800f0000000000000000000000 +03cc:00000000020006000600040000000f8011c020e06060606060606060704038801f0000000000000000000000 +03cd:000000000200060006000400000079e030c030c030c030c030c030c030c038800f0000000000000000000000 +03ce:00000000020006000600040000006060c030c630c630c630c630c63066207fc0198000000000000000000000 +03cf:000000000000f0e06180630066006c00780078007c006e006700638061c060e0f07000c001800b0006000200 +03d0:000003800c4010202040ff8020004f8051c060e06060606060606060704038801f0000000000000000000000 +03d1:000000001e0023004180618060c030c00ff000606060b060b060306038401c800f0000000000000000000000 +03d2:0000000000006030d050d8901880188018800d000d00060006000600060006000f0000000000000000000000 +03d3:0180030006006030d050d8901880188018800d000d00060006000600060006000f0000000000000000000000 +03d4:1980198000006030d050d8901880188018800d000d00060006000600060006000f0000000000000000000000 +03d5:000000000600060006000f8017c026e066606660666066606660666076403e801f0006000600060000000000 +03d6:0000000000000000000000703fc0e0604030c630c630c630c630c63066207fc0198000000000000000000000 +03d7:00000000000000000000000000006040b0e0b1c03380378026802c8078c070e06060004001801e0000000000 +03d8:0000000000000f0011c020c020606060606060606060204030401880060006003fc000000000000000000000 +03d9:00000000000000000000000000000f8011c020e06060606060606060704038801f0006000600060000000000 +03da:0000000000000f0011c020c020606000600060006000200030001800060006003fc000000000000000000000 +03db:00000000000000000000002000e00fc010002000600060006000600078003f000f80018000c0018007000000 +03dc:0000000000007fc0304030403000300030803f80308030003000300030003000780000000000000000000000 +03dd:0000000000000000000000401f80300030003000300030003f80300030003000300030003000300000000000 +03de:0000000000003c00180018001800300030003fc000c000c000c001800180018003c000000000000000000000 +03df:00000000000000002000500058001800186031e0364078c060c00180018001a000a000400000000000000000 +03e0:0000000000000f0011c020c02060006001e00660186001e00660004000400080070000000000000000000000 +03e1:0000000000000f0001c000c00060006001e00660186001e00660004000400080010000000000000000000000 +03e2:00000000000036c066606660c630c630c630c630c630c630c630c630c63066207fc001800600180000000000 +03e3:00000000000000000000000036c066606660c630c630c630c630c630c63066207fc001800600180000000000 +03e4:00000000000008e010602060606060606060606060606060706038e01f6000600060006000600060006000f0 +03e5:000000000000000000000000000008e0106020606060606060606060706038e01f60006000600060006000f0 +03e6:000000000000e00060006000600067806fc070e06060606060606060606060c070c0018003003e0000000000 +03e7:000000000000000000000000e0006000600067806fc070e060606060606060c070c0018003003e0000000000 +03e8:000000001f8031c060e020e001c0038007001c0038003000700070007000700070003020306018c00f800000 +03e9:0000000000000000000000001f8031c060e021c0038007001c0038003000700070003020306018c00f800000 +03ea:000018400c800d00070007000b0009801180118010c020c020c0406040604060fff000000000000000000000 +03eb:0000000000000000000018400c800d0007000b000980118010c020c040604060fff000000000000000000000 +03ec:00000000000001e00e0018003000270058807040606060606060606020e011c00f8000000000000000000000 +03ed:0000000000000000000001e00e00180030002700588070406060606020e011c00f8000000000000000000000 +03ee:000000000f000600060006007fe07fe0462046200600060006000600060006000600060006000f0000000000 +03ef:000000000000000000000f00060006007fe07fe0462046200600060006000600060006000f00000000000000 +03f0:00000000000000000000000000006040b0e0b1c03380338026802c8078a070e0606000000000000000000000 +03f1:00000000000000000000000000000f8011c020e06060606060606060704058802700300018000e0001c00000 +03f2:00000000000000000000000000001f8030c020406000600060006000700030c01f8000000000000000000000 +03f3:00000000000000c000c00000000003c000c000c000c000c000c000c000c000c000c020c030c038801f000e00 +03f4:0000000000000f8011c020e06060606060607fe06060606060606060704038801f0000000000000000000000 +03f5:00000000000000000000000000001f803f80600060007f007f00600060003f801f0000000000000000000000 +03f6:00000000000000000000000000003f003f8000c000c01fc01fc000c000c03f803e0000000000000000000000 +03f7:0000000000007800300030003f8030c0306030603060306030c0378030003000780000000000000000000000 +03f8:00000000000000000000000000007800300030003f8030c0306030603060306038c037803000300030007800 +03f9:0000000000000fc01060202020006000600060006000600060002000302018400f8000000000000000000000 +03fa:000000000000e070606070e079604e6044604060406040604060406040604060e0f000000000000000000000 +03fb:00000000000000000000000000000000c0e0c0c0e1c0f2c09cc088c080c080c080d08050803080008000c000 +03fc:00000000000000000000000000000f8011c020e0606060606060606070407880670060006000ff0060006000 +03fd:0000000000003f00608040400040006000600060006000600060004040c021801f0000000000000000000000 +03fe:0000000000000fc01060202020006000600063006300600060002000302018400f8000000000000000000000 +03ff:0000000000003f00608040400040006000600c600c6000600060004040c021801f0000000000000000000000 +0400:1c000f0003807fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0401:1980198000007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0402:000000000000ffc08c400c000c000c000ce00f300c300c300c300c300c300db03ee000000000000000000000 +0403:0180030006007fc0304030403000300030003000300030003000300030003000780000000000000000000000 +0404:0000000000000fc0106020202000600061007f006100600060002000302018400f8000000000000000000000 +0405:0000000000001fe030606020602070003c001e00078001c000e04060406060c07f8000000000000000000000 +0406:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +0407:1980198000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +0408:0000000000001f80060006000600060006000600060006000600060006000600060006000600040038003000 +0409:000000000000ffc02300230023002300230023e02330233023302330a330a330c7e000000000000000000000 +040a:000000000000f780630063006300630063007fe0633063306330633063306330f7e000000000000000000000 +040b:000000000000ffc08c400c000c000c000ce00f300e300c300c300c300c300c301e7000000000000000000000 +040c:018003000600f0e06180630066006c00780078007c006e006700638061c060e0f07000000000000000000000 +040d:38001e000700f0f060606060606060e061606260646068607060606060606060f0f000000000000000000000 +040e:606030c00f00f070602030403040188018800d000d000600060004000c000800780070000000000000000000 +040f:000000000000f0f0606060606060606060606060606060606060606060606060fff00f000600000000000000 +0410:000000000000060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +0411:000000000000ffc0604060406000600060007f8060c0606060606060606060c0ff8000000000000000000000 +0412:000000000000ff00608060c060c060c061807f8060c0606060606060606060c0ff8000000000000000000000 +0413:0000000000007fc0304030403000300030003000300030003000300030003000780000000000000000000000 +0414:0000000000007ff020c020c020c020c020c020c020c020c040c040c040c040c0fff0c030c030801000000000 +0415:0000000000007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +0416:000000000000ef30c6106620664036801f000e0007000ec016c0266046608630cf7000000000000000000000 +0417:000000004f807fc060e04060006000e007c00fc000e000600060406060403f801f0000000000000000000000 +0418:000000000000f0f060606060606060e061606260646068607060606060606060f0f000000000000000000000 +0419:606030c00f00f0f060606060606060e061606260646068607060606060606060f0f000000000000000000000 +041a:000000000000f0e06180630066006c00780078007c006e006700638061c060e0f07000000000000000000000 +041b:0000000000003fe010c010c010c010c010c010c020c020c020c0a0c0e0c0e0c0c1e000000000000000000000 +041c:000000000000e07060e070e070e070e05960596059604d604e604e6044604460e4f000000000000000000000 +041d:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000 +041e:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +041f:000000000000fff0606060606060606060606060606060606060606060606060f0f000000000000000000000 +0420:0000000000007f8030c030603060306030c03780300030003000300030003000780000000000000000000000 +0421:0000000000000fc01060202020006000600060006000600060002000302018400f8000000000000000000000 +0422:0000000000007fe04620060006000600060006000600060006000600060006001f8000000000000000000000 +0423:000000000000f070602030403040188018800d000d000600060004000c000800780070000000000000000000 +0424:0000000000001f8006000f8017c026e0666066606660666076403e801f0006001f8000000000000000000000 +0425:000000000000f07060203040388018800d00060006000b00118011c020c04060e0f000000000000000000000 +0426:000000000000f1e060c060c060c060c060c060c060c060c060c060c060c060c0fff000300030001000000000 +0427:00000000000079e030c030c030c030c030c030c039c01ec000c000c000c000c001e000000000000000000000 +0428:000000000000f6f0666066606660666066606660666066606660666066606660fff000000000000000000000 +0429:000000000000f6f0666066606660666066606660666066606660666066606660fff000300030001000000000 +042a:000000000000fc00980098001800180018001f801fc018e018601860186018c01f8000000000000000000000 +042b:000000000000e0f0c060c060c060c060fc60fe60c760c360c360c360c360c660fcf000000000000000000000 +042c:000000000000780030003000300030003f003f8031c030c030c030c030c031807f0000000000000000000000 +042d:0000000000003f00608040400040006008600fe0086000600060004040c021801f0000000000000000000000 +042e:000000000000e180c2e0c460c430cc30cc30fc30cc30cc30cc30c420c620c340e18000000000000000000000 +042f:0000000000000ff0186030603060306010600fe003e007600e601c6038607060e0f000000000000000000000 +0430:00000000000000000000000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +0431:0000000000000fc01f80200020004f8051c060e06060606060606060704038801f0000000000000000000000 +0432:0000000000000000000000000000ff00608060c061807f8060c06060606060c0ff8000000000000000000000 +0433:00000000000000000000000000007fc030403000300030003000300030003000780000000000000000000000 +0434:00000000000000000000000000003ff0118011801180118011802180218021807ff060606060402000000000 +0435:00000000000000000000000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0436:0000000000000000000000000000ef30c610662066403f801fc0266046608630cf7000000000000000000000 +0437:0000000000000000000000004f807fc06060006007c00fc00060406060403f801f0000000000000000000000 +0438:0000000000000000000000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +0439:00000000606030c00f0000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +043a:0000000000000000000000000000f1c0630066007c0078007c006e0067006380f1e000000000000000000000 +043b:00000000000000000000000000001fe008c008c008c010c010c010c050c070c061e000000000000000000000 +043c:0000000000000000000000000000e07060e070e0596059604d604e6046604460e4f000000000000000000000 +043d:0000000000000000000000000000f1e060c060c060c07fc060c060c060c060c0f1e000000000000000000000 +043e:00000000000000000000000000000f8011c020e06060606060606060704038801f0000000000000000000000 +043f:00000000000000000000000000007fe030c030c030c030c030c030c030c030c079e000000000000000000000 +0440:0000000000000000000000000000ef8071c060e06060606060606060604070807f006000600060006000f000 +0441:00000000000000000000000000001f8031c020c06000600060006000704030c01f8000000000000000000000 +0442:00000000000000000000000000007fe0462006000600060006000600060006001f8000000000000000000000 +0443:0000000000000000000000000000f0f0602030403040188018800d000d000600060004000c00080078007000 +0444:0000000000000f0006000600060036c07fe0ef70c630c630c630c6304f207fe036c006000600060006000f00 +0445:0000000000000000000000000000f8f0704038801d000e0007000b8011c020e0f1f000000000000000000000 +0446:000000000000000000000000000079e030c030c030c030c030c030c030c030c07ff000300030001000000000 +0447:000000000000000000000000000079e030c030c030c039c01ec000c000c000c001e000000000000000000000 +0448:0000000000000000000000000000f6f066606660666066606660666066606660fff000000000000000000000 +0449:0000000000000000000000000000f6f066606660666066606660666066606660fff000300030001000000000 +044a:0000000000000000000000000000fc00980098001f801fc018e01860186018c01f8000000000000000000000 +044b:0000000000000000000000000000e0f0c060c060fc60fe60c760c360c360c660fcf000000000000000000000 +044c:00000000000000000000000000007800300030003f003f8031c030c030c031807f0000000000000000000000 +044d:00000000000000000000000000003f006080404008600fe00860006040c021801f0000000000000000000000 +044e:0000000000000000000000000000f18062e0646064307c306c30642066206340f18000000000000000000000 +044f:00000000000000000000000000001fe030c060c020c01fc007c00ec01cc038c071e000000000000000000000 +0450:0000000000001c000f00038000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0451:00000000000019801980000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +0452:000000001000300070003000fe003000378039c030c030c030c030c030c030c078c000c030c038801f000e00 +0453:00000000030006000c00000000007fc030403000300030003000300030003000780000000000000000000000 +0454:00000000000000000000000000000fc01060202061007f0061006000302018400f8000000000000000000000 +0455:00000000000000000000000000001fc030c0304038001e00078001c020c030c03f8000000000000000000000 +0456:00000000000006000600000000001e00060006000600060006000600060006001f8000000000000000000000 +0457:00000000000019801980000000001e00060006000600060006000600060006001f8000000000000000000000 +0458:00000000000000c000c00000000003c000c000c000c000c000c000c000c000c000c020c030c038801f000e00 +0459:00000000000000000000000000003f8013001300130023e023302330a330e330c7e000000000000000000000 +045a:0000000000000000000000000000f7806300630063007fe06330633063306330f7e000000000000000000000 +045b:000000001000300070003000fe003000378039c030c030c030c030c030c030c079e000000000000000000000 +045c:00000000030006000c0000000000f1c0630066007c0078007c006e0067006380f1e000000000000000000000 +045d:000000001c000f00038000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +045e:00000000606030c00f0000000000f0f0602030403040188018800d000d000600060004000c00080078007000 +045f:000000000000000000000000000079e030c030c030c030c030c030c030c030c07fe00f000600000000000000 +0460:000000000000fef066206620662076207740334037403bc03b80198019801980198000000000000000000000 +0461:0000000000000000000000000000ff7066206620662037403b403b4019801980198000000000000000000000 +0462:000000000000fc0098001800ff80180018001f801fc018e018601860186018c01f8000000000000000000000 +0463:000000000000000000000000fc001800ff8018001f801fc018e01860186018c01f8000000000000000000000 +0464:000000000000e3c0446048204800580059007f0059005800580048004c204640e38000000000000000000000 +0465:0000000000000000000000000000e3c04460482059007f00590048004c204640e38000000000000000000000 +0466:000000000000060006000b000b0009001180118010803fc024c0244044604460e4f000000000000000000000 +0467:0000000000000000000000000000060006000b000900118010803fc024c04460e4f000000000000000000000 +0468:000000000000e60046004b004b0049005180518050807fc064c0644044604460e4f000000000000000000000 +0469:0000000000000000000000000000e60046004b004900518050807fc064c04460e4f000000000000000000000 +046a:000000000000fff060203040188018800d003fc04660c630c630c630c630c630ef7000000000000000000000 +046b:00000000000000000000000000007fe0304018800d003fc04660c630c630c630ef7000000000000000000000 +046c:000000000000fff0b02098408c8086808700ffe0b330b330b330b330b330b330f77000000000000000000000 +046d:0000000000000000000000000000fff0b02098408c808700ffe0b330b330b330f77000000000000000000000 +046e:19800f00060000000f801fc020e04060006000e007c00fc000e00060006000803f00600060003c001f000000 +046f:000019800f000600000000000f801fc020e0406000e007c00fc000e0006000803f00600060003c001f000000 +0470:000000000000ef70666066606660666076403f800f00060006000600060006000f0000000000000000000000 +0471:0000000000000000000000000000e670666066606660666066606660666076403f800f000600060006000f00 +0472:0000000000000f0011c020c02060606060607c6063e0606060602040304018800f0000000000000000000000 +0473:00000000000000000000000000000f0011c020c060607c6063e02040304018800f0000000000000000000000 +0474:000000000000f020607030d0309030801900190019000e000e000e0004000400040000000000000000000000 +0475:0000000000000000000000000000f020607030d03080190019000e000e000400040000000000000000000000 +0476:e38079e01c70f020607030d0309030801900190019000e000e000e0004000400040000000000000000000000 +0477:00000000e38079e01c7000000000f020607030d03080190019000e000e000400040000000000000000000000 +0478:0000000000003000380048004c00cf30ce10ce10cd20cd20cd2049c068c038c010800080018001000f000e00 +0479:00000000000000000000000000003000380048004c00cf30ce10cd20cd2049c068c038c0108001800f000e00 +047a:000000000e001f802ee040604030c030c030c030c030c030c0304020602037401f8007000000000000000000 +047b:0000000000000000000000000e001f802ee040604030c030c0304020602037401f8007000000000000000000 +047c:0c00338040e00e006160c130c630c030c030c030c030c030c630c630c63066207fc019800000000000000000 +047d:0000000000000c00338040e00e006160c130c630c030c030c630c63066207fc0198000000000000000000000 +047e:7fc044400000fef066206620662076207740334037403bc03b80198019801980198000000000000000000000 +047f:0000000000007fc0444000000000fef0662066207740334037403bc019801980198000000000000000000000 +0480:0000000000000fc01060202020006000600060006000600060002000306018e00fe0006000600060006000f0 +0481:00000000000000000000000000000f8010c02040200060006000200030c019c00fc000c000c000c000c001e0 +0482:00000000000000000000000000000000000000000180018003003b00070006e0ec001c001b80180030003000 +0483:00603fc060000000000000000000000000000000000000000000000000000000000000000000000000000000 +0484:03c0066006600000000000000000000000000000000000000000000000000000000000000000000000000000 +0485:0f000c0007000000000000000000000000000000000000000000000000000000000000000000000000000000 +0486:0f0003000e000000000000000000000000000000000000000000000000000000000000000000000000000000 +0487:3c006780c0e00000000000000000000000000000000000000000000000000000000000000000000000000000 +0488:04000a0000000000204050a000000000000000004020a0500000000000000000204050a00000000004000a00 +0489:08000e000000000040e0702000000000000000008070e010000000000000000040e07020000000000e000200 +048a:606030c00f00f0f060606060606060e061606260646068607060606060606060f0f00030006000c001800000 +048b:00000000606030c00f0000000000f0f0606060e0616062606460686070606060f0f00030006000c001800000 +048c:00000000000030003000fe00300030003f003f8031c030c030c030c030c031807f0000000000000000000000 +048d:00000000000000000000000030003000fe0030003f003f8031c030c030c031807f0000000000000000000000 +048e:0000000000007f8030c030603060366033c03f8030c030603000300030003000780000000000000000000000 +048f:0000000000000000000000000000ef8071c060e06060606060606060664073807f8060c0606060006000f000 +0490:0000004000407fc0300030003000300030003000300030003000300030003000780000000000000000000000 +0491:00000000000000000000004000407fc030003000300030003000300030003000780000000000000000000000 +0492:0000000000003fe018201820180018007f0018001800180018001800180018003c0000000000000000000000 +0493:00000000000000000000000000003fe0182018007f00180018001800180018003c0000000000000000000000 +0494:0000000000007fc030403040300030003000378038c038c030c030c030c030c078c000c008c00cc00f800700 +0495:00000000000000000000000000007fc0304030003000378038c038c030c030c078c000c008c00cc007800000 +0496:000000000000ef30c6106620664036801f000e0007800ec016c0266046608630cf7000300030003000000000 +0497:0000000000000000000000000000ef30c610662066403f801fc0266046608630cf7000300030000000000000 +0498:000000004f807fc060e04060006000e007c00fc000e000600060406060403f801f0004000700010006000000 +0499:0000000000000000000000004f807fc06060006007c00fc00060406060403f801f0004000700010006000000 +049a:000000000000f0e06180630066006c00780078007c006e006700638061c060e0f07000300030003000000000 +049b:0000000000000000000000000000f1c0630066007c0078007c006e0067006380f1f000300030000000000000 +049c:000000000000f07060c069806b006e007c0078007c006e006f006b8069c060e0f07000000000000000000000 +049d:0000000000000000000000000000f0e061806b006e0078006e006f006b8061c0f0f000000000000000000000 +049e:000000000000f07060c0fd80630066007c0078007c006e006700638061c060e0f07000000000000000000000 +049f:0000000000000000f0006000fc0061c0630066007c0078007c006e0067006380f1e000000000000000000000 +04a0:000000000000f870b0c0b180330036003c003c003e003700338031c030e03070783000000000000000000000 +04a1:0000000000000000000000000000f8e0b180b3003e003c003e003700338031c078f000000000000000000000 +04a2:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000300030003000000000 +04a3:0000000000000000000000000000f0f06060606060607fe06060606060606060f0f000300030000000000000 +04a4:000000000000f3f0619061906180618061807f80618061806180618061806180f3c000000000000000000000 +04a5:0000000000000000000000000000f3f06190618061807f806180618061806180f3c000000000000000000000 +04a6:000000000000ff8063006300630063006300636063b063306330633063306330f7b000300230033003e001c0 +04a7:0000000000000000000000000000ff80630063006300636063b0633063306330f7b000300230033001e00000 +04a8:0000000000000e001000218022c064606c606c606c606c606c602640314019800e6000000000000000000000 +04a9:00000000000000000000000000000e001000218022c064606c602640314019800e6000000000000000000000 +04aa:0000000000000fc01060202020006000600060006000600060002000302018400f8004000700010006000000 +04ab:00000000000000000000000000001f8031c020c06000600060006000704030c01f8004000700010006000000 +04ac:0000000000007fe04620060006000600060006000600060006000600060006001f8004000700010006000000 +04ad:00000000000000000000000000007fe0462006000600060006000600060006001f8004000700010006000000 +04ae:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000 +04af:0000000000000000000000000000000078e030403040188018800d000d000600060006000600060006000f00 +04b0:000000000000f07060203040188018800d0006003fc0060006000600060006000f0000000000000000000000 +04b1:0000000000000000000000000000000078e030403040188018800d000d0006003fc006000600060006000f00 +04b2:000000000000f07060203040388018800d00060006000b00118011c020c04060e0f000300030003000000000 +04b3:0000000000000000000000000000f8f0704038801d000e0007000b8011c020e0f1f000300030003000000000 +04b4:000000000000ff709960186018601860186018601860186018601860186018603ff000300030003000000000 +04b5:0000000000000000000000000000ff70996018601860186018601860186018603ff000300030000000000000 +04b6:00000000000079e030c030c030c030c030c030c039c01ec000c000c000c000c001e000300030003000000000 +04b7:000000000000000000000000000079e030c030c030c030c039c01ec000c000c001e000300030003000000000 +04b8:00000000000079e030c030c030c034c034c034c03dc01ec004c004c004c000c001e000300030003000000000 +04b9:000000000000000000000000000079e030c030c034c034c03dc01ec004c004c001e000300030003000000000 +04ba:00000000000078003000300030003000378039c030c030c030c030c030c030c079e000000000000000000000 +04bb:0000000000000000000000000000780030003000378039c030c030c030c030c079e000000000000000000000 +04bc:0000000000000f0011c0a0c0a060ffe0600060006000600060002000304018800f0000000000000000000000 +04bd:0000000000000000000000000000070018c0b060b060ffe03000300018000c60078000000000000000000000 +04be:0000000000000f0011c0a0c0a060ffe0600060006000600060002000304018800f0006000600060000000000 +04bf:0000000000000000000000000000070018c0b060b060ffe03000300018000c60078003000300030000000000 +04c0:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +04c1:606030c00f00ef30c6106620664036801f000e0007000ec016c0266046608630cf7000000000000000000000 +04c2:00000000606030c00f0000000000ef30c610662066403f801fc0266046608630cf7000000000000000000000 +04c3:000000000000f0e06180630066006c00780078007c00670061c060e060706030f0300030027003e001800000 +04c4:0000000000000000000000000000f1c0630066006c007c00670061c060e06060f060006004e007c003000000 +04c5:0000000000003fe010c010c010c010c010c010c020c020c020c0a0c0e0c0e0c0c1e0006000c0018003000000 +04c6:00000000000000000000000000001fe008c008c008c010c010c050c070c070c061e0006000c0018003000000 +04c7:000000000000f0f0606060606060606060607fe0606060606060606060606060f060006004e007c003000000 +04c8:0000000000000000000000000000f1e060c060c060c07fc060c060c060c060c0f0c000c009c00f8006000000 +04c9:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f0006000c0018003000000 +04ca:0000000000000000000000000000f1e060c060c060c07fc060c060c060c060c0f1e000c00180030006000000 +04cb:00000000000079e030c030c030c030c030c030c03dc01ec000c000c000c000c001e0006000c0018003000000 +04cc:000000000000000000000000000079e030c030c030c030c03dc01ec000c000c001e0006000c0018003000000 +04cd:000000000000e07060e070e070e070e05960596059604d604e604e6044604460e4f00030006000c001800000 +04ce:0000000000000000000000000000e07060e070e0596059604d604e6046604460e4f00030006000c001800000 +04cf:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000 +04d0:606030c00f00060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +04d1:00000000606030c00f00000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +04d2:198019800000060006000b000b0009001180118010803fc020c0204040604060e0f000000000000000000000 +04d3:00000000000019801980000000000f8018c010c003c01cc030c030c030c039c01ee000000000000000000000 +04d4:0000000000000fe00e20162016001600164027c026403e002600460046104610e7f000000000000000000000 +04d5:00000000000000000000000000001f80364026600e603fe066006600660067603fc000000000000000000000 +04d6:606030c00f007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000 +04d7:00000000606030c00f00000000000f0030c0606060607fe060006000300018600f8000000000000000000000 +04d8:0000000000003f0060804040004000600060006000607fe04040404040c021801f0000000000000000000000 +04d9:00000000000000000000000000003f0060804040006000607fe0404040c021801f0000000000000000000000 +04da:1980198000003f0060804040004000600060006000607fe04040404040c021801f0000000000000000000000 +04db:00000000000019801980000000003f0060804040006000607fe0404040c021801f0000000000000000000000 +04dc:198019800000ef30c6106620664036801f000e0007800ec016c0266046608630cf7000000000000000000000 +04dd:0000000000001980198000000000ef30c610662066403f801fc0266046608630cf7000000000000000000000 +04de:198019804f807fc060e04060006000e007c00fc000e000600060406060403f801f0000000000000000000000 +04df:0000000019801980000000004f807fc06060006007c00fc00060406060403f801f0000000000000000000000 +04e0:0000000000007fe040c00180030006000c001f8001c000c000c040c060803f001e0000000000000000000000 +04e1:00000000000000000000000000003fe020c00180030006000c001f8001c000c000c020c030801f000e000000 +04e2:3fc000000000f0f060606060606060e061606260646068607060606060606060f0f000000000000000000000 +04e3:00000000000000003fc000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +04e4:198019800000f0f060606060606060e061606260646068607060606060606060f0f000000000000000000000 +04e5:0000000000001980198000000000f0f0606060e0616062606460686070606060f0f000000000000000000000 +04e6:1980198000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000 +04e7:00000000000019801980000000000f8011c020e06060606060606060704038801f0000000000000000000000 +04e8:0000000000000f8011c020e06060606060607fe06060606060606060704038801f0000000000000000000000 +04e9:00000000000000000000000000000f8011c020e060607fe060606060704038801f0000000000000000000000 +04ea:1980198000000f8011c020e06060606060607fe06060606060606060704038801f0000000000000000000000 +04eb:00000000000019801980000000000f8011c020e060607fe060606060704038801f0000000000000000000000 +04ec:1980198000003f00608040400040006008600fe0086000600060004040c021801f0000000000000000000000 +04ed:00000000000019801980000000003f006080404008600fe00860006040c021801f0000000000000000000000 *** 3282 LINES SKIPPED *** From nobody Sat Sep 13 02:24:02 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cNw8f2DFfz67SyT; Sat, 13 Sep 2025 02:24: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cNw8f1lSlz3M4w; Sat, 13 Sep 2025 02:24:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757730242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1HVuIRpfuigE17eWCOWl5it+utfpV28wQHiqE7iPEo0=; b=OKBEZYzOkvZqQrIzfzbT8P7NKe+M6Xnvdja3VqDbAN6a8aIuvbdoDlhl5In3vGF2dulD1N feKDH8SJQ9TkUQvbl7weKTGtB7Y0Lk/XHc+oD+7IC8d92+BGg1+eTkw1b0vXgOLJux9S27 He24kp8F2TF1JDSlLswx682LCMyAldlI6EXCjFmXFaI479jd3KHfNEy3Vsg8C9zmF2+7he UY+XEoih+soVcecBRirFOuP7ebZjhGKqr0LSugF6nwoYuuCoT88Xk3/JYqKqM/VaPwIQUg dVeo4ZANszVu1T0Z0VHvB9SLHHBY/Rz/YE7ymst0fT7fWlX6RdO4aXw7a5uErA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757730242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1HVuIRpfuigE17eWCOWl5it+utfpV28wQHiqE7iPEo0=; b=F1ZjAHDLPUrvSLKf4Satz8HSUq3xS3nQ2PpnoOQKwB8AQxg1uCw40DxmlHxRua9vwtqfU1 6wt5pp0IsEBMfYZIAmNnr6arN2WMA69Z9KFuSfj7Phq4kJqZEMgAqK3hzSKhMpqGhE8qv+ PiaSN5mGs4pSNdCfjXTQTmfU4ZUdcWLXLo6qYP+VA0HFS5NgjxNw+3j2AyydInfGKozaqX 0z1TCAZTQb2XuHgZ8bs1pHCw28RwekBQhemDDpvk4kUg5NWZ5esjo0jFzTB2kwW4Y7sRP9 61yIdmfLJK/yXWhB5PChszR2FPjklgfyDVFIpXkGTqUhYbon7OwUApnOl59vyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757730242; a=rsa-sha256; cv=none; b=JlosPwYER0w91TYykzyZ2pghPx0gqUX1guYqLmBCT93r2C5n3K3zw4WlOzI1X3Vv5xIFLA ddfJvCuiWTp6IDnAAzMrZyhkVGf9PWIFls7vm7rkM+C8KGtABrZwmi/rRYeQ7S0ZFhjoOi H74jIEKcwCbv0w535AMeJo1H8/S4oomi//Vqpaubq69qJTFtbDeROz8QrNUz+HfwpC1Dpv GHkYLAeH99xjlhSil411PSfhbzjSWkj89yIESMWusW4aptuqIFMGWCgJRK1MGh2CxHNAr7 wQRL5wgxUgU49PVeNwMJkpFGQE/Xv+vu2uR1czsQD6jlq7I9wyarj2JA0k1GFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cNw8f1BGKz4Ll; Sat, 13 Sep 2025 02:24: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 58D2O2a0044898; Sat, 13 Sep 2025 02:24:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58D2O2iH044895; Sat, 13 Sep 2025 02:24:02 GMT (envelope-from git) Date: Sat, 13 Sep 2025 02:24:02 GMT Message-Id: <202509130224.58D2O2iH044895@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: e2f40ab4ce48 - stable/15 - release.sh: Pass PKGCONF through to make 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/stable/15 X-Git-Reftype: branch X-Git-Commit: e2f40ab4ce489789d8fd8bed0596ba05ea9018e6 Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e2f40ab4ce489789d8fd8bed0596ba05ea9018e6 commit e2f40ab4ce489789d8fd8bed0596ba05ea9018e6 Author: Colin Percival AuthorDate: 2025-09-13 02:21:35 +0000 Commit: Colin Percival CommitDate: 2025-09-13 02:23:49 +0000 release.sh: Pass PKGCONF through to make release Otherwise setting PKGCONF=1 in the release.conf file doesn't actually result in pkgbase bits being produced and shipped on images. MFC after: 1 minute Sponsored by: https://www.patreon.com/c/cperciva (cherry picked from commit d4282cfa97d695f3e5590ad330a5a0bb2cca3110) --- release/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/release.sh b/release/release.sh index 8f0624e57344..38a365182c73 100755 --- a/release/release.sh +++ b/release/release.sh @@ -199,7 +199,7 @@ env_check() { KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \ WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ - XZ_THREADS=${XZ_THREADS}" + XZ_THREADS=${XZ_THREADS} PKGCONF=${PKGCONF}" return 0 } # env_check() From nobody Sat Sep 13 11:31:27 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cP8JH6Clsz62c2h; Sat, 13 Sep 2025 11:31:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cP8JH5N1Rz4Pv0; Sat, 13 Sep 2025 11:31:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757763087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1StTyjQ3iqrbJKTgjGNsPIvvQsTrVF56mnPP++u62t8=; b=yS2S4LPdTuCejf8VKHQEGzz5jfsTCQ0RWreSXlUtNhqokJHMbaNfx7kS57BDX+HjbWSIVh oZUgryRWPcj8y4XjciTHUCtxg3xdLfjk7cBgfpeXf0IQXJjBIPLCD3VbpPw749a5aJpfWv 9j1M2RPGHLeilrWCjAl7b0ppAoH/kx7tYbTc2dWTnSxxpsUM/HPZZIUAkf0HMtKuvc4Nzj 0j79+iPtItinU5kH3Uh+D2TepvnchQYUzDyBNCRiz2ikbyqLH1QNGes9LpHoFgdoBXTTNO Gbo9j/WRCo+59/33kLtnqLUKsVZ/KSfHewhaTOjYupkvZpC6F1z+uOj8gDU3JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757763087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1StTyjQ3iqrbJKTgjGNsPIvvQsTrVF56mnPP++u62t8=; b=HXgQQCpXzjiSiRUjJYOYu6w0FYFehjHnxfEKq7YOnvtOqNa5yeJd7re7PIlrNdNv21OkCw dEWCJypzhrGRsZBz5RKbhP7limveHMqHrQ2Uac0s/jcTte1AkTZENvpGzHDvp9CHKCHZD5 v7dnZtOs7yRfVunhq/hK05dWoAM6rgifi4rR4+V8eBn56uKV7FsD/SfxeNNp+2sza8pNxW RU/NQKVvhw2Ck34IVRZTtb5ykgAwjH5+VgrAAqHOT32thWt7BTQCTe/9qZXfSzTDL2+oG/ m3cLMNSZ/CybkH0ixPan0zBvetmGQ0M+DSgfXP1Cds18hKcEpISHjHFLcCvBrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757763087; a=rsa-sha256; cv=none; b=Yxzly8KMDfFpXgWrAf8M9t3GjYr99YlIuXMRmktqjK5EOxB7HKJoAAxVdnFfa5CfTo3nHx H2xOYkymFFgBacKaQTQiUl9e/RWByFGj7EUsoSx6cF1BIX0DVh/O+ystuF1XU2/5VDKvpZ +kic5tXA8whBsXt9YoPELSfpKKDLpV67j1b8CXI3UV8Gbe8g0dlx1XHpUtWxmNMFyrylWZ MQ2omHJyAZxQeD6gGtckz2v8x3UKVTStzR9QBK8ABqPjM8Zmak9AoRmZ/OpLNtZWYuSbFr RH3fdB28zUI2BqMaV9eDLXfLGa6r2ti37YmndLPDq3D0y/6CupjGZ1p2R9dFmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cP8JH4f2mzdGP; Sat, 13 Sep 2025 11:31: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 58DBVRkT075224; Sat, 13 Sep 2025 11:31:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DBVR1g075221; Sat, 13 Sep 2025 11:31:27 GMT (envelope-from git) Date: Sat, 13 Sep 2025 11:31:27 GMT Message-Id: <202509131131.58DBVR1g075221@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: c7608bcae4e0 - stable/14 - ports.7: Fix example of passing variables on the command line List-Id: Commits to the stable branches 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: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c7608bcae4e008a8b9c7f59ee4ab9a0804fe2c9e Auto-Submitted: auto-generated The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=c7608bcae4e008a8b9c7f59ee4ab9a0804fe2c9e commit c7608bcae4e008a8b9c7f59ee4ab9a0804fe2c9e Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2025-09-10 08:52:15 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2025-09-13 11:31:22 +0000 ports.7: Fix example of passing variables on the command line make(1)'s -D flag does not allow for setting the value of the variable. It just defines the variable and sets its value to 1. In fact, make(1) treats "=" as just another character in the variable name: ``` $ make -DA=2 -V A # Output is just an empty line. $ make -DA=2 -V A=2 # Variable "A=2" is defined and set to "1". 1 ``` Fixes: d25f7d324a9d ports.7: Document DEBUG_FLAGS and the process of debugging ports MFC after: 3 days (cherry picked from commit 9365a328596c9f156deaa15fa018b76b3a6e6b18) --- share/man/man7/ports.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 6650399cfc67..2b6f17965fce 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd March 21, 2025 +.Dd September 10, 2025 .Dt PORTS 7 .Os .Sh NAME @@ -683,7 +683,7 @@ WITH_DEBUG_PORTS= mail/dovecot security/krb5 .Pp It is also possible to use the debug variables on the command line: .Bd -literal -offset 2n -.Li # Ic make -DWITH_DEBUG DEBUG_FLAGS="-g -O0" build +.Li # Ic make WITH_DEBUG DEBUG_FLAGS="-g -O0" build .Ed .Pp See the From nobody Sat Sep 13 11:31:40 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cP8JY27JZz62c5h; Sat, 13 Sep 2025 11:31: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cP8JY0fcrz4QTP; Sat, 13 Sep 2025 11:31:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757763101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1CV4f+QQHQGpfknPvfvo/+i1DdlEDPyOJ7ZXT2fk7aw=; b=jNUoPvQfJGMFVe+vzmLWEK0utLrxCKyUpvr4ccU3UYxgG3RC6bYU17T5LtEc3uGgckMkka fbQEUrNhe3zzO/3T33rG0ldVLT/hZsuMvTjxB3/GTZeseRJFH0Q1Q3kwaLuigJzf/0KnCi l3JDdCvESFXGUZVqID9KF31fE/XSodEe9AGYnNz6w5wSqr1ahWS9RxzZXAW6m51X7G2aNs lotpfE9Vk1u39KVKEMLagxDl7sJAqD7zRBdHEjo4VQLfkLb3v2By5y1Pjn1aUNpHhkRh05 5VXrKlZbMon7fYDOwLZYjN4j8AyouiigsTcV2BbccwEe+W2jaU5oX1wtgPvgSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757763101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1CV4f+QQHQGpfknPvfvo/+i1DdlEDPyOJ7ZXT2fk7aw=; b=cptnebAQ3p7mXSl5wUyAvMbPEJ86ncQi1+Ai/ZE3IyoaZD+K82edqDl1xQA25nYzzjZkcj KKr0IBySUHZiKeCrWVU9gPPES5mTC7PrkeyfPXMDl+bOGss7bHoJSSq2Q5GcekHz8afRF0 /YXRXOVDVgE+qE2Uf3cbfVzx8WyQOGDgsRQna+BWTRXGwNiLixvxLB8moD2jG6a0Ztw7uw 0CmgtzTKGEyyq/18CBFcS9SHSZqsfOjyjVcNbN5Sxj39+BOAwZp2TfIWSoaK/IvKUzb+50 7J7WkmRdp/pISN4pE0SltkGRv/d2tJPFtBnEdTZGI8aa5T39rpYIbNmtnP3XkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757763101; a=rsa-sha256; cv=none; b=Q3u0bwBNf3Xr2x+Z58FgPAfR+cXuFRfpkPH8jwKVVyBR6xvucxgNPsMw+gMfNEGgj7+Wxi Ul7Lzil0CLCYJZMac5xaUlMehn9md73oQPEYpHjP3d43bmAxpFB1ovin1e9ojO9gEgV1Tb JS3jg8zVz5Kj3EApOnwRQuT5cTV0qpCj5QuOK+PULtp+HJbFuqa6tIBeK4UZ2WGKb52wJD Fgis247SmrU0yyGgflKRGv4uLkIt4NMc2/PUyjgFdTXXQGT/9nrv3vyZjxM1DZhJPNrhYb kSymStOpIiekG3o0hqSc6Q6m8bj4TJAi7z33LFCPgItWBz5FxlSxkWs8smYckA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cP8JY0G2CzdGX; Sat, 13 Sep 2025 11:31:41 +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 58DBVe8G075433; Sat, 13 Sep 2025 11:31:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DBVeJR075430; Sat, 13 Sep 2025 11:31:40 GMT (envelope-from git) Date: Sat, 13 Sep 2025 11:31:40 GMT Message-Id: <202509131131.58DBVeJR075430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: aacf2678b67b - stable/13 - ports.7: Fix example of passing variables on the command line List-Id: Commits to the stable branches 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: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aacf2678b67b9c57282fcf8690b0c91791b2d2a1 Auto-Submitted: auto-generated The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=aacf2678b67b9c57282fcf8690b0c91791b2d2a1 commit aacf2678b67b9c57282fcf8690b0c91791b2d2a1 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2025-09-10 08:52:15 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2025-09-13 11:31:38 +0000 ports.7: Fix example of passing variables on the command line make(1)'s -D flag does not allow for setting the value of the variable. It just defines the variable and sets its value to 1. In fact, make(1) treats "=" as just another character in the variable name: ``` $ make -DA=2 -V A # Output is just an empty line. $ make -DA=2 -V A=2 # Variable "A=2" is defined and set to "1". 1 ``` Fixes: d25f7d324a9d ports.7: Document DEBUG_FLAGS and the process of debugging ports MFC after: 3 days (cherry picked from commit 9365a328596c9f156deaa15fa018b76b3a6e6b18) --- share/man/man7/ports.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index cc53b4c068c5..05ed6d29603b 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd March 21, 2025 +.Dd September 10, 2025 .Dt PORTS 7 .Os .Sh NAME @@ -667,7 +667,7 @@ WITH_DEBUG_PORTS= mail/dovecot security/krb5 .Pp It is also possible to use the debug variables on the command line: .Bd -literal -offset 2n -.Li # Ic make -DWITH_DEBUG DEBUG_FLAGS="-g -O0" build +.Li # Ic make WITH_DEBUG DEBUG_FLAGS="-g -O0" build .Ed .Pp See the From nobody Sat Sep 13 13:06:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPBQW0PmLz62kLB; Sat, 13 Sep 2025 13:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPBQV56w4z3MTj; Sat, 13 Sep 2025 13:06:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757768818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sPu3ubsq4SWgIjqvF95hDUVdRYR//dj9mb8FQuQ6b2Q=; b=vT7ADwOP3m4Lp4nmUhDB0RqERChVRa9LDhgZC81EXRQi+DVaqTXsfoa2IKZfjpW+H432SA kkultTAcB2ctbBfSxavf4k5GNuVmn5kLQ7ZCnklbtv5GMvktPiColygpb2RaDdWtTi7RtU zTxQKHTYmwSHnm/AMBYc9qSnyiR7liyv4Ghkg5MGXsELu9ovExxnGRX6N1vuw/Zn+OzuWq QYynsCCmiyqjqs1F6e3DliI3kQXuBmDu+LGaG9DZ09mLjsFWPAsf/WS3OrAeUXuFfI8zA5 So1q6jR/b8yzouiBHhYPGeALWtVGRVCWOFMOJSBzBxXZ6tC5srCTSVVuLTuUag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757768818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sPu3ubsq4SWgIjqvF95hDUVdRYR//dj9mb8FQuQ6b2Q=; b=o5BEvGSU0pQn7uK/htndU13OQmKNokq2wQg29neUV8hQq1jgupZvoRAc8RKrCbAVLKS4fp azofpW3MBVQw7y8xpZf9zoQsu7KNk/amMxoSsiDU6BN9ikpYiXbcOa80jCkpEvLIihiUpz RGfwRVmJzjCQYmsxkSIH0VmNIzPG8sL9+eVgdbQPLnwZuK8IhXgIGYcopuAa6Wxy2+P1gP ch3VopSK8YhUhKvv26b/c1QDazDkskMpLp8z4IG4+I5tz9gIsNW2QzyHECLwalBuA8HyuJ Sng9Ni9cHRv1aEyhnM7wHPlgCt5Lpzu44G5LKsp5FQdMTTFwi7S6EB0F1yTGbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757768818; a=rsa-sha256; cv=none; b=tOygP+fo3VCcc44k2/ztTvfsQfY03hU2ArONEQUM2CAhk88vqw2Wn5/NUa8xN7jtWJuJUF 4AYRgF0bn/pPkySjfTwHJzDT/NZYJ0g7dOZMBUpUhxB5byxPWlyPTfXzv/9jZpDGNxX1uR 8saQWtxNlzOcVdzA5+mgUX+EPipAQC5ufowlPEDyP/8gxNOTNOpVIN5YGh1oKplr/4zg7Y p+jl/BuCeupeFXTAuqytnbztynFHHP1cW8pmGb/eBVxkk0nt4hwv+/Cy23j489NNxc44oI FQ1zgYtf3bv2i4CM+nRjo+31gfPss6k9qfenMGwij+Wo0z/CvY0YvvRPX9ed6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPBQV4jDfzgLQ; Sat, 13 Sep 2025 13:06:58 +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 58DD6w99049865; Sat, 13 Sep 2025 13:06:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DD6wxW049862; Sat, 13 Sep 2025 13:06:58 GMT (envelope-from git) Date: Sat, 13 Sep 2025 13:06:58 GMT Message-Id: <202509131306.58DD6wxW049862@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: 4403631977a0 - stable/15 - pf: fix possible pd->pcksum NULL deref List-Id: Commits to the stable branches 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/15 X-Git-Reftype: branch X-Git-Commit: 4403631977a01e9e2880327aa3d6abca94b23cbd Auto-Submitted: auto-generated The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4403631977a01e9e2880327aa3d6abca94b23cbd commit 4403631977a01e9e2880327aa3d6abca94b23cbd Author: Kristof Provost AuthorDate: 2025-09-02 13:14:49 +0000 Commit: Kristof Provost CommitDate: 2025-09-13 13:05:13 +0000 pf: fix possible pd->pcksum NULL deref Ensure that we always populate pcksum, not just for TCP/UDP/SCTP/ICMP. We may end up using it (through pf_change_ap()) if we're doing NAT, so ensure it's available even if it's sometimes just a dummy variable. Reported-by: syzbot+3e73a7cba8cb6cd46f90@syzkaller.appspotmail.com MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c23eda976a8aad6bbd6c2042fa2ba1f0bc640e19) --- sys/netpfil/pf/pf.c | 14 ++++++++ tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/nat44.py | 76 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 242152f17db0..3a047ea44c47 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8854,6 +8854,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, default: { int action; + /* + * Placeholder value, so future calls to pf_change_ap() + * don't try to update a NULL checksum pointer. + */ + pd->pcksum = &pd->sctp_dummy_sum; key.af = pd2.af; key.proto = pd2.proto; pf_addrcpy(&key.addr[pd2.sidx], pd2.src, key.af); @@ -10614,6 +10619,13 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, break; } #endif /* INET6 */ + default: + /* + * Placeholder value, so future calls to pf_change_ap() don't + * try to update a NULL checksum pointer. + */ + pd->pcksum = &pd->sctp_dummy_sum; + break; } if (pd->sport) @@ -10621,6 +10633,8 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, if (pd->dport) pd->odport = pd->ndport = *pd->dport; + MPASS(pd->pcksum != NULL); + return (0); } diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 616ffe560b3a..9f993eec61d0 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -61,6 +61,7 @@ ATF_TESTS_PYTEST+= header.py ATF_TESTS_PYTEST+= icmp.py ATF_TESTS_PYTEST+= igmp.py ATF_TESTS_PYTEST+= mld.py +ATF_TESTS_PYTEST+= nat44.py ATF_TESTS_PYTEST+= nat64.py ATF_TESTS_PYTEST+= nat66.py ATF_TESTS_PYTEST+= return.py diff --git a/tests/sys/netpfil/pf/nat44.py b/tests/sys/netpfil/pf/nat44.py new file mode 100644 index 000000000000..d69e794a62c3 --- /dev/null +++ b/tests/sys/netpfil/pf/nat44.py @@ -0,0 +1,76 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Rubicon Communications, LLC (Netgate) +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +import pytest +from atf_python.sys.net.tools import ToolsHelper +from atf_python.sys.net.vnet import VnetTestTemplate + +class TestNAT44(VnetTestTemplate): + REQUIRED_MODULES = [ "pf" ] + TOPOLOGY = { + "vnet1": {"ifaces": ["if1"]}, + "vnet2": {"ifaces": ["if1", "if2"]}, + "vnet3": {"ifaces": ["if2"]}, + "if1": {"prefixes4": [("192.0.2.2/24", "192.0.2.1/24")]}, + "if2": {"prefixes4": [("198.51.100.1/24", "198.51.100.2")]}, + } + + def vnet2_handler(self, vnet): + outifname = vnet.iface_alias_map["if2"].name + ToolsHelper.print_output("/sbin/sysctl net.inet.ip.forwarding=1") + + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.print_output("/sbin/pfctl -x loud") + ToolsHelper.pf_rules([ + "set reassemble yes", + "nat on {} inet from 192.0.2.0/24 -> ({})".format(outifname, outifname), + "pass"]) + + def vnet3_handler(self, vnet): + pass + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_nat_igmp(self): + "Verify that NAT translation of !(TCP|UDP|SCTP|ICMP) doesn't panic" + ToolsHelper.print_output("/sbin/route add default 192.0.2.1") + ToolsHelper.print_output("ping -c 3 198.51.100.2") + + # Import in the correct vnet, so at to not confuse Scapy + import scapy.all as sp + import scapy.contrib as sc + import scapy.contrib.igmp + + pkt = sp.IP(dst="198.51.100.2", ttl=64) \ + / sc.igmp.IGMP(type=0x11, mrcode=1) + sp.send(pkt) + + # This time we'll hit an existing state + pkt = sp.IP(dst="198.51.100.2", ttl=64) \ + / sc.igmp.IGMP(type=0x11, mrcode=1) + reply = sp.sr1(pkt, timeout=3) + if reply: + reply.show() From nobody Sat Sep 13 13:26:19 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPBrq6wtqz62lK6; Sat, 13 Sep 2025 13:26: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPBrq5mCNz3PFn; Sat, 13 Sep 2025 13:26:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757769979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1T5SGqhDEZksbF2175bzbgwwqz5vTkUNFs98aOhvnU=; b=Rnp0FqK4lk9VhP4ANdo9Or6Q99tIagoJymi1pLuxlHOymiCwzUEOlk6+D8y+QDmRAfLVmY Rl+KLPlYGCImLHCQb2w8728orFx0hgdhZWTo4Lf598kK3rp64PcPbSlNRGsiIeDrem4C9X BpdOSbC3bOkBitxyp7Uh1OUwdiJRs/Y/LGjPTp1UG4SWBfY8pM+QesN+baE3i/rVYreIV8 7p26O8OhYY9KxeNioX8ztPYW1+1TjNAIgs2kC6jqcst67Xon39nTweBrHnGphH3XaHSFac Lb94zfnK/hadm8lEhnZXlctsXwLDGm55zubftajKCdJqn73oKsEKbwiJrPLbrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757769979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1T5SGqhDEZksbF2175bzbgwwqz5vTkUNFs98aOhvnU=; b=oaiPHzsgr/TKLLi/22J3CGQFegLNK00N2AwZYz1TQKOUlVkYMDEaH8tG5vsxJgV+1xZTve 7wOA5zhNd1hWEN3p4kWsw7N9xDyIrHZDAin+ijqJS+hv+TH+IPWuxZ/BUipo5fMCVTPo0P fJ6TEy/0EUgCytFJaPWSN1o18xaTc5hAvKD6R3FZnCRnQSexjceiG1499g4eTF7f1euq8E 6cqLtG4gZwsUOKFPtTF+iTFvPBre70glj95bcRHuuSXwTxPfVIpiFhTlFjnaBuC4xBZFCI 26es/x5EFfHOwM9IiQ7w1I5jyPvN0sAdYWYEN5TZjI86X+bUqi2xknKLFNb9eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757769979; a=rsa-sha256; cv=none; b=aWS7OeZqLXlWvDOsoCxBs2ejkbCQ1+1HqBRZnw1XF5bnWZwmbXBvQ6X/0YihszSEwyOtu/ qGSFkwEwlOb4oe2sMKehpMgJkEbexohoIxWbRgi0d25JJmR7EGRCLKJ2nbMTD7NotbMetb uFGK2mhZpxeuTm6G1cqNq9iUWNGshlHJuIxPmQ+4KRpG9jstdPBCk97W9TWAD9reppKekr VVOduiO+v9dgk1ErY5GzmtzG3Mr+0Lm0EgVO9jBJQaGaYXWRGjtXqfc/U17/Z878b83x80 Dj7IkI0FbUXPSkADOmrVTsgP5OKapdGNbl5VsnWB0g+MK+om8jU9MNZy6c5q4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPBrq4sJNzhXm; Sat, 13 Sep 2025 13:26: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 58DDQJq5086529; Sat, 13 Sep 2025 13:26:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DDQJlC086526; Sat, 13 Sep 2025 13:26:19 GMT (envelope-from git) Date: Sat, 13 Sep 2025 13:26:19 GMT Message-Id: <202509131326.58DDQJlC086526@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ronald Klop Subject: git: 02f70f6633fd - stable/14 - 590493c1: if_epair(4): use ether_gen_addr(9) for stable MAC address List-Id: Commits to the stable branches 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: ronald X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 02f70f6633fd4a96a0dad69f97a855867caea491 Auto-Submitted: auto-generated The branch stable/14 has been updated by ronald: URL: https://cgit.FreeBSD.org/src/commit/?id=02f70f6633fd4a96a0dad69f97a855867caea491 commit 02f70f6633fd4a96a0dad69f97a855867caea491 Author: Ronald Klop AuthorDate: 2025-07-03 16:33:03 +0000 Commit: Ronald Klop CommitDate: 2025-09-13 13:24:16 +0000 590493c1: if_epair(4): use ether_gen_addr(9) for stable MAC address Before this change epair interfaces get a random MAC. This does not help dhcp/dyndns when an epair gets destroyed/recreated after restart of a jail. With this change: $ sysctl net.link.epair.ether_gen_addr=0 $ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy ether 02:cb:78:56:e4:0a ether 02:cb:78:56:e4:0b $ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy ether 02:8b:9b:6a:8f:0a ether 02:8b:9b:6a:8f:0b $ sysctl net.link.epair.ether_gen_addr=1 $ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy ether 58:9c:fc:10:2b:b4 ether 58:9c:fc:00:39:10 $ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy ether 58:9c:fc:10:2b:b4 ether 58:9c:fc:00:39:10 A follow up commit will change the default to 1 in main. Approved by: bz,ivy,kp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D51157 78537728: Document tunable net.link.epair.ether_gen_addr Approved by: hrs Fixes: 590493c1419092e98f7ad1dcadb886973502341e ("if_epair(4): use ether_gen_addr(9) for stable MAC address") Differential Revision: https://reviews.freebsd.org/D51861 (cherry picked from commit 590493c1419092e98f7ad1dcadb886973502341e) (cherry picked from commit 78537728efc5387558c97ba2730ce746d6259013) --- share/man/man4/epair.4 | 22 +++++++++++++++++----- sys/net/if_epair.c | 35 +++++++++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index 4bcb54c936cb..342b15b5612a 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2015 +.Dd August 12, 2025 .Dt EPAIR 4 .Os .Sh NAME @@ -79,12 +79,24 @@ and Like any other Ethernet interface, an .Nm needs to have a network address. -Each +If the tunable +.Va net.link.epair.ether_gen_addr Ns +=0, each .Nm -will be assigned a locally administered address by default, +will be assigned a random locally administered address, that is only guaranteed to be unique within one network stack. -To change the default addresses one may use the SIOCSIFADDR ioctl(2) or -ifconfig(8) utility. +The tunable +.Va net.link.epair.ether_gen_addr Ns +=1 will generate a stable MAC address with +.Fx +OUI using +.Xr ether_gen_addr 9 . +This tunable defaults to 1 in +.Fx 15.0 and might be removed in +.Fx 16.0 . +To change the default addresses one may use the SIOCSIFADDR +.Xr ioctl 2 or +.Xr ifconfig 8 utility. .Pp The basic intent is to provide connectivity between two virtual network stack instances. diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 988930998dad..e7327ec71a42 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -58,6 +58,7 @@ #include #include #include +#include #include #include @@ -96,6 +97,15 @@ static unsigned int next_index = 0; #define EPAIR_LOCK() mtx_lock(&epair_n_index_mtx) #define EPAIR_UNLOCK() mtx_unlock(&epair_n_index_mtx) +SYSCTL_DECL(_net_link); +static SYSCTL_NODE(_net_link, OID_AUTO, epair, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "Pair of virtual cross-over connected Ethernet-like interfaces"); + +static bool use_ether_gen_addr = false; +SYSCTL_BOOL(_net_link_epair, OID_AUTO, ether_gen_addr, CTLFLAG_RWTUN, + &use_ether_gen_addr, false, + "Generate MAC with FreeBSD OUI using ether_gen_addr(9)"); + struct epair_softc; struct epair_queue { struct mtx mtx; @@ -494,6 +504,17 @@ epair_clone_match(struct if_clone *ifc, const char *name) return (1); } +static void +epair_generate_mac_byname(struct epair_softc *sc, uint8_t eaddr[]) +{ + struct ether_addr gen_eaddr; + int i; + + ether_gen_addr_byname(if_name(sc->ifp), &gen_eaddr); + for (i = 0; i < ETHER_ADDR_LEN; i++) + eaddr[i] = gen_eaddr.octet[i]; +} + static void epair_clone_add(struct if_clone *ifc, struct epair_softc *scb) { @@ -501,9 +522,12 @@ epair_clone_add(struct if_clone *ifc, struct epair_softc *scb) uint8_t eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */ ifp = scb->ifp; - /* Copy epairNa etheraddr and change the last byte. */ - memcpy(eaddr, scb->oifp->if_hw_addr, ETHER_ADDR_LEN); - eaddr[5] = 0x0b; + if (!use_ether_gen_addr) { + /* Copy epairNa etheraddr and change the last byte. */ + memcpy(eaddr, scb->oifp->if_hw_addr, ETHER_ADDR_LEN); + eaddr[5] = 0x0b; + } else + epair_generate_mac_byname(scb, eaddr); ether_ifattach(ifp, eaddr); if_clone_addif(ifc, ifp); @@ -718,7 +742,10 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, /* Finish initialization of interface a. */ ifp = sca->ifp; epair_setup_ifp(sca, name, unit); - epair_generate_mac(sca, eaddr); + if (!use_ether_gen_addr) + epair_generate_mac(sca, eaddr); + else + epair_generate_mac_byname(sca, eaddr); ether_ifattach(ifp, eaddr); From nobody Sat Sep 13 15:35:49 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPFkF46Qcz66dD0; Sat, 13 Sep 2025 15:35: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPFkF3cFTz3fnc; Sat, 13 Sep 2025 15:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757777749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUyKBQrNGToMX/wAO313XxLouAjusjc07zN3hgi54wM=; b=YQ1xjhgQWoiRKRm/jIii9GAlnPJudfXhHE2Da9whsBOCKIygoW1gpStqtIqCmk/ID4pyj1 iXQ4g1fAa55diebVvuGxXuYGTUVd521VKr++U1c4abtVyXluUyGqa6U2ukAWKQj8dX1e84 JqthlJYWATsa+U+/ljSbYD238vE5ZtGXVnmlD5A+utm1Okmo9h/bQxX6C5pXbdt3pqw4Ha 6dYH/GgPUNFtNrncUXt2qEXccHh1IRoz4fEQtYzhIBKh5+Li7cORgjmxj/3D1sdXoxcbVR cDr11SHkgNHDDpCziaRtCLSeWQEBvJomrZtYhA5DA/Q/Rt4DVq4fxYB9Li65oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757777749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUyKBQrNGToMX/wAO313XxLouAjusjc07zN3hgi54wM=; b=XSw07vDdFNZFz/4ngFnyr963tM/sBFGF82vvLSWiqTNnD2IFWDl3KnZoJRaiT+jkRFI/J7 8qnPJudmtyMDGHlWHhwnevDr3zM4JiSySEeQfROS4cpWLyXqsA1J2DDgiN6XeUsCvAEWvm n51u2ov7HUOp28oW2yENLVF9u4ERFgRinMVACOD4PmxMlisafbnKMCemub/yaPuQDKIP0T FHKo9yBLC1vZafu3A0RLV5xv0O/v69MePTUWDaTV6O60Lusm2JEVsPJmafopDlYmbzvvqL P8OiBdYsB9jhMRrJkTIhKJczIi/JUdAJLC9B0U3FZKE8mIavMVUhSvL0HkeZCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757777749; a=rsa-sha256; cv=none; b=nvRuQWtWyr+4jizSgfnKRpRbh0DCO6ruanjzpezy+bY3D+7WyhshIcNxCCeDhM5ni8VSZk YRMXFwvE1n0lUZO3gwUWs7dpxb0ath91xM9iatFSGu1iFujgg8NbDIjoVX0F1yhYS/B5wT UnVWWWD1J96dLK814hcGUEU487mB4NKfRwsuSa+F3TAaIcfDf4CCaW+ZnvcX6Sv3dLrOTz J7+LgRkaU+YKJ/si28Lg2gYJFFQHa55fQtk2Md48ErMED1koAlpVcMhBPu38cE/Bh3AQjj gxwW8GT5evhFJYbMdXGDF6U5KkygqZILyPxkAQXUrTDX+mKkPr9TRtA2iDMzLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPFkF39q2zlB9; Sat, 13 Sep 2025 15:35: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 58DFZnS4030286; Sat, 13 Sep 2025 15:35:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DFZnuN030283; Sat, 13 Sep 2025 15:35:49 GMT (envelope-from git) Date: Sat, 13 Sep 2025 15:35:49 GMT Message-Id: <202509131535.58DFZnuN030283@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: 89e9d3ca62f8 - stable/15 - release.sh: Pass *PKGBASE* through List-Id: Commits to the stable branches 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/15 X-Git-Reftype: branch X-Git-Commit: 89e9d3ca62f852f4354aa418df7ff98308107292 Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=89e9d3ca62f852f4354aa418df7ff98308107292 commit 89e9d3ca62f852f4354aa418df7ff98308107292 Author: Colin Percival AuthorDate: 2025-09-13 15:32:39 +0000 Commit: Colin Percival CommitDate: 2025-09-13 15:35:40 +0000 release.sh: Pass *PKGBASE* through It helps to get the variable name right... Fixes: d4282cfa97d6 ("release.sh: Pass PKGCONF through to make release") MFC after: 1 minute Sponsored by: https://www.patreon.com/c/cperciva (cherry picked from commit 5f14800ca589d5db923a6dd6e2da9ee0b151209e) --- release/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/release.sh b/release/release.sh index 38a365182c73..eed02f0f36d3 100755 --- a/release/release.sh +++ b/release/release.sh @@ -199,7 +199,7 @@ env_check() { KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \ WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ - XZ_THREADS=${XZ_THREADS} PKGCONF=${PKGCONF}" + XZ_THREADS=${XZ_THREADS} PKGBASE=${PKGBASE}" return 0 } # env_check() From nobody Sat Sep 13 17:43:04 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPJY41mzBz67HC9; Sat, 13 Sep 2025 17:43: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPJY41C6Fz45gZ; Sat, 13 Sep 2025 17:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757785384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqSge8wV3bc3Q/ZwbIxeJCqklWmy1SeJhux+csCBjzg=; b=Q0kcZV1E53O5/Npmv8i6QUCaZVvKWArMpV9xaEvWkq/UnIu3iubmkTGTZrY+8QAG+6Z9ls i5POkRHVfPBpbptIVHcMtz5YdfFAXn4xIRLYA1NZ2lVUOAtTij6aHGLuxhZxuNTjahD5m5 WXvTY/2GNKyHaAyFfDUDDtYT2sVt6i+ly7y3T9n4shDABU2Uw1iz0AVPtrzUJ6Pl4/oYyw Wjl8T/nIHF6FU6X84s4ShJKda8GmXx/isALXOHvyxf6IKJYCTNcxCgV39Wp8vMbt/LVNNJ /zFXBndZRnp2/vfzT1OvukwA4i49q/Kw4gFa60SWWF00x0G+NNoqRhW0WwoSvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757785384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqSge8wV3bc3Q/ZwbIxeJCqklWmy1SeJhux+csCBjzg=; b=WcBfnIMI1hLeZeIcuePzMC3Ke7M2UOItH2ax5HEUF0lhHPcGBkFeRNPgIuFWroqyTn6zMT ce/dC3gezF92MC61PSW2EGE8eCmT9bGMWwnPXANC0pMzqPHEGzEu0CsK3GGi1PP/1/mbgn mtMVpSd9f0B4kfVmT6WVsNDWiS5eN+2gGM1mvtJ6rTnnG3rSOtWtb4LkZcbjUQZ/QH0Jyu Z0eqZZT2qYWMQvIgkwwFc6rH3RjG/SQ/Dcia0Dtpls+GREDFi6L0KPgL0FnICGtgZLIbTA +AO4Kfd5qemHIAVhrRgFMnMH1lvOxe6YX/LSkfb9h2gVkpVfarv3nv/Vls/zdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757785384; a=rsa-sha256; cv=none; b=fuOB9tCqVG4itQ6aI47sLuuLdDBGycVmXKeykzEon+8FoCInc6gqhLcIv8kmcA+XnUWD7C dZ8xweBLWNDjpiF4siOus3t/0HjLOd11ECD1rgdvAhujSqSocau6HBXO8aUzr51tJ20PaB qHTRt6EVyiCdT/DZPxfhI9YEzvx6DcSfo+OYQ0ci7PJmiDN9O9uSftu7gUqm5Zzly8egnT QaCtkovo4SIPUneQEe9+k3urjFFsUzPJ4UlIo3vihhygGbJAS240CFCnSfPK4kGgDMDgbX GWO5tv89uIgm7aLYi37zYHEe1i6/Kqid0NS2OzgX6+0QfrswbGFbo2Qf3SBtbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPJY40YNczq6D; Sat, 13 Sep 2025 17:43: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 58DHh4Dp075680; Sat, 13 Sep 2025 17:43:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DHh4S7075677; Sat, 13 Sep 2025 17:43:04 GMT (envelope-from git) Date: Sat, 13 Sep 2025 17:43:04 GMT Message-Id: <202509131743.58DHh4S7075677@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: e9e9c912c5c2 - stable/14 - flua: add posix.unistd.execp List-Id: Commits to the stable branches 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: e9e9c912c5c28d15fe485e5d8850da231b1bb371 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e9e9c912c5c28d15fe485e5d8850da231b1bb371 commit e9e9c912c5c28d15fe485e5d8850da231b1bb371 Author: Isaac Freund AuthorDate: 2025-05-05 09:57:13 +0000 Commit: Ed Maste CommitDate: 2025-09-13 17:42:38 +0000 flua: add posix.unistd.execp This matches the interface of lposix, although I do wonder why they went with execp rather than execvp for the function name here. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50177 (cherry picked from commit 7080a0c170daf8e4b3f331ec33003b2f8893dc23) --- libexec/flua/modules/lposix.c | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 4ccfcdaa46e7..75cdd345aeaa 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -207,6 +207,62 @@ err: return (3); } +static int +lua_execp(lua_State *L) +{ + int argc, error; + const char *file; + const char **argv; + + enforce_max_args(L, 2); + + file = luaL_checkstring(L, 1); + luaL_checktype(L, 2, LUA_TTABLE); + + lua_len(L, 2); + argc = lua_tointeger(L, -1); + + /* + * Use lua_newuserdatauv() to allocate a scratch buffer that is tracked + * and freed by lua's GC. This avoid any chance of a leak if a lua error + * is raised later in this function (e.g. by luaL_argerror()). + * The (argc + 2) size gives enough space in the buffer for argv[0] and + * the terminating NULL. + */ + argv = lua_newuserdatauv(L, (argc + 2) * sizeof(char *), 0); + + /* + * Sequential tables in lua start at index 1 by convention. + * If there happens to be a string at index 0, use that to + * override the default argv[0]. This matches the lposix API. + */ + lua_pushinteger(L, 0); + lua_gettable(L, 2); + argv[0] = lua_tostring(L, -1); + if (argv[0] == NULL) { + argv[0] = file; + } + + for (int i = 1; i <= argc; i++) { + lua_pushinteger(L, i); + lua_gettable(L, 2); + argv[i] = lua_tostring(L, -1); + if (argv[i] == NULL) { + luaL_argerror(L, 2, + "argv table must contain only strings"); + } + } + argv[argc + 1] = NULL; + + execvp(file, (char **)argv); + error = errno; + + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + static int lua_fnmatch(lua_State *L) { @@ -522,6 +578,7 @@ static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(chown), REG_DEF(close, lua_pclose), REG_SIMPLE(dup2), + REG_SIMPLE(execp), REG_SIMPLE(fork), REG_SIMPLE(getpid), REG_SIMPLE(pipe), From nobody Sat Sep 13 23:44:54 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPSZb0fRnz67jHd; Sat, 13 Sep 2025 23:44:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPSZZ70d8z3sbK; Sat, 13 Sep 2025 23:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BywoKvC4TKtuexK1Ujq+L8u+EoO3NkByE7cCq8/14G0=; b=mVUQBM4Jpzaj5+VBaSIP9NVNr97AXq2OFawCAsYv91uZJTsTZz5Cqpa/xGVphDBldT7EC5 RUQo9hmLWirQZT2FfWojlJMlndJ+RF0SGsiVx+NO2xaFBAaPUBShrmKUK0aD9tFBQu2EBp Z9gJvvD071dHGHmdOz+OcHTf3eNKG0g+AsCvMYL5BUZfwNKUVCDuMVcmBcEIEEIkrADJ2T vXYHT+r0Mrp9sifpArbST1vFOly61RU4UW/mNXyjEObDKn/D7hRJUkClJi2KdEF5ZxLrqA FNjxmnpN2rGy4sEXToRjVvPMmTEQpq/VQYNlLM3/MsrSRd+PLgw51Rqsu9DHqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BywoKvC4TKtuexK1Ujq+L8u+EoO3NkByE7cCq8/14G0=; b=yDSDhUP6KafRCgUAxaWHq57B+sUSbjnSOIsaNs+Cgj6CsrS6snSWyDgP+IqMY6PYzqVl8c cGy2Kk4WDIWT/Aw9UQbnfy3jzexMk2/zGLmgEYUsabPp2/DjWqb9GVy3GzLZHtVzgG/sCS lDl96sL30rKx3xhvmTNuer5wZjMk8nQgH9VaALwP5xA37CGSb77lDz6CJyo9tSC287gbbK 2NgRGGxfQl/FsqR0a9Q1y9VxTqoVpldoCE7/KAigw+go3D8Em8u0+pBKG4rkivLOlgGJTR JsWcJ+ypPCVNfPDi4cy7oEFhTrzGao8wz6SSA55iDsmAYp80IBOd8+4o+GdWzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757807095; a=rsa-sha256; cv=none; b=TysIo5ZUtXws8lhKUKdvXx+M3pP27BzZYQVU6tOJzMuoDDq2Vp+Q2uhovianaaGQvtD+2D k+8KEvTgWY14h8/A7SfCJrdHm4VWSXgxXXYxKt8sWMvgdM4DOvkCpaNMEgqCHGoWPX4rLN oYCNfKujfbk+DZiTKQ0CmZWlord7OZ2AkW4wKqtBiUwlfYOzheDUSP28CijS4VInVBlViy Rm6P/Vop2IsId03UZbYmxtLOY8hbCU9d3jVMwqooccIDBo502bbMyZIdFKPNG9FOvCtxPD UyXirDEYUTg+7BTLXPkjETZnFpa5TZk0oPfj+Dx3gIrJB6i2eK/dhDuVDE/VdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPSZZ6ZQZz114K; Sat, 13 Sep 2025 23:44:54 +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 58DNisiB054534; Sat, 13 Sep 2025 23:44:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DNisid054531; Sat, 13 Sep 2025 23:44:54 GMT (envelope-from git) Date: Sat, 13 Sep 2025 23:44:54 GMT Message-Id: <202509132344.58DNisid054531@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 4ecbb3f19b44 - stable/15 - MFC jaildesc: fix a misplaced error check and a spurious finit call List-Id: Commits to the stable branches 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4ecbb3f19b4461b06e408bec4d077774672f3d7b Auto-Submitted: auto-generated The branch stable/15 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=4ecbb3f19b4461b06e408bec4d077774672f3d7b commit 4ecbb3f19b4461b06e408bec4d077774672f3d7b Author: Jamie Gritton AuthorDate: 2025-09-05 04:48:49 +0000 Commit: Jamie Gritton CommitDate: 2025-09-13 22:37:07 +0000 MFC jaildesc: fix a misplaced error check and a spurious finit call Reported by: kib (cherry picked from commit 8ec7a830f10bc0f3b421dfaf6967a1bc996d34fd) --- sys/kern/kern_jaildesc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index e00ec9a4bfff..fec9b5719b2e 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -133,12 +133,12 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) mode = 0; jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); error = falloc_caps(td, &fp, fdp, 0, NULL); - finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 - ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); if (error != 0) { free(jd, M_JAILDESC); return (error); } + finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 + ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); JAILDESC_LOCK_INIT(jd); jd->jd_uid = fp->f_cred->cr_uid; jd->jd_gid = fp->f_cred->cr_gid; @@ -234,7 +234,6 @@ jaildesc_close(struct file *fp, struct thread *td) JAILDESC_LOCK_DESTROY(jd); free(jd, M_JAILDESC); } - finit(fp, 0, DTYPE_NONE, NULL, &badfileops); return (0); } From nobody Sat Sep 13 23:44:55 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPSZc1YF1z67hxx; Sat, 13 Sep 2025 23:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPSZc0hpGz3sRx; Sat, 13 Sep 2025 23:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QgjPskdVhc2ngJ3kgH18aMFDzZWDPrWbAODg/C3hFJ8=; b=uBCAqorMLFRADpG4bXrRkrQX0SV3OdR9wQ1pqEZ2Xj0zngkyi8YPENszONTox6oyHl/zTr cJaRfo+KaUlnZg67bOxjAlfla4FkFCgUUKefe/u+NMD3YSrlNE5xlgoLHeBn48AxshWRva 9Cw2Nz3a8z1Qvs/UUUDtkwkiqFUXy4QdHGAsCqjFjUEeI9SMlNmU7/dPK1UUHJtKhGhzql OPPKbvGh3LZugT7GjPxBnr7hb/9kjGXENayE8ZQYguiQ4QgsJYGtl7AJ7lljS1Q54o6QmA Y2RttoNxDhgrGdPKM14ECy18xV/U0td+1tdnUJiwWYAnw3bLXr94g2omkppKFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QgjPskdVhc2ngJ3kgH18aMFDzZWDPrWbAODg/C3hFJ8=; b=sYWn9iHAFeQW1L7hHKrbbCN2OfyM5qgByK40HOkyUv+lSbCJOlukADBWrvmxTlKTg9E6kM R4/M62IiGjtuDpgPAbt48kU9i1oJvt5b6FMbwLEe5JY0rlGeYw243k9LMI1+JcGVs2bOTY g5NCcOJhSi5XqI6818Qhn92W37NB41GJ13BVBMY6KqsEjUUK3xyhVF/qpI8cpIhhf1dJHd mxOQd4KugpGRR+36UmOttegPlIRg/g/SlpLE0Y4aALou9spI4i1LGKCAdN+OhKp59Qx40K yIpqiYdMErt5m1md4w7sr6DuB6RQffyp84B3Byy90bPYzuxc+MuKxmB5T+lQvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757807096; a=rsa-sha256; cv=none; b=nFOF1J8pFOPzY4Z1PFxSV0S/5f3+F1fkUzNycTXJvZe+MTcwqbj6oUA4gKYIhVnzCcflQn qvhQo42CpEPbpVml3sNTZ/pAJXF41Adt/lwDG2FLZQTC4+lIY9XZJxqXSZkKpxdCpUyfEF b5vT2pLqDQ0XMK1x5Ds4nv9B1ZcRv1hO+CjTtcJpojwsqNg+FYG/6cnbtvOIRDLYVpdPtJ RdClSixYbear1jpcRrJ6FMuSH+ruerFbEZVQlyzqnsYiQ9JadN0Lx83h5O7xliszEeIc9Y +1G/qYiZOvgHXH9Qhwo1SqtrzSi179BsHLwtVLjFqq1NbFauhpy/mrX5n1te/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPSZc0G8pz10Zh; Sat, 13 Sep 2025 23:44: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 58DNitxP054571; Sat, 13 Sep 2025 23:44:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DNitQ8054568; Sat, 13 Sep 2025 23:44:55 GMT (envelope-from git) Date: Sat, 13 Sep 2025 23:44:55 GMT Message-Id: <202509132344.58DNitQ8054568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 595a705062de - stable/15 - MFC jaildesc: replace EBADF with EINVAL List-Id: Commits to the stable branches 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 595a705062dee0fd6ae804efe685defdeaba7cbb Auto-Submitted: auto-generated The branch stable/15 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=595a705062dee0fd6ae804efe685defdeaba7cbb commit 595a705062dee0fd6ae804efe685defdeaba7cbb Author: Jamie Gritton AuthorDate: 2025-09-09 18:13:11 +0000 Commit: Jamie Gritton CommitDate: 2025-09-13 22:37:38 +0000 MFC jaildesc: replace EBADF with EINVAL Following fd9e09cb, EBADF is not the suitable error code for a non- jail descriptor passed to jail_set, jail_get, jail_attach_fd, and jail_remove_fd. Reported by: kib (cherry picked from commit 16f600dc30b7bb82429660e540da802a1e3f7449) --- lib/libsys/jail.2 | 26 ++++++-------------------- sys/kern/kern_jaildesc.c | 2 +- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/lib/libsys/jail.2 b/lib/libsys/jail.2 index a0f47cc61cb3..a2640071d1f0 100644 --- a/lib/libsys/jail.2 +++ b/lib/libsys/jail.2 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 4, 2025 +.Dd September 9, 2025 .Dt JAIL 2 .Os .Sh NAME @@ -402,15 +402,6 @@ The system call will fail if: .Bl -tag -width Er -.It Bq Er EBADF -The -.Va desc -parameter does not refer to a valid jail descriptor, -and either the -.Dv JAIL_USE_DESC -or -.Dv JAIL_AT_DESC -flag was set. .It Bq Er EACCES Write permission is denied on the jail descriptor in the .Va desc @@ -514,15 +505,6 @@ The system call will fail if: .Bl -tag -width Er -.It Bq Er EBADF -The -.Va desc -parameter does not refer to a valid jail descriptor, -and either the -.Dv JAIL_USE_DESC -or -.Dv JAIL_AT_DESC -flag was set. .It Bq Er EACCES Read permission is denied on the jail descriptor in the .Va desc @@ -564,6 +546,10 @@ parameter has been removed .It Bq Er EINVAL A supplied parameter is the wrong size. .It Bq Er EINVAL +A supplied parameter is out of range. +.It Bq Er EINVAL +A supplied string parameter is not null-terminated. +.It Bq Er EINVAL A supplied parameter name does not match any known parameters. .It Bq Er EMFILE A jail descriptor could not be created for the @@ -607,7 +593,7 @@ and system calls will fail if: .Bl -tag -width Er -.It Bq Er EBADF +.It Bq Er EINVAL The .Fa fd argument is not a valid jail descriptor. diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index fec9b5719b2e..b4ffad4c88e8 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -87,7 +87,7 @@ jaildesc_find(struct thread *td, int fd, struct jaildesc **jdp, if (error != 0) return (error); if (fp->f_type != DTYPE_JAILDESC) { - error = EBADF; + error = EINVAL; goto out; } jd = fp->f_data; From nobody Sat Sep 13 23:44:57 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPSZd6Kk9z67jF8; Sat, 13 Sep 2025 23:44:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPSZd4mJgz3stX; Sat, 13 Sep 2025 23:44:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uxIMRc95EaYFOLdX4Fi8OTynj6nVOi+SgMwLeap0ICU=; b=bCbCGo1m18NzP5p2Adwt8zN+MkqF+3D69xuvSgprTJzFPJU0PgG36mDFtIoppqg68J1HvG Ybz2f7/bAtTiY2JVNJ/Fg8O/b69Q82ECHdEJ3X7DCl2x9BcJ0QA71otnnW1Gb7Y+FH9d6V 1xXeoxi3cClO7QJ0QO0hViFwuUOpmPfuC0Oded+kHwbWKc5t3lzCVnSevP1wPLZ8VD7Rpt bC6gih4fuN5+7myR1d7tsv0xQTYQQE/DUMLykHACLsZCzqhj68E5E8oS27ktweWcyZbg19 USJ7cnCTjldViPU9CxpC09+v4s/u6x//b377siIlAAT/FND1TtsMQytpnTx+MQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uxIMRc95EaYFOLdX4Fi8OTynj6nVOi+SgMwLeap0ICU=; b=QEarrA+qTrH0qlorZ7RimNEcZnNQ7IAsfbZPDYp6pFIAlLfJADSm50IyobJjy3R5nD3n4i A1mOsvHNjtu97WC67BHjSD7Y6R+Jm51+y5MWjUgW/NEIXC8RsvBnXzmTycErL9lVdPISQf 6X8LvO8LlUhMvkAyAWBTQkAfJRolzS/IizfZ2gK0KvXNUtn91zzpo2Pf1ngcdnGodDT6jo xjZZA5XPkJ0elPK+vDwx+klFdeCgyuC5jl6CPksHksehU5vuRv344/pXYiTakt1u4X6N2Y 4AsqsVXPTmS5E9QkFvBTpwndbyzFUCfO3lqAUdVwVtgAwXQTCzyHfZdp+oTomw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757807097; a=rsa-sha256; cv=none; b=mAXr7ZOL3UUZSEmD+hEhDgcJ7ZCgUHqHHFefL85f8z3NZCWj5PP75I6+TQ0g7D/kJzI3GV Ta6lBnvuiiEkZ/CjIQyjKdGpoRmjtTRi3XezynwngL0YYjbygtfrgh82aQz9uyUKOzlf2L xKkVjiyIOF9BVFdFYuX0upFYpfCE+G/q+wMyn7q4HjflwOS1p4Y93DhAAuKjA5KKaQNlPv 7QSAgfkhBHt/RlLokGTU5vWmeoCDcmiVuKI5h8DFOt97UgfDONN6M7AEWWfcfaOo1FGHlL OVItmQOEEjf9QmQ6aXvd1qbveG6wq0gcOgdNZsR1v1JRSPT4C2LVcJ8McBC8ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPSZd1FwXz10qt; Sat, 13 Sep 2025 23:44:57 +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 58DNiv7n054608; Sat, 13 Sep 2025 23:44:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DNivm1054605; Sat, 13 Sep 2025 23:44:57 GMT (envelope-from git) Date: Sat, 13 Sep 2025 23:44:57 GMT Message-Id: <202509132344.58DNivm1054605@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 0c23ee96c6e5 - stable/15 - MFC jaildesc: fix typo and style(9) violations. List-Id: Commits to the stable branches 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0c23ee96c6e5f591182ad6bf314f59e7701c8f0a Auto-Submitted: auto-generated The branch stable/15 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=0c23ee96c6e5f591182ad6bf314f59e7701c8f0a commit 0c23ee96c6e5f591182ad6bf314f59e7701c8f0a Author: Jamie Gritton AuthorDate: 2025-09-09 18:46:45 +0000 Commit: Jamie Gritton CommitDate: 2025-09-13 22:37:56 +0000 MFC jaildesc: fix typo and style(9) violations. Reported by: kib MFC after: 3 days (cherry picked from commit d8d5324ef5335dd9404db7263be2271610245e10) --- lib/libjail/jail.c | 16 ++++++++-------- sys/kern/kern_jail.c | 36 ++++++++++++++++++------------------ sys/kern/kern_jaildesc.c | 26 +++++++++++++------------- 3 files changed, 39 insertions(+), 39 deletions(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index 931391055919..f761bc6993e5 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -95,8 +95,8 @@ jail_setv(int flags, ...) goto error; if (jailparam_import(jp + njp, value) < 0) goto error; - if (!strcmp(name, "desc") - && (flags & (JAIL_GET_DESC | JAIL_OWN_DESC))) { + if (!strcmp(name, "desc") && + (flags & (JAIL_GET_DESC | JAIL_OWN_DESC))) { jp_desc = jp + njp; desc_value = value; } @@ -145,8 +145,8 @@ jail_getv(int flags, ...) va_end(tap); goto error; } - if (!strcmp(jp[njp].jp_name, "desc") - && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) { + if (!strcmp(jp[njp].jp_name, "desc") && + (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) { jp_desc = jp + njp; desc_value = value; } else if (!strcmp(jp[njp].jp_name, "lastjid")) { @@ -181,8 +181,8 @@ jail_getv(int flags, ...) } if (jailparam_import(jp_key, key_value) < 0) goto error; - if (jp_desc != NULL && jp_desc != jp_key - && jailparam_import(jp_desc, desc_value) < 0) + if (jp_desc != NULL && jp_desc != jp_key && + jailparam_import(jp_desc, desc_value) < 0) goto error; /* Get the jail and export the parameters. */ jid = jailparam_get(jp, njp, flags); @@ -604,8 +604,8 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) jp_desc = jp_lastjid = jp_jid = jp_name = NULL; arrays = 0; for (ai = j = 0; j < njp; j++) { - if (!strcmp(jp[j].jp_name, "desc") - && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) + if (!strcmp(jp[j].jp_name, "desc") && + (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) jp_desc = jp + j; else if (!strcmp(jp[j].jp_name, "lastjid")) jp_lastjid = jp + j; diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 5a1fbe23ddeb..51a8b5cc0465 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -1033,13 +1033,13 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) char numbuf[12]; mypr = td->td_ucred->cr_prison; - if (((flags & (JAIL_CREATE | JAIL_AT_DESC)) == JAIL_CREATE) - && mypr->pr_childmax == 0) + if (((flags & (JAIL_CREATE | JAIL_AT_DESC)) == JAIL_CREATE) && + mypr->pr_childmax == 0) return (EPERM); if (flags & ~JAIL_SET_MASK) return (EINVAL); - if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) - == (JAIL_USE_DESC | JAIL_AT_DESC)) + if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) == + (JAIL_USE_DESC | JAIL_AT_DESC)) return (EINVAL); prison_hold(mypr); @@ -1098,9 +1098,9 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) error = jaildesc_find(td, jfd_in, &desc_in, &mypr, NULL); if (error != 0) { - vfs_opterror(opts, error == ENOENT - ? "descriptor to dead jail" - : "not a jail descriptor"); + vfs_opterror(opts, error == ENOENT ? + "descriptor to dead jail" : + "not a jail descriptor"); goto done_errmsg; } /* @@ -1518,9 +1518,9 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) /* Get the jail from its descriptor. */ error = jaildesc_find(td, jfd_in, &desc_in, &pr, &jdcred); if (error) { - vfs_opterror(opts, error == ENOENT - ? "descriptor to dead jail" - : "not a jail descriptor"); + vfs_opterror(opts, error == ENOENT ? + "descriptor to dead jail" : + "not a jail descriptor"); goto done_deref; } drflags |= PD_DEREF; @@ -2512,8 +2512,8 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) if (flags & ~JAIL_GET_MASK) return (EINVAL); - if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) - == (JAIL_USE_DESC | JAIL_AT_DESC)) + if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) == + (JAIL_USE_DESC | JAIL_AT_DESC)) return (EINVAL); /* Get the parameter list. */ @@ -2549,9 +2549,9 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) /* Get the jail from its descriptor. */ error = jaildesc_find(td, jfd_in, &desc_in, &pr, NULL); if (error) { - vfs_opterror(opts, error == ENOENT - ? "descriptor to dead jail" - : "not a jail descriptor"); + vfs_opterror(opts, error == ENOENT ? + "descriptor to dead jail" : + "not a jail descriptor"); goto done; } drflags |= PD_DEREF; @@ -2576,9 +2576,9 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) error = jaildesc_find(td, jfd_in, &desc_in, &mypr, NULL); if (error != 0) { - vfs_opterror(opts, error == ENOENT - ? "descriptor to dead jail" - : "not a jail descriptor"); + vfs_opterror(opts, error == ENOENT ? + "descriptor to dead jail" : + "not a jail descriptor"); goto done; } error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index b4ffad4c88e8..72e2845aaf42 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -137,14 +137,14 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) free(jd, M_JAILDESC); return (error); } - finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 - ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); + finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 ? + FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); JAILDESC_LOCK_INIT(jd); jd->jd_uid = fp->f_cred->cr_uid; jd->jd_gid = fp->f_cred->cr_gid; - jd->jd_mode = S_IFREG | S_IRUSR | S_IRGRP | S_IROTH | mode - | (priv_check(td, PRIV_JAIL_SET) == 0 ? S_IWUSR | S_IXUSR : 0) - | (priv_check(td, PRIV_JAIL_ATTACH) == 0 ? S_IXUSR : 0); + jd->jd_mode = S_IFREG | S_IRUSR | S_IRGRP | S_IROTH | mode | + (priv_check(td, PRIV_JAIL_SET) == 0 ? S_IWUSR | S_IXUSR : 0) | + (priv_check(td, PRIV_JAIL_ATTACH) == 0 ? S_IXUSR : 0); *fpp = fp; return (0); } @@ -167,7 +167,7 @@ jaildesc_set_prison(struct file *fp, struct prison *pr) } /* - * Detach the all jail descriptors from a prison. + * Detach all the jail descriptors from a prison. */ void jaildesc_prison_cleanup(struct prison *pr) @@ -264,13 +264,13 @@ jaildesc_chmod(struct file *fp, mode_t mode, struct ucred *active_cred, int error; /* Reject permissions that the creator doesn't have. */ - if (((mode & (S_IWUSR | S_IWGRP | S_IWOTH)) - && priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) - || ((mode & (S_IXUSR | S_IXGRP | S_IXOTH)) - && priv_check_cred(fp->f_cred, PRIV_JAIL_ATTACH) != 0 - && priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) - || ((mode & S_ISTXT) - && priv_check_cred(fp->f_cred, PRIV_JAIL_REMOVE) != 0)) + if (((mode & (S_IWUSR | S_IWGRP | S_IWOTH)) && + priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) || + ((mode & (S_IXUSR | S_IXGRP | S_IXOTH)) && + priv_check_cred(fp->f_cred, PRIV_JAIL_ATTACH) != 0 && + priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) || + ((mode & S_ISTXT) && + priv_check_cred(fp->f_cred, PRIV_JAIL_REMOVE) != 0)) return (EPERM); if (mode & (S_ISUID | S_ISGID)) return (EINVAL); From nobody Sat Sep 13 23:44:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPSZf5nBhz67jHj; Sat, 13 Sep 2025 23:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPSZf2jTCz3swD; Sat, 13 Sep 2025 23:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gJS1z/1EGx78fuG3IPspRf/vOuJwtoF7DwM/zAMVd30=; b=MfnxpWc42UU6LyJUZKe4pcQatevyp6EFqXcDWTmLbbtYVV5sfc/JTpBZD+zDUrWR4woFDa fWQ4m/9HQIQghn1U728FWew8ZBF/iTIBvs5AwHMweydRX5mpcP97WaZYsqe/Cb0YIYGmAn 7tHfk26ElxyJmtSt3cfk8lKQi6GSKLNAl4tjwgC9mIhw+DENu90SW7IJD20zx+O54CHFsi YAoQcmuUahcTOhOAox4JeQO+JUtXf9cI3yyQc0YErpYLjqO+38lZF7jqQBHPhrjMlECQpQ 9jCAFHlR/8L0KbYcR3Yq1GiAqqSItyTItVPbKiNdcrn7F2L+QL9S1zLWVMe/Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757807098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gJS1z/1EGx78fuG3IPspRf/vOuJwtoF7DwM/zAMVd30=; b=RnCel5NccPS1PsRDisBVJfMUbmRzR+/yP5ia/CRfvAxZ95f3bsfaNE0y1HmDLG4SHwRMUa pmgBPJRyrraItiUJ7ND/2JO1/ccKldw12RAY/DYLiHrD9OwOBePUfBWOWXO2Rv7pGp1gIq CGOs1shoZ8ZBBOIjv1XUiror7LE68x8pTn4LsPujUsFyLYG6P/K3CVlFLjv71+4KGZCrds wzG8SQWFzEpdLhuVqmn+/8sgaB4xvPnAjekGVIqW3WeN0PUslHpDUFDa2CMaX6kX7HTsoN 1eW5mOShO0QLCs/Gc3hmT6OHes9yoFrjglmzYDsCNqSaXbyD+VRIEZsEU2FbvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757807098; a=rsa-sha256; cv=none; b=fj+OP6nBoXYh3mUKB7tjhISX99NCx+5JaM+QgmyiY6kL1qYmxIrhg4TwuJ9eOQ1D/ZdlWj UdjnRaAod1qMOGOzGdNx6HpMEDBOaAH8JnzdIfokj4vMNRgaAC0PHRaPOPvIZdhOIqGiEh ozg4BNeBmdwb7H3H2lrs01WBymj2hLVbkv6JOdpssIiLSHmSq3Q4gE28Vp83uHbDuDE8os oCQIT4VOYqvT3YNjNM0by93hAFUAnfwrlc7RO0XypogvmqelWPEgm5QI0zFCgPFRdnWKbS MXTR/4i6wdlTDqKsMqSEZV8o1fFwg33TasTiUgdnpqwRVZCttm8h92x4j/gyeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPSZf1wQmz10sC; Sat, 13 Sep 2025 23:44:58 +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 58DNiw14054644; Sat, 13 Sep 2025 23:44:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58DNiwsB054641; Sat, 13 Sep 2025 23:44:58 GMT (envelope-from git) Date: Sat, 13 Sep 2025 23:44:58 GMT Message-Id: <202509132344.58DNiwsB054641@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 5df0b57b74e2 - stable/15 - MFC jaildesc: remove file-mode-based access controls List-Id: Commits to the stable branches 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5df0b57b74e2d6f04eb5cbbfa2aeb07f35c2b288 Auto-Submitted: auto-generated The branch stable/15 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=5df0b57b74e2d6f04eb5cbbfa2aeb07f35c2b288 commit 5df0b57b74e2d6f04eb5cbbfa2aeb07f35c2b288 Author: Jamie Gritton AuthorDate: 2025-09-10 23:21:11 +0000 Commit: Jamie Gritton CommitDate: 2025-09-13 22:38:10 +0000 MFC jaildesc: remove file-mode-based access controls Jail descriptors were given a file-like mode, user, and group, for the purpose of controlling how the descriptor may be used. This is too far removed from the file paradigm to make sense. Remove it in favor of a better access control method to be added, such as Capsicum. Also add missing code in jaildesc_fill_kinfo. Reported by: crest at rlwinm.de, kib MFC after: 3 days (cherry picked from commit d81b337d690c971d60c731494795ee4b81fb929e) --- lib/libsys/jail.2 | 67 ------------------------------ sys/kern/kern_jail.c | 72 ++++---------------------------- sys/kern/kern_jaildesc.c | 106 +++++++++++------------------------------------ sys/sys/jaildesc.h | 8 ++-- 4 files changed, 36 insertions(+), 217 deletions(-) diff --git a/lib/libsys/jail.2 b/lib/libsys/jail.2 index a2640071d1f0..d3f871608c1d 100644 --- a/lib/libsys/jail.2 +++ b/lib/libsys/jail.2 @@ -340,31 +340,6 @@ work the same as and .Fn jail_remove , except that they operate on the jail referred to by the passed descriptor. -.Pp -Jail operations via descriptors can be done by processes that do not -normally have permission to see or affect the jail, -as long as they are allowed by the file permissions of the jail -descriptor itself. -These permissions can be changed by the descriptor owner via -.Xr fchmod 2 -and -.Xr fchown 2 . -.Fn jail_get -requires read permission, -.Fn jail_set -and -.Fn jail_remove -require write permission, -and -.Fn jail_attach -requires execute permission. -Also, use of a descriptor with the -.Dv JAIL_AT_DESC -flag requires execute permission. -An owning descriptor is identified by the -.Em sticky bit , -which may also be changed via -.Xr fchmod 2 . .Sh RETURN VALUES If successful, .Fn jail , @@ -402,22 +377,6 @@ The system call will fail if: .Bl -tag -width Er -.It Bq Er EACCES -Write permission is denied on the jail descriptor in the -.Va desc -parameter, -and the -.Dv JAIL_USE_DESC -flag was set. -.It Bq Er EACCES -Execute permission is denied on the jail descriptor in the -.Va desc -parameter, -and either the -.Dv JAIL_AT_DESC -or -.Dv JAIL_ATTACH -flag was set. .It Bq Er EPERM This process is not allowed to create a jail, either because it is not the super-user, or because it would exceed the jail's @@ -505,24 +464,6 @@ The system call will fail if: .Bl -tag -width Er -.It Bq Er EACCES -Read permission is denied on the jail descriptor in the -.Va desc -parameter, -and the -.Dv JAIL_USE_DESC -flag was set. -.It Bq Er EACCES -Execute permission is denied on the jail descriptor in the -.Va desc -parameter, -and the -.Dv JAIL_AT_DESC -flag was set. -.It Bq Er EFAULT -.Fa Iov , -or one of the addresses contained within it, -points to an address outside the allocated address space of the process. .It Bq Er ENOENT The jail referred to by a .Va jid @@ -597,14 +538,6 @@ will fail if: The .Fa fd argument is not a valid jail descriptor. -.It Bq Er EACCES -Permission is denied on the jail descriptor -.Po -execute permission for -.Fn jail_attach_fd , -or write permission for -.Fn jail_remove_fd -.Pc . .It Bq Er EPERM The jail descriptor was created by a user other than the super-user. .It Bq Er EINVAL diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 51a8b5cc0465..3d18b03119ff 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -991,7 +991,6 @@ int kern_jail_set(struct thread *td, struct uio *optuio, int flags) { struct file *jfp_out; - struct jaildesc *desc_in; struct nameidata nd; #ifdef INET struct prison_ip *ip4; @@ -1095,24 +1094,13 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) * descriptor's prison. */ prison_free(mypr); - error = jaildesc_find(td, jfd_in, &desc_in, &mypr, - NULL); + error = jaildesc_find(td, jfd_in, &mypr, NULL); if (error != 0) { vfs_opterror(opts, error == ENOENT ? "descriptor to dead jail" : "not a jail descriptor"); goto done_errmsg; } - /* - * Check file permissions using the current - * credentials, and operation permissions - * using the descriptor's credentials. - */ - error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, - desc_in->jd_gid, VEXEC, td->td_ucred); - JAILDESC_UNLOCK(desc_in); - if (error != 0) - goto done_free; if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) { error = EPERM; goto done_free; @@ -1516,7 +1504,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) } if (flags & JAIL_USE_DESC) { /* Get the jail from its descriptor. */ - error = jaildesc_find(td, jfd_in, &desc_in, &pr, &jdcred); + error = jaildesc_find(td, jfd_in, &pr, &jdcred); if (error) { vfs_opterror(opts, error == ENOENT ? "descriptor to dead jail" : @@ -1524,19 +1512,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) goto done_deref; } drflags |= PD_DEREF; - /* - * Check file permissions using the current credentials, - * and operation permissions using the descriptor's - * credentials. - */ - error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, - desc_in->jd_gid, VWRITE, td->td_ucred); - if (error == 0 && (flags & JAIL_ATTACH)) - error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, - desc_in->jd_gid, VEXEC, td->td_ucred); - JAILDESC_UNLOCK(desc_in); - if (error == 0) - error = priv_check_cred(jdcred, PRIV_JAIL_SET); + error = priv_check_cred(jdcred, PRIV_JAIL_SET); if (error == 0 && (flags & JAIL_ATTACH)) error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); crfree(jdcred); @@ -2500,7 +2476,6 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) { struct bool_flags *bf; struct file *jfp_out; - struct jaildesc *desc_in; struct jailsys_flags *jsf; struct prison *pr, *mypr; struct vfsopt *opt; @@ -2547,7 +2522,7 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) } if (flags & JAIL_USE_DESC) { /* Get the jail from its descriptor. */ - error = jaildesc_find(td, jfd_in, &desc_in, &pr, NULL); + error = jaildesc_find(td, jfd_in, &pr, NULL); if (error) { vfs_opterror(opts, error == ENOENT ? "descriptor to dead jail" : @@ -2555,11 +2530,6 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) goto done; } drflags |= PD_DEREF; - error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, - desc_in->jd_gid, VREAD, td->td_ucred); - JAILDESC_UNLOCK(desc_in); - if (error != 0) - goto done; mtx_lock(&pr->pr_mtx); drflags |= PD_LOCKED; if (!(prison_isalive(pr) || (flags & JAIL_DYING))) { @@ -2573,19 +2543,13 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) if (flags & JAIL_AT_DESC) { /* Look up jails based on the descriptor's prison. */ prison_free(mypr); - error = jaildesc_find(td, jfd_in, &desc_in, &mypr, - NULL); + error = jaildesc_find(td, jfd_in, &mypr, NULL); if (error != 0) { vfs_opterror(opts, error == ENOENT ? "descriptor to dead jail" : "not a jail descriptor"); goto done; } - error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, - desc_in->jd_gid, VEXEC, td->td_ucred); - JAILDESC_UNLOCK(desc_in); - if (error != 0) - goto done; } if (flags & (JAIL_GET_DESC | JAIL_OWN_DESC)) { /* Allocate a jail descriptor to return later. */ @@ -2916,23 +2880,14 @@ sys_jail_remove(struct thread *td, struct jail_remove_args *uap) int sys_jail_remove_jd(struct thread *td, struct jail_remove_jd_args *uap) { - struct jaildesc *jd; struct prison *pr; struct ucred *jdcred; int error; - error = jaildesc_find(td, uap->fd, &jd, &pr, &jdcred); + error = jaildesc_find(td, uap->fd, &pr, &jdcred); if (error) return (error); - /* - * Check file permissions using the current credentials, and - * operation permissions using the descriptor's credentials. - */ - error = vaccess(VREG, jd->jd_mode, jd->jd_uid, jd->jd_gid, VWRITE, - td->td_ucred); - JAILDESC_UNLOCK(jd); - if (error == 0) - error = priv_check_cred(jdcred, PRIV_JAIL_REMOVE); + error = priv_check_cred(jdcred, PRIV_JAIL_REMOVE); crfree(jdcred); if (error) { prison_free(pr); @@ -3002,26 +2957,17 @@ sys_jail_attach(struct thread *td, struct jail_attach_args *uap) int sys_jail_attach_jd(struct thread *td, struct jail_attach_jd_args *uap) { - struct jaildesc *jd; struct prison *pr; struct ucred *jdcred; int drflags, error; sx_slock(&allprison_lock); drflags = PD_LIST_SLOCKED; - error = jaildesc_find(td, uap->fd, &jd, &pr, &jdcred); + error = jaildesc_find(td, uap->fd, &pr, &jdcred); if (error) goto fail; drflags |= PD_DEREF; - /* - * Check file permissions using the current credentials, and - * operation permissions using the descriptor's credentials. - */ - error = vaccess(VREG, jd->jd_mode, jd->jd_uid, jd->jd_gid, VEXEC, - td->td_ucred); - JAILDESC_UNLOCK(jd); - if (error == 0) - error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); + error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); crfree(jdcred); if (error) goto fail; diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index 72e2845aaf42..c9e80f5d8941 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -41,14 +41,13 @@ #include #include #include +#include #include MALLOC_DEFINE(M_JAILDESC, "jaildesc", "jail descriptors"); static fo_stat_t jaildesc_stat; static fo_close_t jaildesc_close; -static fo_chmod_t jaildesc_chmod; -static fo_chown_t jaildesc_chown; static fo_fill_kinfo_t jaildesc_fill_kinfo; static fo_cmp_t jaildesc_cmp; @@ -61,8 +60,8 @@ static struct fileops jaildesc_ops = { .fo_kqfilter = invfo_kqfilter, .fo_stat = jaildesc_stat, .fo_close = jaildesc_close, - .fo_chmod = jaildesc_chmod, - .fo_chown = jaildesc_chown, + .fo_chmod = invfo_chmod, + .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = jaildesc_fill_kinfo, .fo_cmp = jaildesc_cmp, @@ -70,13 +69,13 @@ static struct fileops jaildesc_ops = { }; /* - * Given a jail descriptor number, return the jaildesc, its prison, - * and its credential. The jaildesc will be returned locked, and - * prison and the credential will be returned held. + * Given a jail descriptor number, return its prison and/or its + * credential. They are returned held, and will need to be released + * by the caller. */ int -jaildesc_find(struct thread *td, int fd, struct jaildesc **jdp, - struct prison **prp, struct ucred **ucredp) +jaildesc_find(struct thread *td, int fd, struct prison **prp, + struct ucred **ucredp) { struct file *fp; struct jaildesc *jd; @@ -98,12 +97,11 @@ jaildesc_find(struct thread *td, int fd, struct jaildesc **jdp, JAILDESC_UNLOCK(jd); goto out; } - prison_hold(pr); - *prp = pr; - if (jdp != NULL) - *jdp = jd; - else - JAILDESC_UNLOCK(jd); + if (prp != NULL) { + prison_hold(pr); + *prp = pr; + } + JAILDESC_UNLOCK(jd); if (ucredp != NULL) *ucredp = crhold(fp->f_cred); out: @@ -122,15 +120,12 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) struct file *fp; struct jaildesc *jd; int error; - mode_t mode; if (owning) { error = priv_check(td, PRIV_JAIL_REMOVE); if (error != 0) return (error); - mode = S_ISTXT; - } else - mode = 0; + } jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); error = falloc_caps(td, &fp, fdp, 0, NULL); if (error != 0) { @@ -140,11 +135,8 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); JAILDESC_LOCK_INIT(jd); - jd->jd_uid = fp->f_cred->cr_uid; - jd->jd_gid = fp->f_cred->cr_gid; - jd->jd_mode = S_IFREG | S_IRUSR | S_IRGRP | S_IROTH | mode | - (priv_check(td, PRIV_JAIL_SET) == 0 ? S_IWUSR | S_IXUSR : 0) | - (priv_check(td, PRIV_JAIL_ATTACH) == 0 ? S_IXUSR : 0); + if (owning) + jd->jd_flags |= JDF_OWNING; *fpp = fp; return (0); } @@ -206,7 +198,7 @@ jaildesc_close(struct file *fp, struct thread *td) */ prison_hold(pr); JAILDESC_UNLOCK(jd); - if (jd->jd_mode & S_ISTXT) { + if (jd->jd_flags & JDF_OWNING) { sx_xlock(&allprison_lock); prison_lock(pr); if (jd->jd_prison != NULL) { @@ -246,10 +238,8 @@ jaildesc_stat(struct file *fp, struct stat *sb, struct ucred *active_cred) jd = fp->f_data; JAILDESC_LOCK(jd); if (jd->jd_prison != NULL) { - sb->st_ino = jd->jd_prison ? jd->jd_prison->pr_id : 0; - sb->st_uid = jd->jd_uid; - sb->st_gid = jd->jd_gid; - sb->st_mode = jd->jd_mode; + sb->st_ino = jd->jd_prison->pr_id; + sb->st_mode = S_IFREG | S_IRWXU; } else sb->st_mode = S_IFREG; JAILDESC_UNLOCK(jd); @@ -257,63 +247,15 @@ jaildesc_stat(struct file *fp, struct stat *sb, struct ucred *active_cred) } static int -jaildesc_chmod(struct file *fp, mode_t mode, struct ucred *active_cred, - struct thread *td) -{ - struct jaildesc *jd; - int error; - - /* Reject permissions that the creator doesn't have. */ - if (((mode & (S_IWUSR | S_IWGRP | S_IWOTH)) && - priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) || - ((mode & (S_IXUSR | S_IXGRP | S_IXOTH)) && - priv_check_cred(fp->f_cred, PRIV_JAIL_ATTACH) != 0 && - priv_check_cred(fp->f_cred, PRIV_JAIL_SET) != 0) || - ((mode & S_ISTXT) && - priv_check_cred(fp->f_cred, PRIV_JAIL_REMOVE) != 0)) - return (EPERM); - if (mode & (S_ISUID | S_ISGID)) - return (EINVAL); - jd = fp->f_data; - JAILDESC_LOCK(jd); - error = vaccess(VREG, jd->jd_mode, jd->jd_uid, jd->jd_gid, VADMIN, - active_cred); - if (error == 0) - jd->jd_mode = S_IFREG | (mode & ALLPERMS); - JAILDESC_UNLOCK(jd); - return (error); -} - -static int -jaildesc_chown(struct file *fp, uid_t uid, gid_t gid, struct ucred *active_cred, - struct thread *td) +jaildesc_fill_kinfo(struct file *fp, struct kinfo_file *kif, + struct filedesc *fdp) { struct jaildesc *jd; - int error; - error = 0; jd = fp->f_data; - JAILDESC_LOCK(jd); - if (uid == (uid_t)-1) - uid = jd->jd_uid; - if (gid == (gid_t)-1) - gid = jd->jd_gid; - if ((uid != jd->jd_uid && uid != active_cred->cr_uid) || - (gid != jd->jd_gid && !groupmember(gid, active_cred))) - error = priv_check_cred(active_cred, PRIV_VFS_CHOWN); - if (error == 0) { - jd->jd_uid = uid; - jd->jd_gid = gid; - } - JAILDESC_UNLOCK(jd); - return (error); -} - -static int -jaildesc_fill_kinfo(struct file *fp, struct kinfo_file *kif, - struct filedesc *fdp) -{ - return (EINVAL); + kif->kf_type = KF_TYPE_JAILDESC; + kif->kf_un.kf_jail.kf_jid = jd->jd_prison ? jd->jd_prison->pr_id : 0; + return (0); } static int diff --git a/sys/sys/jaildesc.h b/sys/sys/jaildesc.h index 4bed1ab3b88a..2451b04f7302 100644 --- a/sys/sys/jaildesc.h +++ b/sys/sys/jaildesc.h @@ -54,9 +54,6 @@ struct jaildesc { LIST_ENTRY(jaildesc) jd_list; /* (d,p) this prison's descs */ struct prison *jd_prison; /* (d) the prison */ struct mtx jd_lock; - uid_t jd_uid; /* (d) nominal file owner */ - gid_t jd_gid; /* (d) nominal file group */ - mode_t jd_mode; /* (d) descriptor permissions */ unsigned jd_flags; /* (d) JDF_* flags */ }; @@ -73,9 +70,10 @@ struct jaildesc { * Flags for the jd_flags field */ #define JDF_REMOVED 0x00000002 /* jail was removed */ +#define JDF_OWNING 0x00000004 /* closing descriptor removes jail */ -int jaildesc_find(struct thread *td, int fd, struct jaildesc **jdp, - struct prison **prp, struct ucred **ucredp); +int jaildesc_find(struct thread *td, int fd, struct prison **prp, + struct ucred **ucredp); int jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning); void jaildesc_set_prison(struct file *jd, struct prison *pr); void jaildesc_prison_cleanup(struct prison *pr); From nobody Sun Sep 14 00:31:18 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPTc62lkXz67lYm; Sun, 14 Sep 2025 00:31:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPTc62CTZz400q; Sun, 14 Sep 2025 00:31:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757809878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KdK+0gzLBXO3myYgQS+0LEd3pEcv/1JnGBDu6TR3Q4E=; b=c1Cpv8Hgv1+lWKpAITTB6VuWvqk9mjEsa2zP7gX1WgKguOl3EwNyxGO6d30QGmBygwHMvX 0aBB2q6iW7zKlkKYcNq9dbKBkbaB8z8ADGcCyiV7jY16TCvdSth7zWmuUHmMYZEsxidBY0 J8lYs/YXOWZEwh5x88Uy/bm0zmZX0u2sD4BCxQeaq1eLH9f+WDKrtKET9RKifoe4CjWw9/ 3YnetFy8mRaishC9JDTzaYwQs6NzxgVkYr2SGS9pYfbkSIKKEBQW4fq1jS+FkGTY72nxjO /ImwJGw2whG4lDd7RcfiY7XILOzlkwK9Fi9hUFgZH3TYc8HJOyeHYdwQhwjeSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757809878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KdK+0gzLBXO3myYgQS+0LEd3pEcv/1JnGBDu6TR3Q4E=; b=jQEsGfYFaBzftCeiGnOU1DkCPjpwympWPH1s8JqYGfXp4zvVeBAwI7WqDk8rqfo5PvyWun ktI8B6P8hSgMEf6JZLUHi7bSiL8cuMPSHqAo+CVA2sC/r0SYjrfxpGJmno6TTcwCfTLp0n 8Ziz5qeTi9Q1i6dddbdwzeAmSaOVtH/h82g14sOJyUevsCOwih7yKeVg0RFdfuClYsWnq4 pMumsHehKjFQAaeonTcmSzkBAvgjUMqB4XShYvDZEwZ2SfQ2ilSpFer5ijrJ8T9pRyiXvv E+iY+8sgUhxLkQrdc/yUrDxshPTlfd1C9GxXf1lmXrRcmhXlgz8PvzOpgah+Cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757809878; a=rsa-sha256; cv=none; b=tDg4ZgxEQ9Y+T/7pSCTGujyAYUByucpidX6XcE9HTjzmzpCC7S1xCalMMPv+/0fg0WI1Iz Fg/cN440JNV//uE3GDZq21IO2biyRn4W/nQ9s+N8ZsUsYQOuLON2EtFlwU/B4HddNlXUFN VsfuWsl2I+ImiVy8M991bQSk+O0iNMRQ1z/+NR/975KX0TlMOvj62DlUBTqq06zIz9LpHk kAP8zdNTs0Waf42dSVJBdcDy5rPv5r9cVFElvCz0mQhDaOCxDbeU0zbJ/DgjvyHzhbVTRO TUBMMSqRgblWfIzYjpW1fKldDrBFZHaVPGf2fGW8Qdz5IznqREvFFYKn8AGzEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPTc61ksLz11v7; Sun, 14 Sep 2025 00:31:18 +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 58E0VIo0044660; Sun, 14 Sep 2025 00:31:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58E0VIYo044657; Sun, 14 Sep 2025 00:31:18 GMT (envelope-from git) Date: Sun, 14 Sep 2025 00:31:18 GMT Message-Id: <202509140031.58E0VIYo044657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ka Ho Ng Subject: git: 6faaef201ca3 - stable/15 - contrib/libxo: fix API header files inclusions in C++ source files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6faaef201ca3886ab37331ab1a1d46215ac904e4 Auto-Submitted: auto-generated The branch stable/15 has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=6faaef201ca3886ab37331ab1a1d46215ac904e4 commit 6faaef201ca3886ab37331ab1a1d46215ac904e4 Author: ShengYi Hung AuthorDate: 2025-09-07 18:33:01 +0000 Commit: Ka Ho Ng CommitDate: 2025-09-14 00:30:34 +0000 contrib/libxo: fix API header files inclusions in C++ source files C++ source files need `extern "C"` to disable C++ name mangling. MFC after: 1 week Reviewed by: aokblast (previous version), phil, imp (previous version) Differential Revision: https://reviews.freebsd.org/D47930 (cherry picked from commit 11ace56fa030185025936c795d5cf7c57b266835) --- contrib/libxo/libxo/xo.h | 8 ++++++++ contrib/libxo/libxo/xo_encoder.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/contrib/libxo/libxo/xo.h b/contrib/libxo/libxo/xo.h index 6a61a16c7cae..7f37b469b54e 100644 --- a/contrib/libxo/libxo/xo.h +++ b/contrib/libxo/libxo/xo.h @@ -27,6 +27,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + #ifdef __dead2 #define NORETURN __dead2 #else @@ -699,4 +703,8 @@ xo_retain_clear_all (void); void xo_retain_clear (const char *fmt); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* INCLUDE_XO_H */ diff --git a/contrib/libxo/libxo/xo_encoder.h b/contrib/libxo/libxo/xo_encoder.h index 099248ae13a6..bb57194ab030 100644 --- a/contrib/libxo/libxo/xo_encoder.h +++ b/contrib/libxo/libxo/xo_encoder.h @@ -20,6 +20,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + /* * Expose libxo's memory allocation functions */ @@ -167,4 +171,8 @@ xo_encoder_op_name (xo_encoder_op_t op); void xo_failure (xo_handle_t *xop, const char *fmt, ...); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* XO_ENCODER_H */ From nobody Sun Sep 14 00:33:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPTgC1MNCz67m1f; Sun, 14 Sep 2025 00:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPTgC0kw9z40rZ; Sun, 14 Sep 2025 00:33:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757810039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UswTTg988DpCODgvpAbbKXJaR13NTxYUbXrNwgt1TQA=; b=dbXNKtLYy9oVHA4rpu6bUBpl6P4D/M4pg4fJBQ269x47Hab3K1PCf/LQWFJ8zfTXOpmvuH k0MojKVGTUkmm9eKJLxm5I0xTJBmnLRZxL4r48BOxfh+BgJgujh8ppzHQczjegdjvKfz2U UOKFCSC5/ycXmx4zJtiJJXPtTM/fcx96Y///qh+4dKGeDomQBlfGaonGcsLKYDHaQ7pdfd DYvWL8V/+4SlROCuGcFN5VIVVbBSTkmJeXSO5KDdbFd1FdtzKre+wF/u2hu3gmLUPdx6ub KvafO3J8ADU5X6h7tty2bAg0BM/Fbqwynof853xqD/5Hq5tXGA3nn+cAVHHrtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757810039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UswTTg988DpCODgvpAbbKXJaR13NTxYUbXrNwgt1TQA=; b=XCpedOP+EWL/1YHua0E6YcgiTssEy0Zq3D2eZlYSTLoFvqdJUVEFMEB7z23rGAbyJOTgJL hz8JGXzgEiN0ZLfXOpUVTPMyGyDLkOhJKBuJykCGxyLllXiKoblfRvDBMJ65fDJ/9Ts2ce Zvds1k7JdzpFiRb5NA0sPByN4oR7T9gADuJ8d0YMZGFYIb/pwaKHbrc8zWB3Pv0l2fvfjB WpoGabheJ5Kia1zw/mp3UKNxL+PDXm8oN25yD5zW+lYaIAKkFmFPfMnnClw18Y2n0my+4W AEvR07LHXuuFq+3Qhf+ITbx0IfHHkMXDsjUSj45edyNrvll+vD7A9+KOp1l6qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757810039; a=rsa-sha256; cv=none; b=mMH/51x4jN3o2eS3C1aLVqcnHAO9VTFkDVZj7GrSdo82jy01pKGUvKP/L7lonsyh0C1+FB c6uQ1mCBFcCTR2BtZHU80UnGerCLWF1KtUjQtzVYE4roSLPUP4UhEpDbsQFipFUaKGv6YS qHM7GWRxiGJbd+3J0AwBspW2dXGJf6872rcLc7qCLJppjj4uMj4Q9jBi96sxgFnCmGI8sj btMLf3cGRKGD2dOqlqSN5qoJGCsUUxsSf99DZGLWvDxD35hHyM/focAPVqD1J3ddxchsPx OUV8032m6KStpcdFCSUI/bVGL18IvWar+iT0BwvJmSMbt6ECHz5wAl1bX3rcBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPTgC0Lg7z11mj; Sun, 14 Sep 2025 00:33: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 58E0Xwqd048748; Sun, 14 Sep 2025 00:33:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58E0XwH1048745; Sun, 14 Sep 2025 00:33:58 GMT (envelope-from git) Date: Sun, 14 Sep 2025 00:33:58 GMT Message-Id: <202509140033.58E0XwH1048745@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ka Ho Ng Subject: git: c065db9f83ff - stable/14 - contrib/libxo: fix API header files inclusions in C++ source files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c065db9f83ff7c9fa9ce59d095c7e0f966f1df77 Auto-Submitted: auto-generated The branch stable/14 has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=c065db9f83ff7c9fa9ce59d095c7e0f966f1df77 commit c065db9f83ff7c9fa9ce59d095c7e0f966f1df77 Author: ShengYi Hung AuthorDate: 2025-09-07 18:33:01 +0000 Commit: Ka Ho Ng CommitDate: 2025-09-14 00:33:40 +0000 contrib/libxo: fix API header files inclusions in C++ source files C++ source files need `extern "C"` to disable C++ name mangling. MFC after: 1 week Reviewed by: aokblast (previous version), phil, imp (previous version) Differential Revision: https://reviews.freebsd.org/D47930 (cherry picked from commit 11ace56fa030185025936c795d5cf7c57b266835) --- contrib/libxo/libxo/xo.h | 8 ++++++++ contrib/libxo/libxo/xo_encoder.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/contrib/libxo/libxo/xo.h b/contrib/libxo/libxo/xo.h index 6a61a16c7cae..7f37b469b54e 100644 --- a/contrib/libxo/libxo/xo.h +++ b/contrib/libxo/libxo/xo.h @@ -27,6 +27,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + #ifdef __dead2 #define NORETURN __dead2 #else @@ -699,4 +703,8 @@ xo_retain_clear_all (void); void xo_retain_clear (const char *fmt); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* INCLUDE_XO_H */ diff --git a/contrib/libxo/libxo/xo_encoder.h b/contrib/libxo/libxo/xo_encoder.h index 099248ae13a6..bb57194ab030 100644 --- a/contrib/libxo/libxo/xo_encoder.h +++ b/contrib/libxo/libxo/xo_encoder.h @@ -20,6 +20,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + /* * Expose libxo's memory allocation functions */ @@ -167,4 +171,8 @@ xo_encoder_op_name (xo_encoder_op_t op); void xo_failure (xo_handle_t *xop, const char *fmt, ...); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* XO_ENCODER_H */ From nobody Sun Sep 14 02:05:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPWhp2C5gz67sCh; Sun, 14 Sep 2025 02:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPWhn6krgz3Cxn; Sun, 14 Sep 2025 02:05:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757815530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xSf6WcVVEgok2kNR/cnrgAM6XqIZQR5wH3cc/MVBkx8=; b=yRr8IJ7SRb0AljkTGZaG+XQzqvkGFJPv0aE2gM1zHuRPd4l1U+qt78ubtfP+MqCc3fuMgz 4zbB4yXALiyKBhWyNfWC3sG5j8J/u/1fEMC6BSSH6cWd4ETvN5YYuPfpO5J2rhskfJuF8q 4Cwktl8ZQN/JNUf0WkvIql/JTRQRl2CpQJEf6RgF+6RdYgow/Dffa6pwdLAve+mImTjuG2 jgcykDu3SQvf+7t+fBbzG5jB9tQDI9tQbcghbqL2K+wqXTC/DCDXQVhCej72EeO37vlrGl WfKXp3J0RzavVIfF0LX2ylb5ZLTHcG8BIFS3JyymLXacAst1gt3TKngLo9LDuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757815530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xSf6WcVVEgok2kNR/cnrgAM6XqIZQR5wH3cc/MVBkx8=; b=bKAA3WgGYBrik+Qi8Fv0xaayxmMlDSNqutZLMiyL6ivxryMk161bhU55L58lS0Jia2s5dB aZvWCuC63ExyJFyxzVKaAqUvTod3B4zREvVS9A5Sy6+5OnEydCKECLHKAhMHrAaamQb+T0 +qDWMMMkmyo+/CXFo+79KVA3VxSbZmlEieC5rbdAFd/F1GJR5Pd8dO9bUqz8cqS9TJdWU9 acy6LMsFDJSQ+gUhoP+4JUmfj7ov8I3yZxQssVFGeJXWcqbB7N2zfW/so0CRpxtItkHa7r 6S5RU96+wQbufg0/oqVA6zCf08Kzk6R6GyFJJNpz45LKUmCBG3C2eLXthbHqHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757815530; a=rsa-sha256; cv=none; b=fbkJ0qwfz9Ubn3RU+j+C3BIPz/ALzqp8O1q8c8PtGatuU1M+3nqAMzaWcaqQsUNQzos3zc gv/G44Slh9E0GlukdaT8hri6dyv2WTUULdKQ8GNIFCFz8eDiU2eluJtDspD6YSaD4Bqgz8 WYI+XgrTeLhd+d1x7n/zAgmD+XXk/QUrUQGJcRdOyOjD7jYQvSmBAMtYARcwfXEGByL/lh scXoFjStSdzkYkDYhIV0lBdag9mnpb/UzZwia8mtIlDlKfsFCeJepJk4G4X8pPX/OUuhv1 3pTyyCLJIjrx3qzn+anx8xN6XXCeUFwiKIS423c6bP3v2L4o5Zc8RLJ8he8bSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPWhn63dJz14vb; Sun, 14 Sep 2025 02:05: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 58E25T39017204; Sun, 14 Sep 2025 02:05:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58E25T89017201; Sun, 14 Sep 2025 02:05:29 GMT (envelope-from git) Date: Sun, 14 Sep 2025 02:05:29 GMT Message-Id: <202509140205.58E25T89017201@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: da62a299de31 - stable/15 - release: Pass ABI to pkgbase-stage.lua List-Id: Commits to the stable branches 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/15 X-Git-Reftype: branch X-Git-Commit: da62a299de313964b9a9be2709e04eff857da5ca Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=da62a299de313964b9a9be2709e04eff857da5ca commit da62a299de313964b9a9be2709e04eff857da5ca Author: Colin Percival AuthorDate: 2025-09-14 02:01:26 +0000 Commit: Colin Percival CommitDate: 2025-09-14 02:05:21 +0000 release: Pass ABI to pkgbase-stage.lua We then pass ABI from pkgbase-stage.lua to pkg(8); without this, cross-building releases with PKGBASE enabled fails with pkg: wrong architecture: ... pkg: repository FreeBSD-base contains packages with wrong ABI: ... MFC after: 1 minute Discussed with: emaste, jrtc27 Sponsored by: https://www.patreon.com/c/cperciva (cherry picked from commit 340e68fd7c0d62cac1f0876b6475a89df5065db5) --- release/Makefile | 2 +- release/scripts/pkgbase-stage.lua | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 6fd3b2f61325..d0177c8aae5f 100644 --- a/release/Makefile +++ b/release/Makefile @@ -213,7 +213,7 @@ disc1: ${PKGBASE_REPO} ${.CURDIR}/scripts/pkgbase-stage.lua disc \ ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ ${.TARGET}/usr/freebsd-packages/offline \ - "${_ALL_libcompats}" + "${_ALL_libcompats}" ${PKG_ABI} cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ ${.TARGET}/usr/freebsd-packages/repos/ mtree -c -p ${.TARGET}/usr/freebsd-packages | \ diff --git a/release/scripts/pkgbase-stage.lua b/release/scripts/pkgbase-stage.lua index 1b48b4faede3..a12ec372d1a9 100755 --- a/release/scripts/pkgbase-stage.lua +++ b/release/scripts/pkgbase-stage.lua @@ -115,6 +115,8 @@ local function main() local target = assert(arg[3]) -- =hitespace separated list of all libcompat names (e.g. "32") local all_libcompats = assert(arg[4]) + -- ABI of repository + local ABI = assert(arg[5]) assert(os.execute("mkdir -p pkgbase-repo-conf")) local f = assert(io.open("pkgbase-repo-conf/FreeBSD-base.conf", "w")) @@ -127,6 +129,7 @@ local function main() assert(f:close()) local pkg = "pkg -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes " .. + "-o ABI=" .. ABI .. " " .. "-o INSTALL_AS_USER=1 -o PKG_DBDIR=./pkgdb -R ./pkgbase-repo-conf " assert(os.execute(pkg .. "update")) From nobody Sun Sep 14 11:25:35 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPm746hY8z67mmw; Sun, 14 Sep 2025 11:25: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPm734VTGz44x4; Sun, 14 Sep 2025 11:25:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757849136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhfY12/KkPVd8+8v+excmOe6apSin1i2VLFAgQt2hF0=; b=rzstSE6fk+4KMu/luOQWqfKHSfbyCu0eotWMfaW/TA3O/CYtvAxCm/KZr7gYKI3kQOE0J4 sNd6R0n2wqJf41vOSPOCwyygUEfC3oM4MDPvkXQdaJyFQiUX0SPgb9Y9WIMu/wO3JmKrZG zVk2qgDoXSK7YZ7vj4AtAsZxpTRJ3nP5nmRKHsN8HnaFj5v5Ef5Qd/fwFrWVY+z6vsSMWs +n0fyJ4GFy31Y/fWsmHbi1hV4goMF5BXwmNt4Ez2Eq+7aQaUTski6oBb/mvA4IFjEyyQ6U UFYCrlL+faNfDLXs5QgnGHcOj2R2kwi9/YUhREQqyhowhqqa+fdzFVOr/H1knA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757849135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhfY12/KkPVd8+8v+excmOe6apSin1i2VLFAgQt2hF0=; b=yQ+j6Jy/6cqKpZRsnL59ECaQpiouoNlY32bNDQHSg89mcAwJj/YRE6yc3OU/OvqFwRuM1f gPB4o6f9TsYcr/Cmu9DXoIKC7fzeea4/fV83o7vhf3SXr9erUdjPxxRHWR04Yw5jM9fsju P8HDQW41otxp+hCxVyDO7NLhWrCva0HDMox2qmR9vA0PN91mOrZj/U48jtqQORDSzL44Ya hjAT+7uYxpHdULd+BMxQlOHj+7UHIp63c4pPNOyeKOtdwj57FYXT1ZMpWtaR/JdZi+WqDo yQ4t+toRTBUAGew27CwOG4KWCvVopNQEOt1C6CVjev5mbzSkAuZZ7JxZyxw3Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757849135; a=rsa-sha256; cv=none; b=WdJ4dyINHMmSpe4fqhPv2Aoh90TkF14QMYI0ltO1EZcOTPxDwjj0HwiUvKAMA+dIgTw50s U5Fp4QIlqhaJpkVcvTFJ6gK4iop8tDL8+JdpCOBey/PVpTo2A4zT3IDsHTRsREuHtgHORR tJ2r1DJKZ28dGtse+a5OBSS/mLDw1NbMTaOS+8CQGBEqwIugFh1Sa1LnO0gWUJwpKBQErh mEnYtSKowqKJnfVEwp0WuwLZGrvAE+QYkf7iiXh1Rtaj1i0qpTvxe9g3KT+NiQgAhXbraW /N2mnaMIri8rZs6xrIy0Tgb2MJmVDCPymHsDbncIDboo9oTJqyIRd3/iHQwvmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPm7340Mwz1LJf; Sun, 14 Sep 2025 11:25: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 58EBPZC1070649; Sun, 14 Sep 2025 11:25:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EBPZQr070646; Sun, 14 Sep 2025 11:25:35 GMT (envelope-from git) Date: Sun, 14 Sep 2025 11:25:35 GMT Message-Id: <202509141125.58EBPZQr070646@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lars Engels Subject: git: 289f8429c7d4 - stable/14 - backlight(9): add cross-ref to backlight(8) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: lme X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 289f8429c7d4e04bb939a6d4de35d7c897bd7642 Auto-Submitted: auto-generated The branch stable/14 has been updated by lme: URL: https://cgit.FreeBSD.org/src/commit/?id=289f8429c7d4e04bb939a6d4de35d7c897bd7642 commit 289f8429c7d4e04bb939a6d4de35d7c897bd7642 Author: Lars Engels AuthorDate: 2025-09-11 19:47:00 +0000 Commit: Lars Engels CommitDate: 2025-09-14 11:25:16 +0000 backlight(9): add cross-ref to backlight(8) Reviewed by: bcr MFC after: 3 days (cherry picked from commit a74c8b8236c9816fb28186c16f7ca999f6fdd573) --- share/man/man9/backlight.9 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/man/man9/backlight.9 b/share/man/man9/backlight.9 index 926a723b3859..c4c338ce56ca 100644 --- a/share/man/man9/backlight.9 +++ b/share/man/man9/backlight.9 @@ -65,6 +65,8 @@ struct. .Bl -tag -width "/dev/backlight/*" .It Pa /dev/backlight/* .El +.Sh SEE ALSO +.Xr backlight 8 .Sh HISTORY The .Nm backlight From nobody Sun Sep 14 11:26:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPm7Y1w30z67myQ; Sun, 14 Sep 2025 11:26:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPm7Y01G7z45FL; Sun, 14 Sep 2025 11:26:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757849161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=37qwQiH6slkLFkhgV9oCYdeshVHSO/OlxGOR0QbPUZM=; b=dPjdZcUcmyvGZnhbJznFbAYnIx4Zj7tMMU7VCIQTBuitMHIjvavZS5YPUILjMIAi++a77a Pw/p1aLrLMFVx06+etLjngfVDx2O00jDFDLHrU7rPfDXg9KvqinCgoX8vf3odnVcxwaJ8r pjuGX1N0IDo7ilo/8ONG0dTDyTxoIlGXWw8Pg4TP4W6/Vx3izi3H+BT8ij7sdvzaHNsrP2 rBsO70L6NDC1uTzlkGFA9/nlxW7Ckb93YLLFOgb1lXMflwIj6+d7n/yAWM+uykK++5lYQ7 l39lSX5yF/zZCm7EU/5jSoZV2m85U3yBGJ9R6SI6xA2WGjzFbU11svSZyBcOEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757849161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=37qwQiH6slkLFkhgV9oCYdeshVHSO/OlxGOR0QbPUZM=; b=nVHONm5XHaskeVYkJHbrD8H4VdhDGyzFF5+E2aSjaAeHUdKXWyvy7KEhwbYP4zbZOXzTi8 hjPTR+soGULpNVIkrjOq+xUUmQwf6fNWL/biel/Wy4jLadZDjU++S3I845dpr8IY77Ip67 yhX8G2aaKL42Q1ZXwXQ4gDGHDN5uFdHy1SPtZCNXTZckHolNGMA9B7C9lxFfLw10IHDdVg ZfBofAo2D/3hzgsmU1f0IfHrE0aZCIDBBZw7JLAS21FZnMBbNDYWG/+FqOTCm1VOh6idH8 o1q9/rIacu8ITIVenfik/3fDM1KNlg+vWc+l0BnV71TBs3R1UVIJjEbIZt/M/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757849161; a=rsa-sha256; cv=none; b=lYXWAqegvEuf6XZyYYgax4iUGQgUGR1yCPQ5K0zbtq0F35GUwRgsxBtRPV9wQTy6EdW0II laKSnLJ76VGoMARLi6O8ot8Bcu166+vINxcjfnsdbO5yCfLmtIyzZoS+n3/2MDn7+0/9uh 58x6FCaNDAMUfwWwqRfKD+7o8gu+Db0EximvDTpM1PLbAcAKo8Rp/qBn4RocHducHQ3Vhr lM1+jCCAX9o57LuUb6wcnyVKN54E590rJDC9fh+fMKYBZw0DA6C/g27sKCtyocslJi2B2G oAnaRrbhEqZac1d8lyQcwirs/kUWZbWgHEm7ZEMIonfMDtK+s+TZSAijZSO3cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPm7X6knlz1M2m; Sun, 14 Sep 2025 11:26:00 +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 58EBQ0a4070917; Sun, 14 Sep 2025 11:26:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EBQ0ru070914; Sun, 14 Sep 2025 11:26:00 GMT (envelope-from git) Date: Sun, 14 Sep 2025 11:26:00 GMT Message-Id: <202509141126.58EBQ0ru070914@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lars Engels Subject: git: 7dd02bd9d6c1 - stable/15 - backlight(9): add cross-ref to backlight(8) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: lme X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7dd02bd9d6c134f3b9c47c0e88e41afd52e0b42c Auto-Submitted: auto-generated The branch stable/15 has been updated by lme: URL: https://cgit.FreeBSD.org/src/commit/?id=7dd02bd9d6c134f3b9c47c0e88e41afd52e0b42c commit 7dd02bd9d6c134f3b9c47c0e88e41afd52e0b42c Author: Lars Engels AuthorDate: 2025-09-11 19:47:00 +0000 Commit: Lars Engels CommitDate: 2025-09-14 11:23:41 +0000 backlight(9): add cross-ref to backlight(8) Reviewed by: bcr MFC after: 3 days (cherry picked from commit a74c8b8236c9816fb28186c16f7ca999f6fdd573) --- share/man/man9/backlight.9 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/man/man9/backlight.9 b/share/man/man9/backlight.9 index 926a723b3859..c4c338ce56ca 100644 --- a/share/man/man9/backlight.9 +++ b/share/man/man9/backlight.9 @@ -65,6 +65,8 @@ struct. .Bl -tag -width "/dev/backlight/*" .It Pa /dev/backlight/* .El +.Sh SEE ALSO +.Xr backlight 8 .Sh HISTORY The .Nm backlight From nobody Sun Sep 14 15:21:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPsLl3gRjz682k0; Sun, 14 Sep 2025 15:21: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPsLl39ktz3HPR; Sun, 14 Sep 2025 15:21:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757863263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqbFW9LX3MHfntJ/biL5BjKJHKfn0xyDPSX3SXMgpbU=; b=q3r0fE6ietsI5bHxud7RrkbF+21ThdAsnAAFsrttfBEVnq5RRD4JAgc2f0waQPCsxhk4p4 BXeXoZA97YRfQ3D/4BlOoTIq+rqisJzonbNm7sjYy16Gs8u3NCuAw40o7hyn62t6IF7CG8 p6WuKdWwgwO5pp2e1GTyqCbJmDm0+t9eMsWHOkjCU8/W3nQds3wG4cgqXnM42j/m1qIyQE LVTREFgTspLTN8KgXOF7gcXvCdq0qWQwaASKA0NgwI5EGkN528hFv6lVksAoPEJf4xe3Wt Zh57z29/MYvF68oRSN8c/2mLmSoZZ4n0CqVWsnnKwoi1EnCWPHEdLTsqtdv7fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757863263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqbFW9LX3MHfntJ/biL5BjKJHKfn0xyDPSX3SXMgpbU=; b=km1QjKTs0kvH54BTb51cmDS9EBnIa2vdzfucMlRI9fMUBbX6pSZzMFqJtNauZu24hCEpxb tE4ujkjZiQ+veroG4+Cxp4uf3J1YfJr+JbxP2fYtRgrklzXLHJcZOqUf/sSS2EWdV4c2bT kBnvPqWDqzGrFmJwbMiSD1nFZmhSuSl8SvV1cDkgN7DwlTNEtCWcDbJqIhpKKOj5vqb0PU UZ69f+2jqz9Sbqhg4cwXKx5vO7QC3Buxy58qIiJ7Clkk3C9sk2p1XaN/y2xEcMYXeu7Glr 3ykO+1rjYgn6gH4Jd0FxEGtu5k+e+TZOsh29XaYnOVxGKEnkhHpQTwbigAYZnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757863263; a=rsa-sha256; cv=none; b=x036lYurMwrW5x3cVAsNOIxfMSK5VB9EKYvdTe45jrLuM7OLSH0QRWSJNV33UnBbaMfbBS vQao2WTuVqOjnGxSN+QQDwDr05YA7GnZ619NrU28HSwrC8Uz7mIrpD0WquASEcmo2FiJxU cz8m+JAZvwqNCo0DwFlLUDJiivqE1XZRJVTFFJxUY7yeznJCZUSaPMGwqUXIQRN2uCIG5s TwxJQDhWZDzepYAwZgQUs9kaqdMt4xFH8vwmqDgNdpJCyzQoQBSPAp1S5mXjeIxK9PLdOe Wj02wfO0B1AUyGVVEg71LR74uyteUIrQeoZw49PwZRso1s6Kfd09FOdAME1jsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPsLl2kq8zFg; Sun, 14 Sep 2025 15:21: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 58EFL3LW015326; Sun, 14 Sep 2025 15:21:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EFL3wu015323; Sun, 14 Sep 2025 15:21:03 GMT (envelope-from git) Date: Sun, 14 Sep 2025 15:21:03 GMT Message-Id: <202509141521.58EFL3wu015323@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: b36435210a1e - stable/15 - krb5: Enable PRINC_LOOK_AHEAD in ksu List-Id: Commits to the stable branches 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b36435210a1e07b2704f65f6c69c0645ac2e5657 Auto-Submitted: auto-generated The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=b36435210a1e07b2704f65f6c69c0645ac2e5657 commit b36435210a1e07b2704f65f6c69c0645ac2e5657 Author: Cy Schubert AuthorDate: 2025-09-10 20:13:08 +0000 Commit: Cy Schubert CommitDate: 2025-09-14 15:20:53 +0000 krb5: Enable PRINC_LOOK_AHEAD in ksu PRINC_LOOK_AHEAD is the upstream default. Normally ksu determines the target princiapl by (quoted from the man page) a. default principal of the source cache b. target_user@local_realm c. source_user@local_realm With PRINC_LOOK_AHEAD emabled, for each candidate in the above list, select an authorized principal that has the same realm name and first part of the principal name equal to the prefix of the candidate. For example if candidate a) is jqpublic@ISI.EDU and jqpublic/secure@ISI.EDU is authorized to access the target account then the default principal is set to jqpublic/secure@ISI.EDU. Case 2: source user is root. If the target user is non-root then the default principal name is target_user@local_realm. Else, if the source cache exists the default principal name is set to the default principal of the source cache. If the source cache does not exist, default principal name is set to root\@local_realm. This commit restores the same behaviour as Heimdal ksu. Reported by: Dan Mahoney Requested by: Dan Mahoney Differential revision: https://reviews.freebsd.org/D52478 (cherry picked from commit b0e7b55a0e90d737cf469b78e9785b492b3c0d0f) --- krb5/usr.bin/ksu/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/krb5/usr.bin/ksu/Makefile b/krb5/usr.bin/ksu/Makefile index aaec461ce0b0..93860e38ce5c 100644 --- a/krb5/usr.bin/ksu/Makefile +++ b/krb5/usr.bin/ksu/Makefile @@ -24,7 +24,8 @@ SRCS= authorization.c \ CFLAGS+=-I${KRB5_DIR}/include \ -I${KRB5_SRCTOP}/include \ - -DGET_TGT_VIA_PASSWD + -DGET_TGT_VIA_PASSWD \ + -DPRINC_LOOK_AHEAD MAN= ksu.1 From nobody Sun Sep 14 19:26:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cPynr6Qp4z67KYf; Sun, 14 Sep 2025 19:26: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cPynr5gKcz3pRP; Sun, 14 Sep 2025 19:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757877984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUjwnxxzXPlCb4WEzLF9iCF/JG3pwvTNbgH+Jw6uyUk=; b=hCOzHiPX7uDP7UO5ItFh3ibDaXq92xoFbrDjvqs2CpKMss+61FZneaa6iiGu5Goqp+Z5a/ 9K76kIIwq0wT4xzWdZpKqGZQ91xMKt0rJiDmRYi3A1T+PuzCj1UUec7MXAzkL5rixRrAa2 HrKnvHyGKd1o+anZo7b+dh+62qHy4KG63aMcMcmoka5XZdXPy+t009nQHYGZaCzSwP4+AH 1+W0zsug8nmOxM7hKiG23jNqYH59tTe4PZQn84rN1gqXWelKm91p5tcr0lwCZGY9vpt3DT VMLtQ48SDrUjgA9cDx9/rpeBmfX5qZpWVLo80lvWhvb5436a5cBsQ67H99zEnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757877984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUjwnxxzXPlCb4WEzLF9iCF/JG3pwvTNbgH+Jw6uyUk=; b=irgLFzPSrv+OUPIHWln36cAoZYy4UuJI05PRoPYStG9QJCN8DzwFRCICv4Dqm8A19RCcB0 pmYSNoCbDtgF4tfYZmMjhRrMuCWhJfw/AScxI98aszxNFe8MV49vylK2DXam0bqM0PCpbg Tb55HzA0nvF/Dltti4/m8K7bZN7Pd8uDefPr4RunbV+DGj5kMPjIF0p+ZD/CecoRbWSovZ ebeaxoJc0Gln3sYL8xv+nlAriQa0SsheQYBG73U3tWebDpTCPia3XqDUPOdwK1oWqdCgO8 XrbM4e5Q0M2JahhgvpUS1iwkGMuYrcF+AUPwgB+yVxreQRvBxO/jqlBpHIQGGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757877984; a=rsa-sha256; cv=none; b=kcol8UY3tCeCseqxv/QmrTDIh+9D5MefzwXhrFjHXYzgg0KgH7/jy839NQy6k9cgsUVaGX 5uQ/aLZ03I2b7aBFlihc5i9bcUY5RQdjseo8wlZAGaE6JHnyOa2hxtvsiadY6vR2kBqM4x 4p575OJ9BomCNiGE0u7dv8G9nd3PGdHsca/GPmW1A421zH+BWHrP9HxsjXt+sv0krRcMqq kdS58C1LEWns7+KX/lYoI+/ZsrIGCkjyJIHoP/nZGRDl0NQvCgZnNF0NL9ps17DmmV4cpH wA9uLd9RANmqP97TmSh/77gpesootRtimKw2We0fgAWfls1fbQnBmlw9D/7OWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cPynr5D1fz6Xj; Sun, 14 Sep 2025 19:26: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 58EJQOKR073191; Sun, 14 Sep 2025 19:26:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EJQO8P073188; Sun, 14 Sep 2025 19:26:24 GMT (envelope-from git) Date: Sun, 14 Sep 2025 19:26:24 GMT Message-Id: <202509141926.58EJQO8P073188@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: 06d08e6e758d - stable/14 - sys: add MBM device ioctl() values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 06d08e6e758df2114111af415c67623ea3c1825b Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=06d08e6e758df2114111af415c67623ea3c1825b commit 06d08e6e758df2114111af415c67623ea3c1825b Author: Pierre Pronchery AuthorDate: 2025-01-20 23:44:03 +0000 Commit: Ed Maste CommitDate: 2025-09-14 19:25:39 +0000 sys: add MBM device ioctl() values This is part of the upcoming USB umb(4) work. It implements the control ioctl(4)s that MBM devices will need to implement. Differential Revision: https://reviews.freebsd.org/D48167 Approved by: adrian, zlei Sponsored by: FreeBSD Foundation PR: kern/263783 Submitted by: Pierre Pronchery (cherry picked from commit e5f3620a3e12c0febab7e4125da526c59a5a195b) --- sys/sys/sockio.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h index e0f2ab697168..f79b000dd245 100644 --- a/sys/sys/sockio.h +++ b/sys/sys/sockio.h @@ -149,4 +149,8 @@ #define SIOCSIFCAPNV _IOW('i', 155, struct ifreq) /* set IF features */ #define SIOCGIFCAPNV _IOWR('i', 156, struct ifreq) /* get IF features */ +#define SIOCGUMBINFO _IOWR('i', 157, struct ifreq) /* get MBIM info */ +#define SIOCSUMBPARAM _IOW('i', 158, struct ifreq) /* set MBIM param */ +#define SIOCGUMBPARAM _IOWR('i', 159, struct ifreq) /* get MBIM param */ + #endif /* !_SYS_SOCKIO_H_ */ From nobody Sun Sep 14 20:26:53 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cQ07d6Qmmz67QjD; Sun, 14 Sep 2025 20:26: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cQ07d5HZJz40lV; Sun, 14 Sep 2025 20:26:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757881613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h8Y6HxurKy5xmnTmClzos2MOCzs6zQP1nLRzg8eJZ0M=; b=xjyF/ALUavKfqUsJ4UwSO6BulEVO42y+H4PZD5rac37YI5I68FwjFe0VuWLkrfbw5KmBoj 8CE7UvWx2U+40uyWAi0tmGwUpXaLQz/s60rRs+nExZNRooQesbFk7VtXOahivLCDOrwfan YNsE7mdw1acsUGaJghpQa39FZzd3Ii4Xc0qEf9CVH9B1PbXKq9JNSQBXJGWKYl7jFNSWYN dlQqxgxFpGMTN5pNT17emmEfpaRIjEV4aN1WvW5teAh2BiOXXHiM6IZFD9s96FtGwjacXT 4TFp9YRl7Xezh7HC9YcMUHEaESx8LKbjexMNKpVWXKHbqHwP96uRe1opZdxD4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757881613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h8Y6HxurKy5xmnTmClzos2MOCzs6zQP1nLRzg8eJZ0M=; b=MT1Fs+RG0Kdu2JB+x74cJH95Q5w9iNqAV1Xy1jO1H+v8U1GoDB1zlksnWbLeT8NA9eSEVw OUVxDGhRISiKe+6gALPUOxE3+vrxArqpRq8rELOA1ez1zHH6Y0etoqbjoRbWMof5dGksux RHy1iGN2S8sHqmhKy0+G/kG1qlyVZZOp0X8Xh0XvNjVR01hW1cC2BbKRKUA73oEiOwjXNa foG+KdQ0U8hZDdG3ae/U+4ZjHe+6CZMkBS4kEeh5LE2MKYDSQVoF8o59Y0f0x4Ic330jv5 fjFwRKkEO0Ca/oDT2bhMoxxK+cmZYK87rwSnyyBxEGAYXloqlYZ8fe9NyejM1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757881613; a=rsa-sha256; cv=none; b=ygj+9Qa3BNVv6Sgz9oGV9BFbALrhGvSpmXNVkYi+vlqNrec6YF6entoDA1HgFsNh+2f6BO Wj3YiCiQsJIZZlZ91+8t0bp6ngKsUPDJ6ufDhP9W/UXB1P+fU03W8LO8F73qOaqli5x7SD 1XeCz/lcJGq7EqEjgm8sVXs3KOp8to/Kb2erUB6yeOM4D7UUSALZCceNx4MXAEYzATSzYZ T3vK1tTneF8wDOKMjO+z5qVUaz5WaDU4BMSLBCjatdNmZVqgTsafcpl4nsQgYHY3fV+ruK BBHM+erg1DH5ud9mptaWMGkr3zKpvXMwcG9tfgzWqwV9WK9GM6c+MbgvNnMrEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cQ07d4kpPz8N1; Sun, 14 Sep 2025 20:26: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 58EKQrJ8085913; Sun, 14 Sep 2025 20:26:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EKQrIu085910; Sun, 14 Sep 2025 20:26:53 GMT (envelope-from git) Date: Sun, 14 Sep 2025 20:26:53 GMT Message-Id: <202509142026.58EKQrIu085910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 1162a78e0d40 - stable/15 - dhclient: improve UDP checksum handling List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1162a78e0d403c4619dae3fed99ce9a923bc4795 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1162a78e0d403c4619dae3fed99ce9a923bc4795 commit 1162a78e0d403c4619dae3fed99ce9a923bc4795 Author: Michael Tuexen AuthorDate: 2025-09-10 15:13:35 +0000 Commit: Michael Tuexen CommitDate: 2025-09-14 20:15:57 +0000 dhclient: improve UDP checksum handling When sending UDP packets: * compute the checksum in the correct order. This only has an impact if the length of the payload is odd. * don't send packet with a checksum of zero, use 0xffff instead as required. When receiving UDP packets: * don't do any computations when the checksum is zero. * compute the checksum in the correct order. This only has an impact if the length of the payload is odd. * when computing the checksum, store the pseudo header checksum * if the checksum is computed as zero, use 0xffff instead. * also accept packets, when the checksum in the packet is the pseudo header checksum. The last point fixes a problem when the DHCP client runs in a VM, the DHCP server runs on the host serving the VM and the network interface supports transmit checksum offloading. Since dhclient doesn't use UDP sockets but bpf devices to read the packets, the checksum will be incorrect and only contain the checksum of the pseudo header. PR: 263229 Reviewed by: markj, Timo Völker Tested by: danilo Differential Revision: https://reviews.freebsd.org/D52394 (cherry picked from commit 187ee62c71f2be62870f26ae98de865e330121be) --- sbin/dhclient/packet.c | 53 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/sbin/dhclient/packet.c b/sbin/dhclient/packet.c index 3d7390c06ee0..fc0305a8cb0c 100644 --- a/sbin/dhclient/packet.c +++ b/sbin/dhclient/packet.c @@ -135,11 +135,14 @@ assemble_udp_ip_header(unsigned char *buf, int *bufix, u_int32_t from, udp.uh_ulen = htons(sizeof(udp) + len); memset(&udp.uh_sum, 0, sizeof(udp.uh_sum)); - udp.uh_sum = wrapsum(checksum((unsigned char *)&udp, sizeof(udp), - checksum(data, len, checksum((unsigned char *)&ip.ip_src, + udp.uh_sum = wrapsum(checksum(data, len, checksum((unsigned char *)&udp, + sizeof(udp), checksum((unsigned char *)&ip.ip_src, 2 * sizeof(ip.ip_src), IPPROTO_UDP + (u_int32_t)ntohs(udp.uh_ulen))))); + if (udp.uh_sum == htons(0)) + udp.uh_sum = htons(0xffff); + memcpy(&buf[*bufix], &udp, sizeof(udp)); *bufix += sizeof(udp); } @@ -166,7 +169,7 @@ decode_udp_ip_header(unsigned char *buf, int bufix, struct sockaddr_in *from, struct ip *ip; struct udphdr *udp; u_int32_t ip_len = (buf[bufix] & 0xf) << 2; - u_int32_t sum, usum; + u_int32_t sum, usum, pseudo_sum; static int ip_packets_seen; static int ip_packets_bad_checksum; static int udp_packets_seen; @@ -224,23 +227,37 @@ decode_udp_ip_header(unsigned char *buf, int bufix, struct sockaddr_in *from, } usum = udp->uh_sum; - udp->uh_sum = 0; - - sum = wrapsum(checksum((unsigned char *)udp, sizeof(*udp), - checksum(data, len, checksum((unsigned char *)&ip->ip_src, - 2 * sizeof(ip->ip_src), - IPPROTO_UDP + (u_int32_t)ntohs(udp->uh_ulen))))); - udp_packets_seen++; - if (usum && usum != sum) { - udp_packets_bad_checksum++; - if (udp_packets_seen > 4 && udp_packets_bad_checksum != 0 && - (udp_packets_seen / udp_packets_bad_checksum) < 2) { - note("%d bad udp checksums in %d packets", - udp_packets_bad_checksum, udp_packets_seen); - udp_packets_seen = udp_packets_bad_checksum = 0; + + if (usum != htons(0)) { + udp->uh_sum = 0; + + pseudo_sum = checksum((unsigned char *)&ip->ip_src, + 2 * sizeof(ip->ip_src), + IPPROTO_UDP + (u_int32_t)ntohs(udp->uh_ulen)); + sum = wrapsum(checksum(data, len, + checksum((unsigned char *)udp, sizeof(*udp), pseudo_sum))); + if (sum == htons(0)) + sum = htons(0xffff); + + /* + * In addition to accepting UDP packets with the correct + * checksum in the checksum field, accept also the ones which + * have the correct pseudo header checksum in the checksum + * field. This allows to process UDP packets, which have been + * marked for transmit checksum offloading by the sender side. + */ + if (usum != sum && usum != htons(pseudo_sum & 0x0000ffff)) { + udp_packets_bad_checksum++; + if (udp_packets_seen > 4 && + udp_packets_bad_checksum != 0 && + (udp_packets_seen / udp_packets_bad_checksum) < 2) { + note("%d bad udp checksums in %d packets", + udp_packets_bad_checksum, udp_packets_seen); + udp_packets_seen = udp_packets_bad_checksum = 0; + } + return (-1); } - return (-1); } memcpy(&from->sin_port, &udp->uh_sport, sizeof(udp->uh_sport)); From nobody Sun Sep 14 20:27:26 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cQ08H3T7Sz67Qk3; Sun, 14 Sep 2025 20:27: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cQ08H0914z412B; Sun, 14 Sep 2025 20:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757881647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuYp/cNwQ7Vk8+xjUlfAEAcSPJv7FYrCwqhF0R0dRdM=; b=B+d36hsizLyOSDKmxldny/k2CD6GoTxgcBHa9JSNRaQOAnB3vPXfDmLy8M34BH3ejnnegv fB92OW+Xe5mHpQlf+us6DNl0AZFvfdHbQwzrgLyz1QCvoqksHhMcKUkwdt1qOxDF1ThDdU lpeHCY+TnPw+ppZlQTi2DYbPsmVVspa05fM3IXOLC12MEowqeg8YV1j+b6tUO34SpZ8qeZ Rf+WOQRBwEgYDaXnlTUhnkD1yU9GrwuoI575FNs4+2oURNjQDlNubTgX2oSActc+WMWznZ RnB9ozIcmG51OemePrjdj6bmpQ4vC+TVF9xVoeeBLlzAnpxvlERCwvA++X+xsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757881647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuYp/cNwQ7Vk8+xjUlfAEAcSPJv7FYrCwqhF0R0dRdM=; b=meso/0ezgxAKxCZWoBtlmyjGxH2E7lc3QEImFY8C3pPNH79WiY4Zc1Ez3HCd1EdV4b7miW wNcduqtKVLILbOZsgPEMiHTiwaw94VKKOgobSlsDseoB8gojcIQmYpy2qaHK6Paq7whQhe c5FWs1XgHvCufnvj4El3yaxosuo5QHAwCvK3CsyV7ZAPcX55c0XPgbCMzuHKy9NAPla1GV erFz2thaecg/N9+3Q8FYGdBGKh8BBzSptYf3xwHtT2+FOvbFvw9sgJbK0RCAeDvKCFl7Xk OgWYIRrtwPq74ETjip3/Neak8DF/bFsXR12aCqYGR0ZbSAAmqfX3jJ4z1A9z7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757881647; a=rsa-sha256; cv=none; b=IBGndIxfAgLUjysLJGoR5F9DLv6tGfGNvx1kNeGk8knf7Y75/1g0B/YZX3Nrey6ChFXPFy PoAU0glJp/Gd5YN0UhDBAmW17XO1MvQBa1DBZyOJh4/kDP9HKnGvVfnmGpV903NagZBy8d FXhoU0B4BwHLi1LNUc52Cffm9iK0350bcHwAhGQ+2uPhZNEyEKFAd39jan9Ohzfr5CBQK1 2RgGWf5QENyiTOVtalZb5dYATopKMMqM6zWiwl2EkoydU3ffn2Isrte9JE470pS0FaP/W1 Ebg7DyBXfZF7xn0RZhG+0EVORt+yMbT/Fqb0iHUydmuIvIci1R7Ma1p1B6AD3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cQ08G6gG5z8Q0; Sun, 14 Sep 2025 20:27:26 +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 58EKRQfe086158; Sun, 14 Sep 2025 20:27:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EKRQ6e086155; Sun, 14 Sep 2025 20:27:26 GMT (envelope-from git) Date: Sun, 14 Sep 2025 20:27:26 GMT Message-Id: <202509142027.58EKRQ6e086155@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ba719442970c - stable/15 - tcp: minor cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ba719442970cc425aeff3fb394fb22af851b4c99 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ba719442970cc425aeff3fb394fb22af851b4c99 commit ba719442970cc425aeff3fb394fb22af851b4c99 Author: Michael Tuexen AuthorDate: 2025-09-10 19:46:24 +0000 Commit: Michael Tuexen CommitDate: 2025-09-14 20:16:42 +0000 tcp: minor cleanup No functional change intended. Sponsored by: Netflix, Inc. (cherry picked from commit c3d5387a7bd814a6c341902c29a3f8aaa956fadb) --- sys/netinet/tcp_subr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 2e039ebbfdd2..cc83a21773a8 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -645,14 +645,14 @@ out: static int sysctl_net_inet_default_tcp_functions(SYSCTL_HANDLER_ARGS) { - int error = ENOENT; struct tcp_function_set fs; struct tcp_function_block *blk; + int error; - memset(&fs, 0, sizeof(fs)); + memset(&fs, 0, sizeof(struct tcp_function_set)); rw_rlock(&tcp_function_lock); blk = find_tcp_fb_locked(V_tcp_func_set_ptr, NULL); - if (blk) { + if (blk != NULL) { /* Found him */ strcpy(fs.function_set_name, blk->tfb_tcp_block_name); fs.pcbcnt = blk->tfb_refcnt; From nobody Sun Sep 14 20:34:41 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cQ0Jd6MVlz67RJ1; Sun, 14 Sep 2025 20:34: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cQ0Jd5ltcz41Yp; Sun, 14 Sep 2025 20:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757882081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95LLemNUR3EW+eJ8xuug5hf1xKGRQTjKPR1s4bexHSk=; b=mhgjKM1XPTvs/+UeTXmqC0Xv4z3ZWoi4x4kZPOtgUp4QJaT4bWFsiWHBtH+r5KKc4UsEQq Y9gVxaWDVYPOkxQql+wIIok/IvnO0k/DYCqNDrI/SsSL7XvUw+SmE40++n7O0ALH+YyP5b 2eV7HScDBpyhj/5az3UtDM+X/xGMK+W5wM+3IJ2qA0A3lmyu+V19sxSlE+cgAOTaFDLh2r py5CgOzqv/2DiBG+jyy1hlh4oVy0POOPFiKp6BqQE7VJMQOXiEfyMwN/uLjc6oMIqbW2ZC Yk/qkTPKxd1Sq/XSXbxN1Yrm1gvKGycsGImFqdT/DYHPUkD1aFF7wjk8Zht3Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757882081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95LLemNUR3EW+eJ8xuug5hf1xKGRQTjKPR1s4bexHSk=; b=D8UZUFh8OvedrvR3o+8vdxq1CsNAFdNYHEtDRjSB//7K0Qh7yvCmlQzxYEdl1clOyMS1O5 kcvDw6RcljF0I+EDGa/EzmLPSpxlsRPCDW6/x+LsmRkFRampkGATF21bBxWMylPimDmRiS pJJ9/8zGvmld8Q3vXPO+JJAhlmciOqE9kqvhShbJVh/sbVmbKXEuLjW6I7DwJLORv7pwiq 0eQq/nhD2eElsfOqWv1n5OUDOrALxoTidXJbK0D+GRIIlmZdiWkKBPTr3e1Cmf7QuaMo5P xPtPAEHT0k11fbuqVIJwCXSdNoP1My/CxUIkGUJMHRPsc6tAB5uLN+dniYNjjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757882081; a=rsa-sha256; cv=none; b=swYCY9T6aDh/dAkO5CXWxkcLEzkvrvVJKexcC3TR0yVtkp2PiC1G3SJV/PxO8LPqgre+NI I9NUSNQJ6HLkUnh3MESDWO6UXIc5E/BvBo38AGkCRbqJJ4DFa2Lt74lV2LiQBzUQ9+L2Vv /Wz+AQXcFysd6vj5tE1yn9vlmioUcFq8LGjjuRcGSagZVvPMAB7veXbdj3WZIKCWgj8zfJ Gvv+Ognegc0tjFLobYRUEDxIRcI3DhVx8RDXFHqpu1EpEZ68TA3b14KUazKdt7qRGHNQUg W6//5j8aWagETkMmAZj419jzSoyFXR08IIm1+tPlAWup7ddorbvFF/GGxe5VNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cQ0Jd5KT7z8hJ; Sun, 14 Sep 2025 20:34:41 +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 58EKYfMJ003347; Sun, 14 Sep 2025 20:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EKYfB7003344; Sun, 14 Sep 2025 20:34:41 GMT (envelope-from git) Date: Sun, 14 Sep 2025 20:34:41 GMT Message-Id: <202509142034.58EKYfB7003344@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ffd956a3918c - stable/14 - dhclient: improve UDP checksum handling List-Id: Commits to the stable branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ffd956a3918cd5e64c8850eb77247428a29f7221 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ffd956a3918cd5e64c8850eb77247428a29f7221 commit ffd956a3918cd5e64c8850eb77247428a29f7221 Author: Michael Tuexen AuthorDate: 2025-09-10 15:13:35 +0000 Commit: Michael Tuexen CommitDate: 2025-09-14 20:33:24 +0000 dhclient: improve UDP checksum handling When sending UDP packets: * compute the checksum in the correct order. This only has an impact if the length of the payload is odd. * don't send packet with a checksum of zero, use 0xffff instead as required. When receiving UDP packets: * don't do any computations when the checksum is zero. * compute the checksum in the correct order. This only has an impact if the length of the payload is odd. * when computing the checksum, store the pseudo header checksum * if the checksum is computed as zero, use 0xffff instead. * also accept packets, when the checksum in the packet is the pseudo header checksum. The last point fixes a problem when the DHCP client runs in a VM, the DHCP server runs on the host serving the VM and the network interface supports transmit checksum offloading. Since dhclient doesn't use UDP sockets but bpf devices to read the packets, the checksum will be incorrect and only contain the checksum of the pseudo header. PR: 263229 Reviewed by: markj, Timo Völker Tested by: danilo Differential Revision: https://reviews.freebsd.org/D52394 (cherry picked from commit 187ee62c71f2be62870f26ae98de865e330121be) --- sbin/dhclient/packet.c | 53 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/sbin/dhclient/packet.c b/sbin/dhclient/packet.c index 3d7390c06ee0..fc0305a8cb0c 100644 --- a/sbin/dhclient/packet.c +++ b/sbin/dhclient/packet.c @@ -135,11 +135,14 @@ assemble_udp_ip_header(unsigned char *buf, int *bufix, u_int32_t from, udp.uh_ulen = htons(sizeof(udp) + len); memset(&udp.uh_sum, 0, sizeof(udp.uh_sum)); - udp.uh_sum = wrapsum(checksum((unsigned char *)&udp, sizeof(udp), - checksum(data, len, checksum((unsigned char *)&ip.ip_src, + udp.uh_sum = wrapsum(checksum(data, len, checksum((unsigned char *)&udp, + sizeof(udp), checksum((unsigned char *)&ip.ip_src, 2 * sizeof(ip.ip_src), IPPROTO_UDP + (u_int32_t)ntohs(udp.uh_ulen))))); + if (udp.uh_sum == htons(0)) + udp.uh_sum = htons(0xffff); + memcpy(&buf[*bufix], &udp, sizeof(udp)); *bufix += sizeof(udp); } @@ -166,7 +169,7 @@ decode_udp_ip_header(unsigned char *buf, int bufix, struct sockaddr_in *from, struct ip *ip; struct udphdr *udp; u_int32_t ip_len = (buf[bufix] & 0xf) << 2; - u_int32_t sum, usum; + u_int32_t sum, usum, pseudo_sum; static int ip_packets_seen; static int ip_packets_bad_checksum; static int udp_packets_seen; @@ -224,23 +227,37 @@ decode_udp_ip_header(unsigned char *buf, int bufix, struct sockaddr_in *from, } usum = udp->uh_sum; - udp->uh_sum = 0; - - sum = wrapsum(checksum((unsigned char *)udp, sizeof(*udp), - checksum(data, len, checksum((unsigned char *)&ip->ip_src, - 2 * sizeof(ip->ip_src), - IPPROTO_UDP + (u_int32_t)ntohs(udp->uh_ulen))))); - udp_packets_seen++; - if (usum && usum != sum) { - udp_packets_bad_checksum++; - if (udp_packets_seen > 4 && udp_packets_bad_checksum != 0 && - (udp_packets_seen / udp_packets_bad_checksum) < 2) { - note("%d bad udp checksums in %d packets", - udp_packets_bad_checksum, udp_packets_seen); - udp_packets_seen = udp_packets_bad_checksum = 0; + + if (usum != htons(0)) { + udp->uh_sum = 0; + + pseudo_sum = checksum((unsigned char *)&ip->ip_src, + 2 * sizeof(ip->ip_src), + IPPROTO_UDP + (u_int32_t)ntohs(udp->uh_ulen)); + sum = wrapsum(checksum(data, len, + checksum((unsigned char *)udp, sizeof(*udp), pseudo_sum))); + if (sum == htons(0)) + sum = htons(0xffff); + + /* + * In addition to accepting UDP packets with the correct + * checksum in the checksum field, accept also the ones which + * have the correct pseudo header checksum in the checksum + * field. This allows to process UDP packets, which have been + * marked for transmit checksum offloading by the sender side. + */ + if (usum != sum && usum != htons(pseudo_sum & 0x0000ffff)) { + udp_packets_bad_checksum++; + if (udp_packets_seen > 4 && + udp_packets_bad_checksum != 0 && + (udp_packets_seen / udp_packets_bad_checksum) < 2) { + note("%d bad udp checksums in %d packets", + udp_packets_bad_checksum, udp_packets_seen); + udp_packets_seen = udp_packets_bad_checksum = 0; + } + return (-1); } - return (-1); } memcpy(&from->sin_port, &udp->uh_sport, sizeof(udp->uh_sport)); From nobody Sun Sep 14 20:35:36 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cQ0Kh59j3z67RJC; Sun, 14 Sep 2025 20:35: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cQ0Kh3XPYz42RN; Sun, 14 Sep 2025 20:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757882136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CP/qQcgdLAZiu59vLIRVRekyUk7oasu0VqDBLBlQkII=; b=H6t2n5JQrObb9F+CSVI8Rdh4XhV5RfZpx9f3BxSxLfO8PutyKEWrRDA9L9MxG+BoEAKhaZ LaZRDuRc3V7ssMpiSshpt8IQMdQU5WUXfhJN+2VqT+HLk5YhDTaL1Zc9SKUeMTkTaddesa S4RSNmjP2JL7HVjE1bVohXvQo1DO4Q3vnCvFCXqq488jiOxTNeSU4t0I06NQ4jVOLiTco6 +w+DQLOY60ulojF+OBg5ELwouBVeIut+gsrnxprgzjzi0oMNr+0rIDrJ156uJKiXXQ8QJK ROgp0lORo1UtuiFMBZJATJQwRwo050XKs8v8ha688D/5SE6Rzs3Viw3eedOmSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757882136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CP/qQcgdLAZiu59vLIRVRekyUk7oasu0VqDBLBlQkII=; b=xCDx69oonqkMM9dzO2d6sPdIpLY7/KomxKTpxJQ38ejAHoqMs9KLaKNkiPJEVUmZ/WOxw7 FUmnYr7nrZ+YPkGTomdQDFvJD6P5QiZvAXovDwaDaCyvgtD9OKBlOTropgjT3OMFcGLcSv GDVVeGZ5Kkcr3BxEkrPkwyycWsKqC3g4wHUVWfKM0XEI7UOAm5jZqWHZHLXngcFp198pyT cFyx6Xpf6/w4PrTD40H72XN0ZQoLVP2WC2r18FRRIzBEp2PEcndq7bhqOZ7NehHDK+I2Ey m+QvUb5p/6moRUFZooy4I7u2m1goo8Tef08k+8awZiOsT0h4rztVHQY/82eVew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757882136; a=rsa-sha256; cv=none; b=ZcCFmNbp185v9akwLhxafb/fKvJ3uzTXsOO1XebuIZ6bYEz0MdNwE8rBVRV5GxujLBDvEx 3xYsLbU74GFX4oYBzSx/AyNJ691skae4cW7ZrNobJWJEEk06+HMffC84Xfw2CLZ8GGexRw mDfXxTW17QLnr8GzQlffsZLUZUSPrL3zO4NZ10uqc2+jA1IjLqO362XS3SVkZnMjqcux6W rO+eLwIDrd3FMGI65TJHm/+IlEt0wBrkWNwrLAsBMdYzHaDmezZpPe0CM1eZqOvTmIt4JD nB6X4pNJgKD0eHheZ27/1+SPMYeMvrkBJa7nQjJtUio3pFMM6+KUL2pALBorAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cQ0Kh37xLz8Nl; Sun, 14 Sep 2025 20:35: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 58EKZag5003688; Sun, 14 Sep 2025 20:35:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58EKZaNj003685; Sun, 14 Sep 2025 20:35:36 GMT (envelope-from git) Date: Sun, 14 Sep 2025 20:35:36 GMT Message-Id: <202509142035.58EKZaNj003685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 9c390bd8829c - stable/14 - tcp: minor cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9c390bd8829cef80ed276870e1117a93e8e9dfef Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9c390bd8829cef80ed276870e1117a93e8e9dfef commit 9c390bd8829cef80ed276870e1117a93e8e9dfef Author: Michael Tuexen AuthorDate: 2025-09-10 19:46:24 +0000 Commit: Michael Tuexen CommitDate: 2025-09-14 20:35:02 +0000 tcp: minor cleanup No functional change intended. Sponsored by: Netflix, Inc. (cherry picked from commit c3d5387a7bd814a6c341902c29a3f8aaa956fadb) --- sys/netinet/tcp_subr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 6a9a4635cee7..4a270ed07d08 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -692,14 +692,14 @@ out: static int sysctl_net_inet_default_tcp_functions(SYSCTL_HANDLER_ARGS) { - int error = ENOENT; struct tcp_function_set fs; struct tcp_function_block *blk; + int error; - memset(&fs, 0, sizeof(fs)); + memset(&fs, 0, sizeof(struct tcp_function_set)); rw_rlock(&tcp_function_lock); blk = find_tcp_fb_locked(V_tcp_func_set_ptr, NULL); - if (blk) { + if (blk != NULL) { /* Found him */ strcpy(fs.function_set_name, blk->tfb_tcp_block_name); fs.pcbcnt = blk->tfb_refcnt;