From nobody Sat Sep 2 20:57:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RdRzz39kdz4sD1F; Sat, 2 Sep 2023 20:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RdRzz2cHWz4MLt; Sat, 2 Sep 2023 20:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693688255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jY+/T7fLBemyOFb2oqgfOfzF1kQOHKklJKrsX7Mg/RU=; b=Q/erAwDkJ7P2UR+bDVuPgRo8LHFGjBY0c3YnvF7KKFTY8NUGeENquzOex4wuZnQq6FTN5N Mgfc/P/NMw6fll8YkrEIYURxn/VVE4VXhgV3a6SNRuNKIEdvxCSiD081hI3pT4ZJQX374q 2cPtQTp9yfPHP36HmoAD6Yw6DkluP0ArZdZvA8KT3Ct7vSdvgcb5KlrDnV4A0nebAINYcK 6RxI3mFc1Gb39BFsLKsJ/eIUqQAVoIMzawvNQtBho3OAQZv/V4T8dKIoi1lXiBchbs+BjY hlZUQMI/psuw7/MlU1hkEOqmlL4wURp60Zw3os3oX+auc1Agm5m+qlwH5/C59w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693688255; a=rsa-sha256; cv=none; b=hOF2jFf7k7z/EW+aj9l7XoduN4mcICfEX4mhT80K6lHJQUm0qDp9FCAvFnZj8lGziKgiLH POGIhCjbfD5O1yzN3suhXDMkye3hccPKIugX/aWmr790/BaFxJ+0EKRqQh89021HWXypvG RJ90i54uKPzseGS0Mg7lkca/kN+sPEBge5qhwM6N86q1JfZHxylnlglcE5gCJ5CG4WRxfp l6G+2PXbktYs0Rbfbp8uK1Fn5yuixt2XuSlFicS9i59PB3nVfn0tZ06i6WfEXkW/dYK5uE zDXU4L5zy/IZFPCnDvS6hq6R2hrwjt6f/E6dBT8ROQ6GrY7Pl7K8v3luRdrAJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693688255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jY+/T7fLBemyOFb2oqgfOfzF1kQOHKklJKrsX7Mg/RU=; b=RRhNTMd3cMdzxwQicP+gJJH+HlBd0U8/LF8s4cLmQTvF4bE3BXqlyeTaw25BLVmc8FGbnD AUR9IJttms5XPgA/3+SJM5NJpeXuw1KklvXJp9wKmWqCfatMJ9nkmMRwLUZdiF+CqwyI+c 1aow7IUFKedcK37MVOHoZneRf7MY45jtLpOtvTD2NB+ZwLNMgTG27m5n8VQ4sf4jcCyUUe udW2DN5D/zha3GMILMUsxMPHLw+GGAtifWvQj/wIlBsWkV6MZfVM9nVvandaPXET/OEMBf 0PqAgmrFQqJnl8fTIub2COt3xFpvj0yyGzP95txBEz3XuL1VK999UeIQiUxn4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RdRzz1gbnzxVw; Sat, 2 Sep 2023 20:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 382KvZs8057020; Sat, 2 Sep 2023 20:57:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 382KvZ7N057017; Sat, 2 Sep 2023 20:57:35 GMT (envelope-from git) Date: Sat, 2 Sep 2023 20:57:35 GMT Message-Id: <202309022057.382KvZ7N057017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: ac77837ca758 - main - dtsec(4): Restore IFCAP_JUMBO_MTU lost in IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac77837ca7583221f5ef2d63235fd19ac9c571f7 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ac77837ca7583221f5ef2d63235fd19ac9c571f7 commit ac77837ca7583221f5ef2d63235fd19ac9c571f7 Author: Justin Hibbits AuthorDate: 2023-09-02 20:52:30 +0000 Commit: Justin Hibbits CommitDate: 2023-09-02 20:59:09 +0000 dtsec(4): Restore IFCAP_JUMBO_MTU lost in IfAPI conversion Also add IFCAP_VLAN_MTU, since it's supported. Fixes: 0083fc5c7 ("Mechanically convert dtsec(4) to IfAPI") MFC after: 1 week --- sys/dev/dpaa/if_dtsec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/dpaa/if_dtsec.c b/sys/dev/dpaa/if_dtsec.c index de5ca75c9a77..73272e1af79e 100644 --- a/sys/dev/dpaa/if_dtsec.c +++ b/sys/dev/dpaa/if_dtsec.c @@ -735,6 +735,7 @@ dtsec_attach(device_t dev) if_setsendqready(ifp); #endif + if_setcapabilities(ifp, IFCAP_JUMBO_MTU | IFCAP_VLAN_MTU); if_setcapenable(ifp, if_getcapabilities(ifp)); /* Attach PHY(s) */ From nobody Sun Sep 3 05:22:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RdgBd1jC8z4rFTR; Sun, 3 Sep 2023 05:22:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RdgBc6VRPz4bGK; Sun, 3 Sep 2023 05:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693718552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DjEjJF820xtsjcMJEGVrhS61KpK7pStbq7wGRpEXZ4M=; b=mELV00SqcaLLpHCD8Qip/UZr1R7b1myDptEDe8nZzVuxMn3jsqwjHvYWUAuVKnXivrW5Nz zLfpYlYymChHR8St5jJoqRcOOC0uXFeIK9aXcanyWRQIdsD4735L0B7kJM8S9x6WtQOKhj KVU1jSfwYiUXuN+hOTIfQ5P3r+41VRmQkitLp1EcNKOQzZeYGWYDAMrplABQDJ/WTugNxZ KEEHewwHm4COI1vqFxQYNoYhbAvywgG/t2pWTBkhqESBcpvbgwxeQIiNic8kLvzjUSMD0e Bp3GZEwJMSyBf3cjCLGqeAKGj58Ryzs+JWuNR7gtm3nNMPI3HVBCOIzJwKYQXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693718552; a=rsa-sha256; cv=none; b=LsRNmmQZIoxj8MjS3JP7tX6gScDLFLEK9EGOn7OZxX6XwJp+a/vQb2evgxu0ZkomuawO3s womg9JKNz4gpVbimHwIigTzULiR+1MTCU2lFG13x7wlKeFZN/T4Co60kRUJgfl7dud2Aeq 8Ty51PsUgZcLovSNijiHX6i2LTmOVzYH2In6Zw+pWnIOzcctDTRJzwkWpJG9lzClNeYVrr i4DihM+FNowvwqfIfykO9AD0pN5LeYqYQ5/paDrychBFEFutpgpDH87ur1JGTXa4VMC2bW LgwVHcR5cAgReYI+3HXgmJemOWkbkCGmI/mv9/eWGJK5wtQgm0SBU3fO6tE9dA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693718552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DjEjJF820xtsjcMJEGVrhS61KpK7pStbq7wGRpEXZ4M=; b=kHiTrpRgZ/ZQa9y8l7oYMFwezgE8XETY5ia+6ImAZttM9F65l0FVmOtJFdt2J/WPcxfYzG JD9FbvIcLWnQF2VIg9Pn/T5LItbkHIauzQBrHZlL3wnT+vn57Cgv4MsFD302sCIv8t1tR1 VzyYZ+lpk424+1GdFXVpW4xhlKOELK6NZEW5sY2u9E4wM5OrPXtsJeyFyXJ8d5s7qGTMBn YZcjfdZJwfd7SMA6V8y5jfGVH50Fzoyz+aMITPIMm/g6KXtad9zmddfe+ORzUxJD6FpjEP AeGwIWlclEaEXeVsdVjH/S7Yy9/Z5PVGp7yQ/8mDegrbW2k4UQQj0+rK67md5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RdgBc5bPVz1C5y; Sun, 3 Sep 2023 05:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3835MWDF099985; Sun, 3 Sep 2023 05:22:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3835MWi8099982; Sun, 3 Sep 2023 05:22:32 GMT (envelope-from git) Date: Sun, 3 Sep 2023 05:22:32 GMT Message-Id: <202309030522.3835MWi8099982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ea70866bb15d - main - kern_kthread.c: some style List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea70866bb15dd707c1a6a729c44e5ae611c83dd1 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ea70866bb15dd707c1a6a729c44e5ae611c83dd1 commit ea70866bb15dd707c1a6a729c44e5ae611c83dd1 Author: Konstantin Belousov AuthorDate: 2023-09-02 07:05:49 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-03 05:21:44 +0000 kern_kthread.c: some style Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41694 --- sys/kern/kern_kthread.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index bf481cafc72e..3604d63531da 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -63,7 +63,7 @@ kproc_start(const void *udata) int error; error = kproc_create((void (*)(void *))kp->func, NULL, - kp->global_procpp, 0, 0, "%s", kp->arg0); + kp->global_procpp, 0, 0, "%s", kp->arg0); if (error) panic("kproc_start: %s: error %d", kp->arg0, error); } @@ -97,8 +97,8 @@ kproc_create(void (*func)(void *), void *arg, fr.fr_pages = pages; fr.fr_procp = &p2; error = fork1(&thread0, &fr); - if (error) - return error; + if (error != 0) + return (error); /* save a global descriptor, if desired */ if (newpp != NULL) @@ -134,12 +134,12 @@ kproc_create(void (*func)(void *), void *arg, sched_user_prio(td, PUSER); /* Delay putting it on the run queue until now. */ - if (!(flags & RFSTOPPED)) + if ((flags & RFSTOPPED) == 0) sched_add(td, SRQ_BORING); else thread_unlock(td); - return 0; + return (0); } void @@ -188,7 +188,8 @@ kproc_suspend(struct proc *p, int timo) } SIGADDSET(p->p_siglist, SIGSTOP); wakeup(p); - return msleep(&p->p_siglist, &p->p_mtx, PPAUSE | PDROP, "suspkp", timo); + return (msleep(&p->p_siglist, &p->p_mtx, PPAUSE | PDROP, + "suspkp", timo)); } int @@ -230,11 +231,11 @@ kproc_suspend_check(struct proc *p) void kthread_start(const void *udata) { - const struct kthread_desc *kp = udata; + const struct kthread_desc *kp = udata; int error; error = kthread_add((void (*)(void *))kp->func, NULL, - NULL, kp->global_threadpp, 0, 0, "%s", kp->arg0); + NULL, kp->global_threadpp, 0, 0, "%s", kp->arg0); if (error) panic("kthread_start: %s: error %d", kp->arg0, error); } @@ -313,13 +314,13 @@ kthread_add(void (*func)(void *), void *arg, struct proc *p, PMC_CALL_HOOK_UNLOCKED(td, PMC_FN_THR_CREATE_LOG, NULL); #endif /* Delay putting it on the run queue until now. */ - if (!(flags & RFSTOPPED)) { + if ((flags & RFSTOPPED) == 0) { thread_lock(newtd); sched_add(newtd, SRQ_BORING); } if (newtdp) *newtdp = newtd; - return 0; + return (0); } void @@ -451,8 +452,8 @@ kthread_suspend_check(void) int kproc_kthread_add(void (*func)(void *), void *arg, - struct proc **procptr, struct thread **tdptr, - int flags, int pages, const char *procname, const char *fmt, ...) + struct proc **procptr, struct thread **tdptr, + int flags, int pages, const char *procname, const char *fmt, ...) { int error; va_list ap; @@ -461,7 +462,7 @@ kproc_kthread_add(void (*func)(void *), void *arg, if (*procptr == NULL) { error = kproc_create(func, arg, - procptr, flags, pages, "%s", procname); + procptr, flags, pages, "%s", procname); if (error) return (error); td = FIRST_THREAD_IN_PROC(*procptr); @@ -479,6 +480,6 @@ kproc_kthread_add(void (*func)(void *), void *arg, vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); error = kthread_add(func, arg, *procptr, - tdptr, flags, pages, "%s", buf); + tdptr, flags, pages, "%s", buf); return (error); } From nobody Sun Sep 3 05:22:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RdgBf2QGpz4rFY8; Sun, 3 Sep 2023 05:22:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RdgBf0Rrlz4bff; Sun, 3 Sep 2023 05:22:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693718554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CbTopMa7VKH6zBADC+luHWBG96O0OgRxM2arc5RFLs4=; b=q1TmqciaXUPB+bBjLfaYLQLLQlxhU09fjfoVqSqZJ13e5xDzlnknA6WbjhEz5dcUrVdQVZ auxo1tZh3QxoK9xEAlijnTpqoXXqb5jGjTsnBsRD6/gpOV7jhLb9P1FMUZsvdEGNJNPmd3 flW3xqAijkhWIEIt0G02qJxaqNgJDhw+gSDdMgS/bZjEhb4EwY0PEwlNdbmAU+LDT2aFa/ BXj8j/Jy5dTGDLuKE8Pf26bkGDdebk24BF6TwZXcHGPFYnOuuQXRqBwhkLaf+JT4Oxkdj8 5LOnZDaW1oS+tB1jJ21eDxYd8xpsIdo7h2vVL97F/fnWF7j2nnsQzOOYuuRsAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693718554; a=rsa-sha256; cv=none; b=Ic8/wUAJ96AvBcmuA5xXEiOq22RRjJ4McC6ydIh5Sg10sREji78oEUvaOX5jh+zwbwyHHU 4K+ltuPhbRsO3SnDocxm3PT86vXU+1D/QSYHP0NTqc2baIkImCryPe3SGEWy7SDblmMgJq pKCeYTe7s9V2BEcdj4EZs9kUSUWBHyI3/zwc5PSX7FZyk0u/8iBo5kLoha1b07YNUIxpfF hsHhk8VLpoUWl4af9winDkdEQQiwYIOs/HjWLg9b+94JEi2Ua0Y5eiP1dSLeqvrL3ynDu5 EUBpLCSppKKDjPJMMNqgVSov+GzQxDHTu1N09Q5QYT6YhoOO+fkSLfVcMVfmcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693718554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CbTopMa7VKH6zBADC+luHWBG96O0OgRxM2arc5RFLs4=; b=Quyzv+s05BQpZSKcRu/wMbhjByIizV0nzdR7OERKXf84H+sfJp4eEpxKI+nkmqQtdIlU0z 9CCfnB+zYZ3kkLwyhhpNxd8V8/WeI91XglPs92AeI4KEN3tXqtOxdO4yEgOlg6xk/12QPV Dvm+AhGo2+8A2Q+AQBmcAHMUKScThsYiGdyTjAN/CdzQziUg/pHJYRo4DhC+pXuj46S2A8 BIJZRvrfpABTRHstrXonl2nitJNpGM0ATtY8jX7Rw4Tu2H3ZfnQOF32E6wlnJdGoDot3LS 99DJDMumj9rPXXGBSWVNo0Xdocd0kcYL2vZnALHfvxbarEF2bne/MJi20lZkNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RdgBd6c3zz1BsD; Sun, 3 Sep 2023 05:22:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3835MXbM000058; Sun, 3 Sep 2023 05:22:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3835MX7T000055; Sun, 3 Sep 2023 05:22:33 GMT (envelope-from git) Date: Sun, 3 Sep 2023 05:22:33 GMT Message-Id: <202309030522.3835MX7T000055@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 525bc87f54f2 - main - kern_kthread: fork1() does not handle locked Giant List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 525bc87f54f288793a95abbcd0a845efddb8c41b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=525bc87f54f288793a95abbcd0a845efddb8c41b commit 525bc87f54f288793a95abbcd0a845efddb8c41b Author: Konstantin Belousov AuthorDate: 2023-09-02 07:16:48 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-03 05:21:53 +0000 kern_kthread: fork1() does not handle locked Giant fork1() does not behave if called under Giant. For instance, it might need to call thread_suspend_check() which explicitly verifies that Giant is not locked. On the other hand, the kthread KPI is often called from SYSINIT() which is still Giant-locked. Correct this by dropping Giant in kthread_add() and kproc_create(). Reported by: pho Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41694 --- sys/kern/kern_kthread.c | 60 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index 3604d63531da..5e32aea1f56d 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -78,13 +78,12 @@ kproc_start(const void *udata) * flags are flags to fork1 (in unistd.h) * fmt and following will be *printf'd into (*newpp)->p_comm (for ps, etc.). */ -int -kproc_create(void (*func)(void *), void *arg, - struct proc **newpp, int flags, int pages, const char *fmt, ...) +static int +kproc_create1(void (*func)(void *), void *arg, + struct proc **newpp, int flags, int pages, const char *tdname) { struct fork_req fr; int error; - va_list ap; struct thread *td; struct proc *p2; @@ -105,13 +104,9 @@ kproc_create(void (*func)(void *), void *arg, *newpp = p2; /* set up arg0 for 'ps', et al */ - va_start(ap, fmt); - vsnprintf(p2->p_comm, sizeof(p2->p_comm), fmt, ap); - va_end(ap); + strcpy(p2->p_comm, tdname); td = FIRST_THREAD_IN_PROC(p2); - va_start(ap, fmt); - vsnprintf(td->td_name, sizeof(td->td_name), fmt, ap); - va_end(ap); + strcpy(td->td_name, tdname); #ifdef KTR sched_clear_tdname(td); #endif @@ -142,6 +137,23 @@ kproc_create(void (*func)(void *), void *arg, return (0); } +int +kproc_create(void (*func)(void *), void *arg, + struct proc **newpp, int flags, int pages, const char *fmt, ...) +{ + va_list ap; + int error; + char tdname[MAXCOMLEN + 1]; + + va_start(ap, fmt); + vsnprintf(tdname, sizeof(tdname), fmt, ap); + va_end(ap); + DROP_GIANT(); + error = kproc_create1(func, arg, newpp, flags, pages, tdname); + PICKUP_GIANT(); + return (error); +} + void kproc_exit(int ecode) { @@ -250,11 +262,10 @@ kthread_start(const void *udata) * ** XXX fix this --> flags are flags to fork1 (in unistd.h) * fmt and following will be *printf'd into (*newtd)->td_name (for ps, etc.). */ -int -kthread_add(void (*func)(void *), void *arg, struct proc *p, - struct thread **newtdp, int flags, int pages, const char *fmt, ...) +static int +kthread_add1(void (*func)(void *), void *arg, struct proc *p, + struct thread **newtdp, int flags, int pages, const char *tdname) { - va_list ap; struct thread *newtd, *oldtd; if (!proc0.p_stats) @@ -278,9 +289,7 @@ kthread_add(void (*func)(void *), void *arg, struct proc *p, __rangeof(struct thread, td_startcopy, td_endcopy)); /* set up arg0 for 'ps', et al */ - va_start(ap, fmt); - vsnprintf(newtd->td_name, sizeof(newtd->td_name), fmt, ap); - va_end(ap); + strcpy(newtd->td_name, tdname); TSTHREAD(newtd, newtd->td_name); @@ -323,6 +332,23 @@ kthread_add(void (*func)(void *), void *arg, struct proc *p, return (0); } +int +kthread_add(void (*func)(void *), void *arg, struct proc *p, + struct thread **newtdp, int flags, int pages, const char *fmt, ...) +{ + va_list ap; + int error; + char tdname[MAXCOMLEN + 1]; + + va_start(ap, fmt); + vsnprintf(tdname, sizeof(tdname), fmt, ap); + va_end(ap); + DROP_GIANT(); + error = kthread_add1(func, arg, p, newtdp, flags, pages, tdname); + PICKUP_GIANT(); + return (error); +} + void kthread_exit(void) { From nobody Sun Sep 3 20:27:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rf3H63gjbz4sMnH; Sun, 3 Sep 2023 20:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rf3H6383Fz4Sm3; Sun, 3 Sep 2023 20:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693772866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wU2kXQaIyYJISr8hjJzqPf7hZgdwCDb5EP8aC8HfQqk=; b=wHqYs4CI3xygx5psuRLiThG0dUGoRz4/QyY2K7j/HSIY6jQeN5WzZLijDzHpBRrw+GlSWu hlx9bNpwMCiLHDdDwtBNfB6sG2e0VyDA9k/FchWPw7dF1JO+HRsVoOk0Ws0Kxk6+13KWKN TdVZ/MVfSvjyat00Hb3FMYn8oQ2P0X2idhMSnjmWXPOTe7r3A4ef81G99L27wmjnZ7MBKr 4TpajJlws1PFxuIGmo0Ge9yPc+M0BTbAQpeoB3zBZO72FflcZIr6nkmnfuqLMThAsZBS0N 1L6M6B79OAG9Vz+eUrfwrljiYrjPZbDoqMzZ1rD5B7Heuu3q+4TGv4WCswOCYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693772866; a=rsa-sha256; cv=none; b=Z9kK1Ol2zAgvgGn/JUta6BVr5+IO7wTU+KPtGLsT/aOQkttNHGVk5e2PAy2X9K9TgLWs7J 2Hv2w51Q14UecexaV6amVu/mDxUEaFo3oRw+k3AuLcuykNsmtc93yyN/1O+GEFE1mdpPMP SpzSU7BfjjdnE8yafoOEkLQFUqP9esW0P8ILuerBFnxL9kLCYFhFF1f8j4aqRU5Lg9M/Ed Jgxft+Q22YkVi5hxrjFy2KCKbqswuKuf9nOHI6Dd55JctXFEbmVD+mspWcsgjxv1k4lB9K gUWCod3VDoLx7SAG+ZfkexQo+H+syEWi/4pyPdAo2R2Yw7Hh2qeJvgREYR0VNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693772866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wU2kXQaIyYJISr8hjJzqPf7hZgdwCDb5EP8aC8HfQqk=; b=MdJDXg7uP77Q77507rTt1+gr/+jNt3vxg8CFV1fXDttvVD+/v4Hq0AMSpNuvInifL8e6Mr fIDnIYdAkV7fCA3SFf2PbcxpnBFLS62/RwyD8gOIj/5bRerB9F9x7VmArdzV4fM2+mcsE9 e8AKcoDnEL/M72+gr/zMIOWNvOkuZSjxhts9b2g6dXUkXqigB/mGfi+DCiHEb01hd6k8VA 1/Cfz/XX9HioEIzHQQA8CttM/KhFBf5Rz/L2b57a1pxWI4FZ+tuVpHdITpH/wrHbkpwnqK LTKtyz1SMJnnByx6ckPhO/KHxej0noFnjwYFEWqACnJOQ/1YmICQnjJ3Sjc9RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rf3H62Bvgzf3r; Sun, 3 Sep 2023 20:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 383KRkbn089775; Sun, 3 Sep 2023 20:27:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 383KRkcu089772; Sun, 3 Sep 2023 20:27:46 GMT (envelope-from git) Date: Sun, 3 Sep 2023 20:27:46 GMT Message-Id: <202309032027.383KRkcu089772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 45dcc17e2fb8 - main - libpmc: make pmc_pmu_pmcallocate() machine-independent List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 45dcc17e2fb8f0f9838ba167b311f271a08fcea9 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=45dcc17e2fb8f0f9838ba167b311f271a08fcea9 commit 45dcc17e2fb8f0f9838ba167b311f271a08fcea9 Author: Mitchell Horne AuthorDate: 2023-06-19 22:32:22 +0000 Commit: Mitchell Horne CommitDate: 2023-09-03 20:27:05 +0000 libpmc: make pmc_pmu_pmcallocate() machine-independent Have it call the platform-dependent version. For better layering, move the reset logic inside the new function. This is mainly to facilitate an upcoming change. Reviewed by: jkoshy MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40752 --- lib/libpmc/libpmc.c | 5 ----- lib/libpmc/libpmc_pmu_util.c | 34 ++++++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index 71fba89237ff..a7ed1c3d9ac8 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -1091,11 +1091,6 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, assert(pmc_config.pm_ev < PMC_EVENT_FIRST); goto found; } - - /* Otherwise, reset any changes */ - pmc_config.pm_ev = 0; - pmc_config.pm_caps = 0; - pmc_config.pm_class = 0; } free(spec_copy); spec_copy = NULL; diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index a61f81f7d2c7..772dec7a9d53 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -572,8 +572,8 @@ pmc_pmu_intel_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm, return (0); } -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -604,8 +604,8 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #elif defined(__powerpc64__) -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -631,8 +631,8 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #elif defined(__aarch64__) -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -658,9 +658,27 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #else -int -pmc_pmu_pmcallocate(const char *e __unused, struct pmc_op_pmcallocate *p __unused) +static int +pmc_pmu_pmcallocate_md(const char *e __unused, struct pmc_op_pmcallocate *p __unused) { return (EOPNOTSUPP); } #endif + +int +pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +{ + int error; + + error = pmc_pmu_pmcallocate_md(event_name, pm); + if (error != 0) { + /* Reset any changes. */ + pm->pm_ev = 0; + pm->pm_caps = 0; + pm->pm_class = 0; + + return (error); + } + + return (0); +} From nobody Sun Sep 3 20:27:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rf3H75GRjz4sMgK; Sun, 3 Sep 2023 20:27:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rf3H74Q0dz4Stm; Sun, 3 Sep 2023 20:27:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693772867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=knvkC6uNHOf65tZJDy61g4IEAPD0yNh3oW9eBXS+r0I=; b=uTj905h/u1iJCPoL5QYwUU09nNWI8U4QwvuUErIDdhIzsfXztyR0zP1HF3yy2k72ExiDkA Pq94567pwJTptUj73093GtF7HZcz69zBkpenGJR7MthtSah0HG0qI/Zn7dXvLc7QjKtZ3Y whlHItOMpXYEM9//fQ5IWSKUcHXegQFratCsgiT+DRZgQvet7NkXj7Qne7tpTxxdZpiUwK 0DZomAFBqC+WuL7bRUY7wnkDu704cDj2rGkEWXstHIUKE38RA6DSWl7m3F9V9QG4V5I97S BuVDX69qHtVRhlMdgHkJpbOfiQHAksEqZ93tA6++37A5PJltIhvlKAOysGAI1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693772867; a=rsa-sha256; cv=none; b=pI2Ty5UHWAFIMNhPQkdKFXeCum5LnN5XrfSdvRxDqdq84Uw3/qpVOIV1rIUVFGza+iKZGJ AhBTTKppDZlILlp6wOyU/Id6FcivTa6jzQgbDhFdRPz4px5toGFQAp2iu95Ns0uZYOWvLX INlB305Bc9ln3CroY9TQsERNGv8hCmHDU3zMJeO982UElfzarFlsDFOcDQwF7ZfPnsAOor cVI5MXV/Pi+ahtE3Sbc5byBgo0kdRUKb4a+YVh06duxVeml8Gi9QRvJyNT69QGiDXn7RGw TJHey/VG4QYNiLKFtRN/Q/VdpfwI5xduH98MaS3S0lrz++/romTQmUxXatYgdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693772867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=knvkC6uNHOf65tZJDy61g4IEAPD0yNh3oW9eBXS+r0I=; b=bAtDSC3ER7+tfMhnj9vNzqDfBJpqTL9l6s4/rfkkGSG+T1KhhPy9+Oe/QhtOSe2U9dYpuS EjtEi9rsxghFTmVPqpFKtd6L84CVNf3hkUHpMNQlZLiVQiskf/06tc/OcSDUROluJBfM4e 7YHE2Ildkio4hTDOozSK3h/OQ/SA2Z+fBfqSYS//D+Rcjr/tYj5N9lRBv71NwNQ/FOdcnS nbmHERKzeFYsCnILJ7ANTTOB3P22dZOOaK1205SxTpRro30+LfBKMwpbz72QBHFiG+3g5L wc4pM0bOFBJfNHeyKr4bZhxIbs0FN+uPq2ZIJc49ysJEWHeOl7PWvsXKnNdCvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rf3H73CPHzf3s; Sun, 3 Sep 2023 20:27:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 383KRlxG089821; Sun, 3 Sep 2023 20:27:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 383KRlYm089818; Sun, 3 Sep 2023 20:27:47 GMT (envelope-from git) Date: Sun, 3 Sep 2023 20:27:47 GMT Message-Id: <202309032027.383KRlYm089818@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: c190fb35f35c - main - pmc: better distinguish pmu-events allocation path List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c190fb35f35cc163b61e582a49115680b0d49dcc Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=c190fb35f35cc163b61e582a49115680b0d49dcc commit c190fb35f35cc163b61e582a49115680b0d49dcc Author: Mitchell Horne AuthorDate: 2023-06-06 17:26:46 +0000 Commit: Mitchell Horne CommitDate: 2023-09-03 20:27:21 +0000 pmc: better distinguish pmu-events allocation path Background: The pm_ev field of struct pmc_op_pmcallocate and struct pmc traditionally contains the index of the chosen event, corresponding to the __PMC_EVENTS array in pmc_events.h. This is a static list of events, maintained by FreeBSD. In the usual case, libpmc translates the user supplied event name (string) into the pm_ev index, which is passed as an argument to the allocation syscall. On the kernel side, the allocation method for the relevant hwpmc class translates the given index into the event code that will be written to an event selection register. In 2018, a new source of performance event definitions was introduced: the pmu-events json files, which are maintained by the Linux kernel. The result was better coverage for newer Intel processors with a reduced maintenance burden for libpmc/hwpmc. Intel and AMD CPUs were unconditionally switched to allocate events from pmu-events instead of the traditional scheme (959826ca1bb0a, 81eb4dcf9e0d). Under the pmu-events scheme, the pm_ev field contains an index corresponding to the selected event from the pmu-events table, something which the kernel has no knowledge of. The configuration for the performance counting registers is instead passed via class-dependent fields (struct pmc_md_op_pmcallocate). In 2021 I changed the allocation logic so that it would attempt to pull from the pmu-events table first, and fall-back to the traditional method (dfb4fb41166bc3). Later, pmu-events support for arm64 and power8 CPUs was added (28dd6730a5d6 and b48a2770d48b). The problem that remains is that the pm_ev field is overloaded, without a definitive way to determine whether the event allocation came from the pmu-events table or FreeBSD's statically-defined PMC events. This resulted in a recent fix, 21f7397a61f7. Change: To disambiguate these two supported but separate use-cases, add a new flag, PMC_F_EV_PMU, to be set as part of the allocation, indicating that the event index came from pmu-events. This is useful in two ways: 1. On the kernel side, we can validate the syscall arguments better. Some classes support only the traditional event scheme (e.g. hwpmc_armv7), while others support only the pmu-events method (e.g. hwpmc_core for Intel). We can now check for this. The hwpmc_arm64 class supports both methods, so the new flag supersedes the existing MD flag, PM_MD_EVENT_RAW. 2. The flag will be tracked in struct pmc for the duration of its lifetime, meaning it is communicated back to userspace. This allows libpmc to perform the reverse index-to-event-name translation without speculating about the meaning of the index value. Adding the flag is a backwards-incompatible ABI change. We recently bumped the major version of the hwpmc module, so this breakage is acceptable. Reviewed by: jkoshy MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40753 --- lib/libpmc/libpmc.c | 9 +-------- lib/libpmc/libpmc_pmu_util.c | 2 +- lib/libpmc/pmclog.c | 11 +++-------- sys/arm64/include/pmc_mdep.h | 2 -- sys/dev/hwpmc/hwpmc_amd.c | 3 +++ sys/dev/hwpmc/hwpmc_arm64.c | 6 +++--- sys/dev/hwpmc/hwpmc_core.c | 6 ++++++ sys/dev/hwpmc/hwpmc_mod.c | 3 ++- sys/dev/hwpmc/hwpmc_power8.c | 3 +++ sys/dev/hwpmc/hwpmc_uncore.c | 6 ++++++ sys/sys/pmc.h | 8 ++++++++ 11 files changed, 36 insertions(+), 23 deletions(-) diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index a7ed1c3d9ac8..f10a64e28cac 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -1083,14 +1082,8 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, r = spec_copy = strdup(ctrspec); ctrname = strsep(&r, ","); if (pmc_pmu_enabled()) { - if (pmc_pmu_pmcallocate(ctrname, &pmc_config) == 0) { - /* - * XXX: pmclog_get_event exploits this to disambiguate - * PMU from PMC event codes in PMCALLOCATE events. - */ - assert(pmc_config.pm_ev < PMC_EVENT_FIRST); + if (pmc_pmu_pmcallocate(ctrname, &pmc_config) == 0) goto found; - } } free(spec_copy); spec_copy = NULL; diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index 772dec7a9d53..fa2e76e8d026 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -649,7 +649,6 @@ pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) assert(idx >= 0); pm->pm_ev = idx; pm->pm_md.pm_md_config = ped.ped_event; - pm->pm_md.pm_md_flags |= PM_MD_RAW_EVENT; pm->pm_class = PMC_CLASS_ARMV8; pm->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); @@ -680,5 +679,6 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) return (error); } + pm->pm_flags |= PMC_F_EV_PMU; return (0); } diff --git a/lib/libpmc/pmclog.c b/lib/libpmc/pmclog.c index a21fe42c9947..3b1572baaa2c 100644 --- a/lib/libpmc/pmclog.c +++ b/lib/libpmc/pmclog.c @@ -357,15 +357,10 @@ pmclog_get_event(void *cookie, char **data, ssize_t *len, PMCLOG_READ64(le,ev->pl_u.pl_a.pl_rate); /* - * Could be either a PMC event code or a PMU event index; - * assume that their encodings don't overlap (i.e. no PMU event - * table is more than 0x1000 entries) to distinguish them here. - * Otherwise pmc_pmu_event_get_by_idx will go out of bounds if - * given a PMC event code when it knows about that CPU. - * - * XXX: Ideally we'd have user flags to give us that context. + * pl_event could contain either a PMC event code or a PMU + * event index. */ - if (ev->pl_u.pl_a.pl_event < PMC_EVENT_FIRST) + if ((ev->pl_u.pl_a.pl_flags & PMC_F_EV_PMU) != 0) ev->pl_u.pl_a.pl_evname = pmc_pmu_event_get_by_idx(ps->ps_cpuid, ev->pl_u.pl_a.pl_event); diff --git a/sys/arm64/include/pmc_mdep.h b/sys/arm64/include/pmc_mdep.h index 5c43a7924b01..97d0f30c9c09 100644 --- a/sys/arm64/include/pmc_mdep.h +++ b/sys/arm64/include/pmc_mdep.h @@ -45,8 +45,6 @@ union pmc_md_op_pmcallocate { struct { uint32_t pm_md_config; - uint32_t pm_md_flags; -#define PM_MD_RAW_EVENT 0x1 }; struct pmc_md_cmn600_pmu_op_pmcallocate pm_cmn600; struct pmc_md_dmc620_pmu_op_pmcallocate pm_dmc620; diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index b15d223bc7a5..fbbaf92a1547 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -582,6 +582,9 @@ amd_allocate_pmc(int cpu, int ri, struct pmc *pm, if (pd->pd_class != a->pm_class) return EINVAL; + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + caps = pm->pm_caps; PMCDBG2(MDP,ALL,1,"amd-allocate ri=%d caps=0x%x", ri, caps); diff --git a/sys/dev/hwpmc/hwpmc_arm64.c b/sys/dev/hwpmc/hwpmc_arm64.c index 995b7158ac20..9a5debb8016b 100644 --- a/sys/dev/hwpmc/hwpmc_arm64.c +++ b/sys/dev/hwpmc/hwpmc_arm64.c @@ -177,9 +177,9 @@ arm64_allocate_pmc(int cpu, int ri, struct pmc *pm, } pe = a->pm_ev; - /* Adjust the config value if needed. */ - config = a->pm_md.pm_md_config; - if ((a->pm_md.pm_md_flags & PM_MD_RAW_EVENT) == 0) { + if ((a->pm_flags & PMC_F_EV_PMU) != 0) { + config = a->pm_md.pm_md_config; + } else { config = (uint32_t)pe - PMC_EV_ARMV8_FIRST; if (config > (PMC_EV_ARMV8_LAST - PMC_EV_ARMV8_FIRST)) return (EINVAL); diff --git a/sys/dev/hwpmc/hwpmc_core.c b/sys/dev/hwpmc/hwpmc_core.c index 15b875e3af94..3829a03eb729 100644 --- a/sys/dev/hwpmc/hwpmc_core.c +++ b/sys/dev/hwpmc/hwpmc_core.c @@ -239,6 +239,9 @@ iaf_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_IAF) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + iap = &a->pm_md.pm_iap; config = iap->pm_iap_config; ev = IAP_EVSEL_GET(config); @@ -721,6 +724,9 @@ iap_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_IAP) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + iap = &a->pm_md.pm_iap; ev = IAP_EVSEL_GET(iap->pm_iap_config); diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c index de012b74d558..5dd8bc67d60a 100644 --- a/sys/dev/hwpmc/hwpmc_mod.c +++ b/sys/dev/hwpmc/hwpmc_mod.c @@ -3349,7 +3349,8 @@ pmc_do_op_pmcallocate(struct thread *td, struct pmc_op_pmcallocate *pa) * Look for valid values for 'pm_flags'. */ if ((flags & ~(PMC_F_DESCENDANTS | PMC_F_LOG_PROCCSW | - PMC_F_LOG_PROCEXIT | PMC_F_CALLCHAIN | PMC_F_USERCALLCHAIN)) != 0) + PMC_F_LOG_PROCEXIT | PMC_F_CALLCHAIN | PMC_F_USERCALLCHAIN | + PMC_F_EV_PMU)) != 0) return (EINVAL); /* PMC_F_USERCALLCHAIN is only valid with PMC_F_CALLCHAIN. */ diff --git a/sys/dev/hwpmc/hwpmc_power8.c b/sys/dev/hwpmc/hwpmc_power8.c index fc6b878eff7d..d7ccbc5c6c0a 100644 --- a/sys/dev/hwpmc/hwpmc_power8.c +++ b/sys/dev/hwpmc/hwpmc_power8.c @@ -168,6 +168,9 @@ power8_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_POWER8) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + /* * PMC5 and PMC6 are not programmable and always count instructions * completed and cycles, respectively. diff --git a/sys/dev/hwpmc/hwpmc_uncore.c b/sys/dev/hwpmc/hwpmc_uncore.c index c16800c14ce1..fd4266b605ef 100644 --- a/sys/dev/hwpmc/hwpmc_uncore.c +++ b/sys/dev/hwpmc/hwpmc_uncore.c @@ -199,6 +199,9 @@ ucf_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_UCF) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + flags = UCF_EN; pm->pm_md.pm_ucf.pm_ucf_ctrl = (flags << (ri * 4)); @@ -498,6 +501,9 @@ ucp_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_UCP) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + ucp = &a->pm_md.pm_ucp; ev = UCP_EVSEL(ucp->pm_ucp_config); switch (uncore_cputype) { diff --git a/sys/sys/pmc.h b/sys/sys/pmc.h index a4d03efb6aac..714d8a7c65b7 100644 --- a/sys/sys/pmc.h +++ b/sys/sys/pmc.h @@ -369,6 +369,14 @@ enum pmc_ops { #define PMC_F_CALLCHAIN 0x00000080 /*OP ALLOCATE capture callchains */ #define PMC_F_USERCALLCHAIN 0x00000100 /*OP ALLOCATE use userspace stack */ +/* V10 API */ +#define PMC_F_EV_PMU 0x00000200 /* + * OP ALLOCATE: pm_ev has special + * userspace meaning; counter + * configuration is communicated + * through class-dependent fields + */ + /* internal flags */ #define PMC_F_ATTACHED_TO_OWNER 0x00010000 /*attached to owner*/ #define PMC_F_NEEDS_LOGFILE 0x00020000 /*needs log file */ From nobody Mon Sep 4 02:54:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfCsG3jjDz4s2yt for ; Mon, 4 Sep 2023 02:54:26 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic317-21.consmr.mail.gq1.yahoo.com (sonic317-21.consmr.mail.gq1.yahoo.com [98.137.66.147]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfCsF2xZpz4Yrt for ; Mon, 4 Sep 2023 02:54:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=PkW5Tkud; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.66.147 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693796063; bh=FBi+sagkiLrDYCRxnDMG7OVrvlPWEK3CGsS4k1wrEAg=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=PkW5TkudUBMeFcl9gx90AYOW3BEkjxxt2ykXcse6LzA+GSyVi1GSrPQRSMNIb21ZE1s62Ry/bhQR1bqfudgsaa/Gn5Mqlq7brBKs2OoqTr1l6fVZ5YlDMWNcyGWRIxKiQeI7R2c1lOXWYfPvMzJ2zCC5+Zg2crNDPfcy/c2/jQpK0PeXm1SGijlmxl/g7ykY8kggEeIk2ymHguKRaiDA7JUNfgiDT/4N8YWRolnEO4wFS2ZlR92Ge9eLP3wJHsTs8coEQ0xqPtwTzt0d+ssxPsvxwsL6BQZRGgltu6gvBhxdcW3csQhfGITUHith2Q5PViF9Ct269FR0UKB9Yn3i/A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693796063; bh=snKPMo7KCKLKHW0oxz7iZ/kXy9mpzaJgfBuLyAKPNq1=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=XWWRIJ6rDHPIQIXeWVts6P3/a0LdlTQrOanbO2cpp4/zbCv90DWDGYut5K3ZeJXnf4L7wSRxqEkL+Zn5eIu6Ek+BJtvZ1q4QkbX9zPkO0ygfpWWQh3BJib/tt3Mjp/4dJvCqUc8JJHinwUVeCs8Bol0/j3BL37u98BOQC8eeVNjhpqcGjcr0gSo0vy91asUBv4p/JUy9G62NZSFt2dSg8gk2KYoZ2tQXfq3IXM3jS1y4LWMIu1vTeluU9wgyYh8vp0qfaos54ccMOZSEfCLTRuCswN8p5/HRxk4Upmos0Gia5ArgjwxDJEseYal0lLUTR83DxvW9RLCynzDhMebg4w== X-YMail-OSG: RG38Y2kVM1n4vwBAirdHwtn_BtAWomD5bBVn5dLNHcgjm58Pc7ixDOPSgzpedaB pKDvjtGgtczssn0C2SaPCNk_O.oMC6ELquzVY8U9_.sk2nUORZ7aIEXUckr.ney5yJgzjoelqmtR HiSY4XH_GStmsoA3nENFtvI5E4A.7XkYK12ynh7cmhqcp5cJ4KDJnqaNqbOFZebO0f5f6Lo4JTIO clqzd.uicGOBOJeHGlmLEKIBIg4OKetx91YUOfkp.St7Ja5EHvDc0lJlG5JSFzBQ5S.S73nzD.Xu iWifH0RPOUamt9QnFyNRTbZ_bKrcYheXmoc4homdlqlKvOker8y7u9PodUuls7OdUuIdhjQIb.Sw hkPi1n.zc4MrDGaqmwC9IDhKqz4_tseerC8I1R78YzpHj70ngAQzJAXu15yxv6z.P1dqQn42wWlX UdqtiuIHKyi1QWA4epq8xk.AuvqvIDSVN2lngxw7OL.NQLxD9L.ZEzmJbFU04GeU93DZwaXNKX3z nmRTNwB7PZUveuNuUmDT2Jf9kqQMthln0VlijyuXgiAuwGthTV.ykOon9VvtVDVvN8sdgpCIACgb 8CCMkDUY2kt7.0IWBNqD3HSgrVk9NHwH0gV9A6pPNcy1QBE4AaKxTsvCtrBXqVxTzkJhnGMiieU7 nU8QXA.eYaaGRa0GewivQWsdC.NCdxYhteREXkPlJjfI5Z9usfSm3z.OvhbYVpfHv6AlIyaJmJYd YYfABw5ZT433u4Sr7i0ZvVYRnr09sNJbI1p3xGcZWfZ3HVHEqUoPm0.og9hie.Z4urAVdEGntH9C fE5nnj9RXV4vbN.fzqrdZ_ccdY3P3NTOj2XWDmXvA5.ZB1jb9yyzFW9YEKuna.MnQk54qijQaz9k AFhtLbuuQqIHoZfpf7q7_GZXbDeV440o2Rs_yVLdYlKlA2yv6PKjIxzMxgA.EpCgX507oMAAKs3J .IpNNosoC5wIeht_RKriGS3mrNHgz_648LvLCw0DvrpHehLOmV_GuPO7xs1Mhg1qp6LKACXkj0gK pHtp9Pce5Pn7EvTVg05fB9Uqembr006gA7Us_dpC90zKHEuI18.auTZFD1HqV_R5f7NOR8jRMqZD HhywoPfnfggOOxLa_o0B510OOUFClk5S7SWiWxItwn8O72dfGMlBFLRd8aTtz2JRQjO42m7EGoqS XT8v1kNq2nSS0dvUwxdP9DIapb4YjrcsqMlfVGiJrw_Gdb2z4_Gh9xviW7p.8ymvWPzusUskekWX geEjtSbzp12IcaTv0GaToqrn3qNJ.ME.NoiuXNebUaoMh0nlbH5YmlLj3hljHDkookKjPW2VbpDK R89p43uDmiHkOTVrkedfPbUGqGeiz81EItRDRHng85C2t4JJeRdc3nLIXhYbvwOUfsnleFmwaKMz rltEJz2YPihgughBC65uNPyycriyQvhbJD03fsdfJzGRPnx2zRIwvsvpfmdm0mKXJiQ.Aqzme7gq 9tyNcqEAimdu_ceFGZ555izatr4c0uO_wgkypQyTWZsJC8DTPQvKTq6oOjjaR.X50zS5usI4spp5 eNAkNNgq3Kem8x5ixTXeF48n_5pFBPgamHD3ZV5PiCXkLOQvkf3Q5KEwUftLr99wrwSerA7LCb_0 GAp2zScBzKGhIHkqKfNVdCR6fjkFeNVofvYWLjVrKCNTU7tt8VUq1ORK6KB3HkjNHTtc2wnFp3cc d1leWsvdH6T1.ha6RcwxvI8IKsCYMRkhlPcV.7M6b4BrBBR4IhfDIMW.32tUNM9Q._BC_b3zaZ5Q ex..Pc1xYiS9h0zfVJnn0pZtiyM291Fhfdnce3Lda6r0jvFXiRBDQERVTfPOG4gqLXqGjfBYSQyY aRV4uE_SA8dBWQKHc2d8U6pw.DP5rqG5iUkOcM8qe0vAie9a9sGMxvZopQ4cl43iS91A8WDG4maH h0iKvQ9WYfR0mNQHN3GmfL6QwdD6OpLSyccissH4.be.pw9EkD99AfeaTeEzxIopJ7tssvDskSEC g2TYcD8VeJY205y3msbTI26eQ2LNiW20saXuWgxdfVKPf1.1THqO.QhrbFd3FEd9D6gsxBzCRMpI dsViqc6M5121QoVrHew1Yh9kfZcwhBdrQovkZ3cRtz4GpvWuZSMm07NS1Xzawp9favirQ.vjNORf FQbUYMFdyOVueqqRac7zDCB3.4kCM_eWKE3REZENS15NVtDBRyw5dUnev_49JrPDvO_ntvVFpUhW C0aair0OLokPW71Ue5l2cldw93pjxtCB.JRpTemPaQhQvT5ML9X9LSUtBlRdMs246RJLHYxxf1AH Cgg-- X-Sonic-MF: X-Sonic-ID: 4c7d09dc-6a88-4746-b093-562acf119da2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 02:54:23 +0000 Received: by hermes--production-bf1-865889d799-scr2n (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 49b8180b7d8a89330959be58be1b41d6; Mon, 04 Sep 2023 02:54:18 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned Message-Id: Date: Sun, 3 Sep 2023 19:54:05 -0700 To: dev-commits-src-main@freebsd.org, Current FreeBSD X-Mailer: Apple Mail (2.3731.700.6) References: X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.66.147:from]; BLOCKLISTDE_FAIL(0.00)[98.137.66.147:server fail]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.66.147:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfCsF2xZpz4Yrt ThreadRipper 1950X (32 hardware threads) doing bulk -J128 with USE_TMPFS=3Dno , no ALLOW_MAKE_JOBS , no ALLOW_MAKE_JOBS_PACKAGES , USB3 NVMe SSD storage/ZFS-boot-media, debug system build in use : [00:03:44] Building 34214 packages using up to 128 builders [00:03:44] Hit CTRL+t at any time to see build progress and stats [00:03:44] [01] [00:00:00] Builder starting [00:04:37] [01] [00:00:53] Builder started [00:04:37] [01] [00:00:00] Building ports-mgmt/pkg | pkg-1.20.6 [00:05:53] [01] [00:01:16] Finished ports-mgmt/pkg | pkg-1.20.6: Success [00:06:15] [01] [00:00:00] Building print/indexinfo | indexinfo-0.3.1 [00:06:15] [02] [00:00:00] Builder starting . . . [00:06:18] [128] [00:00:00] Builder starting [00:07:42] [01] [00:01:27] Finished print/indexinfo | indexinfo-0.3.1: = Success [00:07:45] [01] [00:00:00] Building devel/gettext-runtime | = gettext-runtime-0.22_1 [00:18:45] [01] [00:11:00] Finished devel/gettext-runtime | = gettext-runtime-0.22_1: Success [00:19:06] [01] [00:00:00] Building devel/gmake | gmake-4.3_2 [00:24:13] [01] [00:05:07] Finished devel/gmake | gmake-4.3_2: Success [00:24:39] [01] [00:00:00] Building devel/libtextstyle | = libtextstyle-0.22 [00:31:08] [125] [00:24:50] Builder started [00:31:08] [125] [00:00:00] Building print/t1utils | t1utils-1.32 [00:31:15] [33] [00:25:00] Builder started [00:31:15] [81] [00:24:59] Builder started [00:31:15] [33] [00:00:00] Building databases/xapian-core | = xapian-core-1.4.23,1 [00:31:15] [13] [00:25:00] Builder started [00:31:15] [81] [00:00:00] Building devel/bmake | bmake-20230723 [00:31:15] [13] [00:00:00] Building devel/evdev-proto | evdev-proto-5.8 [00:31:16] [41] [00:25:00] Builder started [00:31:16] [41] [00:00:00] Building devel/pcre | pcre-8.45_3 . . . (Looks like lang/go120 ignores the lack of ALLOW_MAKE_JOBS . There may be others that still have signficant parallel activity.) [main-amd64-bulk_a-default] [2023-09-03_13h48m45s] [parallel_build:] = Queued: 34588 Built: 727 Failed: 1 Skipped: 40 Ignored: 335 = Fetched: 0 Tobuild: 33485 Time: 01:36:51 (So about 1 hr after the last "Builder starting" it had built 727.) The vast majority of the time: lots of cpdup's with tx->tx showing most of the time for STATE but showing having some CPU time. ^T commonly showed various Builders in starting PHASE for 3min..6min. Around 66% mean Idle time (guess from watching top). After ^C "gstat -spod" reports it is almost always writing 2200 to 2500 writes per second or so for *hours* (still going on). ztop reports 1500 to 3200 d/s or so almost always for Dataset zamd64/poudriere/data/.m instead (also still going on). Normally no other Dataset is shown. With all the disk I/O activity, this is definitely "live" in some sense. But I've no clue if it is just repeating itself over and over vs. if it making some sort of progress. For reference for the ^C and after: ^C[01:39:00] [20] [00:00:03] Building sysutils/linux-c7-dosfstools | = linux-c7-dosfstools-3.0.20 [01:39:00] [93] [00:07:12] Finished science/dimod | dimod-0.12.11: = Success [01:39:00] Error: Signal SIGINT caught, cleaning up and exiting [01:39:02] [63] [00:06:34] Finished archivers/unarj | unarj-2.65_2: = Success [01:39:03] [128] [00:07:47] Finished sysutils/shuf | shuf-3.0: Success [01:39:04] [113] [00:07:06] Finished devel/bsddialog | bsddialog-0.4.1: = Success [main-amd64-bulk_a-default] [2023-09-03_13h48m45s] [sigint:] Queued: = 34588 Built: 752 Failed: 1 Skipped: 40 Ignored: 335 Fetched: = 0 Tobuild: 33460 Time: 01:38:56 [01:39:06] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-03_1= 3h48m45s [01:39:14] [12] [00:09:07] Finished archivers/rzip | rzip-2.1_1: Success [01:39:14] Cleaning up exit: cannot open ./var/run/49_nohang.pid: No such file or directory exit: cannot open ./var/run/87_nohang.pid: No such file or directory After that ^t produced the likes of: load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k #0 0xffffffff80b6f103 at mi_switch+0x173 #1 0xffffffff80bc0f24 at sleepq_switch+0x104 #2 0xffffffff80aec4c5 at _cv_wait+0x165 #3 0xffffffff82aba365 at txg_wait_open+0xf5 #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 #5 0xffffffff829a87d2 at zfs_rmnode+0x72 #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 #8 0xffffffff80c5a7d9 at vgonel+0x3a9 #9 0xffffffff80c5af7f at vrecycle+0x3f #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e #11 0xffffffff80c598cf at vinactivef+0xbf #12 0xffffffff80c590da at vput_final+0x2aa #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 #14 0xffffffff80c68588 at sys_unlink+0x28 #15 0xffffffff8106323f at amd64_syscall+0x14f #16 0xffffffff8103512b at fast_syscall_common+0xf8 The console/logs do report "witness exhausted": . . . Sep 3 13:41:08 amd64-ZFS login[1751]: ROOT LOGIN (root) ON ttyv0 Sep 3 13:51:35 amd64-ZFS kernel: witness_lock_list_get: witness = exhausted Sep 3 14:26:38 amd64-ZFS kernel: pid 27418 (conftest), jid 245, uid 0: = exited on signal 11 (core dumped) . . . So it did not take long for the "witness exhausted" to happen. # uname -apKU FreeBSD amd64-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT amd64 1500000 #74 = main-n265143-525bc87f54f2-dirty: Sun Sep 3 13:35:04 PDT 2023 = root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-dbg-clang/usr/main-src/amd64.amd= 64/sys/GENERIC-DBG amd64 amd64 1500000 1500000 Looks like I'll be forcing the machine to reboot or to power off. The media was deliberately set up for doing risky tests. It is not my normal environment. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 05:06:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfGp12rx2z4rMWk; Mon, 4 Sep 2023 05:06:49 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com [IPv6:2607:f8b0:4864:20::1132]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfGp06dNNz4s4f; Mon, 4 Sep 2023 05:06:48 +0000 (UTC) (envelope-from mavbsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-58e6c05f529so10175947b3.3; Sun, 03 Sep 2023 22:06:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693804008; x=1694408808; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=XBjPJraRZjbNo81Dg7oGngWW7szayA/9F2dZbfHQfdQ=; b=T7BbM1ZfxjtrcmU33eHqdhiYjvxJhy5MBKWSG6P6FOzOp+7CqklEVGQCTdpjeGFTdf pQyJXOI4sqnhBMMXEFpMlzMfJq6zGaancnJY/vl0xtKuqONwDyQL90MWHGPTVRqb0EKl TFc34VVzI7uZWP4DaJhlbTivyg44C2YCVpzaeRZhqMF4ExFYNsS2eDTT4MR0R7q9L8tM YS9wKpYqr5ahabO6gpabSXjFakUQM+duJV6fweH/acv87KBUF3IGm3v4l2VKJJHWh/In FeYp+eggTDZMcWwjz0ZhTny50VJ/fELvNu8DEI8c2hzTDMoFzDy26V162ZFLNIv65VZY AOTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693804008; x=1694408808; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XBjPJraRZjbNo81Dg7oGngWW7szayA/9F2dZbfHQfdQ=; b=d3ja6pe3sgfQZBP7Jle1tWi2T3PUgtzOuWiIno5PCYE9mRazqPl5DfioCuFgCZXcZ+ buir0WeFqRm6ZtmCWyOMSNwTAG051xXbIFlBHFbiuKZlI/E8hcdHeLq/M/ywA5OmK+fo cBe7LZydNOfF82Cn/eoVx79JNZFRFATjzf0TVAQJAqSJQQuzAoYeTFQSVkPjwseFfJVi XW1YtvkD4ooY5GVFo+A3mmu1tY7BTpizQWSYDrsvlPiqubgAd3eqHwhV7Ql8QKtWScfl V1xO/sNNpjhC9zGG31iAGL3/OuBcU8ipPsQ7za7/B5JfNTuscAf1vMjup4I1VDs9t5aD KK9Q== X-Gm-Message-State: AOJu0YzHBlVN9444aTYCE8LvlIKFg81WWDqtC+IBBF1zoov7wxnF+52A 3CrQq2lZPRZCRXi22nAHxwC6wxL/kiR3nw== X-Google-Smtp-Source: AGHT+IEURq5mJx6dliGO6vrnZDnrj+D/zboaXVPr2Zc9JF4R8HfFa+oxn30QDQ7pjGoull77rG68gg== X-Received: by 2002:a0d:eacf:0:b0:586:a689:d28a with SMTP id t198-20020a0deacf000000b00586a689d28amr10943997ywe.34.1693804007907; Sun, 03 Sep 2023 22:06:47 -0700 (PDT) Received: from [192.168.1.66] (104-55-12-234.lightspeed.knvltn.sbcglobal.net. [104.55.12.234]) by smtp.gmail.com with ESMTPSA id g185-20020a0dc4c2000000b00594e355aa78sm2455855ywd.143.2023.09.03.22.06.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Sep 2023 22:06:47 -0700 (PDT) Message-ID: Date: Mon, 4 Sep 2023 01:06:46 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned Content-Language: en-US To: Mark Millard , dev-commits-src-main@freebsd.org, Current FreeBSD References: From: Alexander Motin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4RfGp06dNNz4s4f Mark, On 03.09.2023 22:54, Mark Millard wrote: > After that ^t produced the likes of: > > load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u 121.32s 1% 13004k So the full state is not "tx->tx", but is actually a "tx->tx_quiesce_done_cv", which means the thread is waiting for new transaction to be opened, which means some previous to be quiesced and then synced. > #0 0xffffffff80b6f103 at mi_switch+0x173 > #1 0xffffffff80bc0f24 at sleepq_switch+0x104 > #2 0xffffffff80aec4c5 at _cv_wait+0x165 > #3 0xffffffff82aba365 at txg_wait_open+0xf5 > #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 Here it seems like transaction commit is waited due to large amount of delete operations, which ZFS tries to spread between separate TXGs. You should probably see some large and growing number in sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . > #5 0xffffffff829a87d2 at zfs_rmnode+0x72 > #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d > #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 > #8 0xffffffff80c5a7d9 at vgonel+0x3a9 > #9 0xffffffff80c5af7f at vrecycle+0x3f > #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e > #11 0xffffffff80c598cf at vinactivef+0xbf > #12 0xffffffff80c590da at vput_final+0x2aa > #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 > #14 0xffffffff80c68588 at sys_unlink+0x28 > #15 0xffffffff8106323f at amd64_syscall+0x14f > #16 0xffffffff8103512b at fast_syscall_common+0xf8 What we don't see here is what quiesce and sync threads of the pool are actually doing. Sync thread has plenty of different jobs, including async write, async destroy, scrub and others, that all may delay each other. Before you rebooted the system, depending how alive it is, could you save a number of outputs of `procstat -akk`, or at least specifically `procstat -akk | grep txg_thread_enter` if the full is hard? Or somehow else observe what they are doing. `zpool status`, `zpool get all` and `sysctl -a` would also not harm. PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me shiver. Make sure there is no storage problems, like some huge delays, timeouts, etc, that can be seen, for example, as busy percents regularly spiking far above 100% in your `gstat -spod`. -- Alexander Motin From nobody Mon Sep 4 06:35:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfJn85kLxz4rgvS for ; Mon, 4 Sep 2023 06:36:12 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfJn835TXz3Nvj for ; Mon, 4 Sep 2023 06:36:12 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693809370; bh=VNkvZ/r0lhw93jplQBvi/VH0Q23hejTNK+T2EGth9e8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=OI0M4nb5ooeqo25153D60q3U9gU275GV32nzBk+GW5xigdvkRDQV/NK43oI4ErTY1H+TZWmfq3X6x0L0jk+e9u4W+6vP+rIfHf+hywOb58VYKS5vlIG9QNrCRI5t889Yl6Nlc2PIQMkLwP6ZU1U9T+hpPGRjnWXfYgN/Ggkr8ik5SfqzNZZzhNCv+phaQWhTRRHiXqd7fSvoxXoFNx0AzuT8VQK3OH8Nk+mB8cri0LX8dCXMn027Be0C5vo5aOR7m35EZXFSiPHS9lNZsyKZL9Wy8rjy3qFxdPDDkT7DVxr0lNP+SBze3neJ2N+i5530EeUPmznGrJtFHYlil69Q+A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693809370; bh=235MDa8io5pUS8+XrjDPgLvr4Mdkv/pPy960EFPPYUn=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=M0J3VsqdCs2BSEJqKC/VleQteBKPlctQRICLcpLnsf/FDM0jwLPVWKc23OcKE4TWPi7myUAZYIXn1MHb9+3DEF+RKvsPm5lKJu4nXWUvzkf32qabU2yd1RlGCP7/TGxazy5rBpUoIMYnTRcrTnk0nRrzOQTKvWX/SCNFM34JnCw+BbuAWVyZygqAc6FUOo7s71T1V9I07kf0pshZB6F08ZpQQphqw5wU2ulgYJzkctB+EkwurZM7lSkdQMOvlqpEhc0TTsIsoPKjWeipOMIUpmGwbW2jqXXYPrQOz0t8NE56wvHsYBq/oM0EtGY77bsizjEZ83UP4DCQfJm0+clt0A== X-YMail-OSG: 3i9CIN8VM1lr6m7n74XvFTosvZoV5.9ZEXLNtOxJMk4RrZR9Mdc7Nsx0oCjZdoF Bn9v8f6itXpJ5dgmxNOts_lJ_hhbCUm6JvR.tvi.ga_dS86fOiKKxxNf0vSHWZrYoH5BfkdnDb3t 26IlXfFvJ6jLbbRPuekqw7G55FH5hc5e30lqDY3Ekgd8658pGWCFD.PCO5jE9ptPwggAzLxCv_a4 USVt93hgqZvLzz7bB315Nl4tpfyhKOFC.LY1wt38WhQwa9TesBmc4LW3npGwxQdy3TywShWunwQ7 fdzI93eQ1ZOO0K97rSEUItOtTalHSm4aI4DNtsVoC8QMIIykF2j185HfqNNHlt9.hh7F_ihWgdhK 8Ry7hvzLrUziRP0rVfKTNBEyKlwYOUnRFRHc0ljbk4FXAOQ7qqbH9cd_SC9.NH19wtf.bg6nAceL eewOsYf9mG4WnALkmEvUsVsY.d4_OLE2gyxbV296P4HdroUdO6y_6lawRuhOu4ys7DjqDstm8aFQ bNzWrqXDKOTAXVHrhAW5xeaXYNh9FztZp8y3b9_RHIvvROhjfce3sQjyA6fKMvEXkQBVO1zUBHos mG1MaEOiFMoyCtkeVZO3Bdq_5HRg6dT0.lepPwm3_wLkUyv0JdRznpn2_cUJ9al3qIR_L1lE74FQ 3vCUPb4tH2S2kAk4rgPhjAY075BafRy7GbTXWSM_2e0vM1YD_PchpszCs9pSP5D8IYCj_gFW6CH2 Ylb35tk6KZfJV5hw1igf0PZWh876df40RFEgs4FW1eqFRr8dIRAMjJkW9OkwxOMzHpf5b1bXxhIS MbYFdcFsBKoLuUWHHDESqpwypHXJl05zR3Vn1sTmI.5S0nULQRbTL1sHmIwKYpfXkQUp3.Xr51ij JGzK3UCKfdP6Rg6mmTIlCWIjJWkxfczVKBRqxMsHt3HCFDEObd1LVLJFbrsgpySUPRWPfNN8hQyE 7r32RIEuKGAD8Ib8lRdCzme_jjJsIA53FrdE91wZvuQuyf5gOuqSE23.CBuIsvuIrsC1C07qYCaH sjp67aUotrV4dN0vsY02aIUcVXWlDXfpoFg.z_OBWsL0PoJG_BzMIjI8TlXSr9vKaDrqtm9Np2gW 0xLhjoY2H0o5moBMSSBHBJRFN1lR4Y0vXYt9wp8cNICfI3e6o08Nvsm7DPv9seBR.KVNEzCbqp_T mN_93OpHDLkvOtMDt.1jewqWbttxNGcBa7kX6Z5RnfXF6MBr0RdiScC5DrtHU6bDa5C5Fwva7oan 8pzYBmTNwCx3QjUf6x1dF2oL7OYg58DUmosKl.TSLoFMN_1.QdeNtuKDqJtnPefapmaKY7DXDQ.a QSPXgIVpOBeF.X_H8FCzERQq.rk2q8T5XbFBHfTQjnOgUWGj3mWT7lorq3pMX6_9EMdRP4cbp5t6 N2B5K4dS_LDPHVsJRiGD2IXECeGpEZXXLbjRAw1WALthsCkYm_OJZAPenQUiaZ783dRCEdtSzMZH jOzQASBdKc__CY4_wneKZeo_0Hzy_0_pSijLS_JXZ4tufvZgNQGr6TMqfKiNGiTkho3oMsJd9Lns 1Bh5ZoKBJe2_oodNxMr4bXR.spvTWPsvlKnjvsvlNPtdiHD1JaYevVtJkaMu9atVNlKDug594YoW M8R0HtEeB7O1UXLP4_KfyoWF8wWupnYyEBi2lycMUEt6Brret9tJjOq5NO8l7P2wuEwN48edrEkr Pes1VYrbNfqjkH6vZuWJk4c_9mSUs.ioWe0xct_AeBhyUlA762zahY.W5UReDLl8kje_LYw.5_IZ PuEpUKA1yW1G4yp4B_rqmJSoaVKmS8cdYPHGvI_4shbv7XaLulrgD0qqNVEnmlK8oPtXDgKxkiD. sf4W2iNrmbCyH5a.C.rqwcia9_TxkBMI.4MVUhxwU_HFnlNz267fCMRD6SFxHBZ0mBoes3bG7E0O ggQySyTFDtSdFfvqoGdj0foXE4SDiToZFuZxlxE5fEp36CJp8asHAbzow.SUqjRQoGC4nQawUeLc RUiKAqFdtDhbCsHelEQBCfJ3Fi2zlRkEUJpSqZbqmFKAjitB82YN5SNP.C9DkRsPnsuE0u.U5t_p IQ5RABrC2AeCfaFmyhRntPeXyYU.nog_3xLL01v.IpqID7hCBUEm88nI7q4aI8QKpV7R9I7.IorR t9yrfoZhSx2sguOjxmTqquTRAJkLJmLPgA2MCF2zRBoynGGZhtAr5ypU6kw9Ssjn1PaOF1iB3TLS GW72II1NIBvnGDfEO9GRULhsFbTvoPfvlBZvHB6WueXfbEO7kyXlipPua4RUuujmo2OxlvpiqC1h P X-Sonic-MF: X-Sonic-ID: aaa3356b-021a-40f4-adaa-dc309dc9fd3c Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 06:36:10 +0000 Received: by hermes--production-bf1-865889d799-sjjww (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 627bc217dc55385fbff2203bcadfcee0; Mon, 04 Sep 2023 06:36:04 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: Date: Sun, 3 Sep 2023 23:35:52 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> References: To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4RfJn835TXz3Nvj On Sep 3, 2023, at 22:06, Alexander Motin wrote: >=20 > On 03.09.2023 22:54, Mark Millard wrote: >> After that ^t produced the likes of: >> load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k >=20 > So the full state is not "tx->tx", but is actually a = "tx->tx_quiesce_done_cv", which means the thread is waiting for new = transaction to be opened, which means some previous to be quiesced and = then synced. >=20 >> #0 0xffffffff80b6f103 at mi_switch+0x173 >> #1 0xffffffff80bc0f24 at sleepq_switch+0x104 >> #2 0xffffffff80aec4c5 at _cv_wait+0x165 >> #3 0xffffffff82aba365 at txg_wait_open+0xf5 >> #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 >=20 > Here it seems like transaction commit is waited due to large amount of = delete operations, which ZFS tries to spread between separate TXGs. That fit the context: cleaning out /usr/local/poudriere/data/.m/ > You should probably see some large and growing number in sysctl = kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . After the reboot I started a -J64 example. It has avoided the early "witness exhausted". Again I ^C'd after about an hours after the 2nd builder had started. So: again cleaning out /usr/local/poudriere/data/.m/ Only seconds between: # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276042 # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276427 # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 277323 # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 278027 I have found a measure of progress: zfs list's USED for /usr/local/poudriere/data/.m is decreasing. So ztop's d/s was a good classification: deletes. >> #5 0xffffffff829a87d2 at zfs_rmnode+0x72 >> #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d >> #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 >> #8 0xffffffff80c5a7d9 at vgonel+0x3a9 >> #9 0xffffffff80c5af7f at vrecycle+0x3f >> #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e >> #11 0xffffffff80c598cf at vinactivef+0xbf >> #12 0xffffffff80c590da at vput_final+0x2aa >> #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 >> #14 0xffffffff80c68588 at sys_unlink+0x28 >> #15 0xffffffff8106323f at amd64_syscall+0x14f >> #16 0xffffffff8103512b at fast_syscall_common+0xf8 >=20 > What we don't see here is what quiesce and sync threads of the pool = are actually doing. Sync thread has plenty of different jobs, including = async write, async destroy, scrub and others, that all may delay each = other. >=20 > Before you rebooted the system, depending how alive it is, could you = save a number of outputs of `procstat -akk`, or at least specifically = `procstat -akk | grep txg_thread_enter` if the full is hard? Or somehow = else observe what they are doing. # procstat -akk > ~/mmjnk00.txt # procstat -akk > ~/mmjnk01.txt # procstat -akk > ~/mmjnk02.txt # procstat -akk > ~/mmjnk03.txt # procstat -akk > ~/mmjnk04.txt # procstat -akk > ~/mmjnk05.txt # grep txg_thread_enter ~/mmjnk0[0-5].txt /usr/home/root/mmjnk00.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk00.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk01.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk01.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk02.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk02.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk03.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk03.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk04.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk04.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk05.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 /usr/home/root/mmjnk05.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 (Hopefully that will be a sufficiently useful start.) > `zpool status`, `zpool get all` and `sysctl -a` would also not harm. It is a very simple zpool configuration: one partition. I only use it for bectl BE reasons, not the general range of reasons for using zfs. I created the media with my normal content, then checkpointed before doing the git fetch to start to set up the experiment. # zpool status pool: zamd64 state: ONLINE status: Some supported and requested features are not enabled on the = pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not = support the features. See zpool-features(7) for details. checkpoint: created Sun Sep 3 11:46:54 2023, consumes 2.17M config: NAME STATE READ WRITE CKSUM zamd64 ONLINE 0 0 0 gpt/amd64zfs ONLINE 0 0 0 errors: No known data errors There was also a snapshot in place before I did the checkpoint operation. I deliberately did not use my typical openzfs-2.1-freebsd=20 for compatibility but used defaults when creating the pool: # zpool get all NAME PROPERTY VALUE = SOURCE zamd64 size 872G - zamd64 capacity 21% - zamd64 altroot - = default zamd64 health ONLINE - zamd64 guid 4817074778276814820 - zamd64 version - = default zamd64 bootfs zamd64/ROOT/main-amd64 = local zamd64 delegation on = default zamd64 autoreplace off = default zamd64 cachefile - = default zamd64 failmode wait = default zamd64 listsnapshots off = default zamd64 autoexpand off = default zamd64 dedupratio 1.00x - zamd64 free 688G - zamd64 allocated 184G - zamd64 readonly off - zamd64 ashift 0 = default zamd64 comment - = default zamd64 expandsize - - zamd64 freeing 0 - zamd64 fragmentation 17% - zamd64 leaked 0 - zamd64 multihost off = default zamd64 checkpoint 2.17M - zamd64 load_guid 17719601284614388220 - zamd64 autotrim off = default zamd64 compatibility off = default zamd64 bcloneused 0 - zamd64 bclonesaved 0 - zamd64 bcloneratio 1.00x - zamd64 feature@async_destroy enabled = local zamd64 feature@empty_bpobj active = local zamd64 feature@lz4_compress active = local zamd64 feature@multi_vdev_crash_dump enabled = local zamd64 feature@spacemap_histogram active = local zamd64 feature@enabled_txg active = local zamd64 feature@hole_birth active = local zamd64 feature@extensible_dataset active = local zamd64 feature@embedded_data active = local zamd64 feature@bookmarks enabled = local zamd64 feature@filesystem_limits enabled = local zamd64 feature@large_blocks enabled = local zamd64 feature@large_dnode enabled = local zamd64 feature@sha512 enabled = local zamd64 feature@skein enabled = local zamd64 feature@edonr enabled = local zamd64 feature@userobj_accounting active = local zamd64 feature@encryption enabled = local zamd64 feature@project_quota active = local zamd64 feature@device_removal enabled = local zamd64 feature@obsolete_counts enabled = local zamd64 feature@zpool_checkpoint active = local zamd64 feature@spacemap_v2 active = local zamd64 feature@allocation_classes enabled = local zamd64 feature@resilver_defer enabled = local zamd64 feature@bookmark_v2 enabled = local zamd64 feature@redaction_bookmarks enabled = local zamd64 feature@redacted_datasets enabled = local zamd64 feature@bookmark_written enabled = local zamd64 feature@log_spacemap active = local zamd64 feature@livelist enabled = local zamd64 feature@device_rebuild enabled = local zamd64 feature@zstd_compress enabled = local zamd64 feature@draid enabled = local zamd64 feature@zilsaxattr active = local zamd64 feature@head_errlog active = local zamd64 feature@blake3 enabled = local zamd64 feature@block_cloning enabled = local zamd64 feature@vdev_zaps_v2 active = local zamd64 feature@redaction_list_spill disabled = local /etc/sysctl.conf does have: vfs.zfs.min_auto_ashift=3D12 vfs.zfs.per_txg_dirty_frees_percent=3D5 The vfs.zfs.per_txg_dirty_frees_percent is from prior Mateusz Guzik help, where after testing the change I reported: Result summary: Seems to have avoided the sustained periods of low load average activity. Much better for the context. But it was for a different machine (aarch64, 8 cores). But it was for poudriere bulk use. Turns out the default of 30 was causing sort of like what is seen here: I could have presented some of the information via the small load average figures here. (Note: 5 is the old default, 30 is newer. Other contexts have other problems with 5: no single right setting and no automated configuration.) Other than those 2 items, zfs is untuned (defaults). sysctl -a is a lot more output (864930 Bytes) so I'll skip it for now. > PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me = shiver. Make sure there is no storage problems, like some huge delays, = timeouts, etc, that can be seen, for example, as busy percents regularly = spiking far above 100% in your `gstat -spod`. >=20 The "gstat -spod" output showed (and shows): around 0.8ms/w to 3ms/w, mostly at the lower end of the range. < 98%busy, no spikes to > 100%. It is a previously unused Samsung PSSD T7 Touch. I was not prepared to replace the content of a PCIe slot's media or M.2 connection's media for the temporary purpose. No spare supply for those so no simple swapping for those. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 07:13:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfKd10n4Wz4rsch for ; Mon, 4 Sep 2023 07:14:13 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-20.consmr.mail.gq1.yahoo.com (sonic301-20.consmr.mail.gq1.yahoo.com [98.137.64.146]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfKcz61kLz3Wlp for ; Mon, 4 Sep 2023 07:14:11 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=DiZi4vA3; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.146 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693811649; bh=rf4e2rs8lNvnhpUs3YXXW+YGU1zniG0RhEOgLu8cXiE=; h=From:Subject:Date:References:To:In-Reply-To:From:Subject:Reply-To; b=DiZi4vA3Mji52ejuvuAek/9RGC2GfyfPNx64pc9n9urYWev3Y2wzRqwosvvg1PxjDP4XFfpvwh9oJXnbX8gB6ljNg5CLhS0rSLbzpFyXOmiN2ccIL0hKkIfQZ4p/OYZoU+t7bnQvPpd5pGaIMfyqHMk9OKKpVDs19oYxdGGvpvr+X8FZLMb3b4vQ/FlADB31i1JgaFSPfUKbPXLISHBeQ64EgR6nQKHsm12dEIxEf/5VO2dq+cYyKDS++fM3Oo5QENL6q81r7f62EgIpPBF3qJkwh2lpow6ywYMPuTnnZ/OFjhzmSKcwqr2aNv4W/jRbKlVzaMkIJM3+88Jx6rc0qA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693811649; bh=l2T8Wox99ShM5TpMbDYO+Gfg3mmSF49bPvryTsOYvig=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=hbWL/5wZllzQCAKhyl/SXYsPNuQAnwD46BGt80JcDwmwRakGsfr5JYdKotg63VY8TGMqSCkMlr9IISidrL8+8zQpCqN0SNM93xFWMwk9kjScq9bOlSy1VWNfV/FBcxk0HtjDAxTsdE6+FoKLBc6Nmr/ro/PzhpvdgqLM2KWva3iaHpgbJD6pn7RBWh24O7WyYHnFw3Pv2JoYGjqmzt/jycTs0tiWTG02egaSPFnCBEj6bybIs54Mg2LyJlOYmp3dTJ57ShLxHdYmiWV8L8ewBmP9mmI+q6xgbRs1/UdUN07Q9cNCkU8r8AXh6/uKdW1J9Jc9Vc9Nj9oHpgKs8pNxLw== X-YMail-OSG: t9JWtlkVM1kKrzmoUONXvk_vr3QaNXZXapLpEzCgmJ08Eli5OBmomhrPpN.qIHG Ua9KPrNMXkYQY35KpC383dmchffXt6gUnyvAAyDXBLqEiTh2FTD_Ja.ZzqDF13sbH1vLF5ywaTG. XFPo4c4P8gfQ715OZp14s1Ht0WVqPGhZxK_NDZN6C_hmtpxX49jdSS_zsiD6o.D9aeetJs_feQmM A3UEzCbZgyqAbsp0pf9eaHboRIjW2cf8ULhHrX3k4Ir6fbSOitkp0Fdw4RbCRIzr21bcUZHgFwTk r8YuPOY7659pFfdktFghCu9158I44ob9h7T1MZN5XUIAJiudJoc_NEB5tmG5wrpyyzZ.QmgoOWgE LGk30iwYFXZD8_rYRUuQqNX3I.A8MF9RAXwq4ruScHiwXgLlTujPeEfL.SOoyMhRPbQWfYo8QhU4 kz4JQV6EHxDzY1gC5Z6VIEBc8cw0D9p2jef7JeyLUnRFVvyPur.wGSGBUGXbNWAb0kEEbvUy.d3y 1V82fNHV12868Oh7JxpUvaDregz0E8sfXHOwDGAIyMG8EX6HKfLshX8GWx_Ls2Sf5ZJH4i95VbPP 6qGFX3kXKnMb7cr4xfx_xmzhaHtYf10nXISkrh4eHvirg9tX36N1Pghlb6QgpWB6AH1IdlQy8Ahb IuxT0H3hrWtugpDC3hbJpAdAXich3UohW7GOQE4O5SqjVRnGd0_uitGE9CIsAyUDg2BUhoJoH_ER FXjaWw7ZoMwLiEpGqoGU2SSw4w_5R0qDvR8iTxwXzZ4J6LNuom.2uhRkC948u6hqcIFM3r5yCsUj KLktqg9XDWiBW3_sm_DJyAKKsPdCiglCEkvq.09VyQoz4VdXyAkbwqOKsWLJLm3F8IDA6I1TvaWO ByrDjqqyy4gxQcp1AWmlaqbiNtfgpZab5LRgxPwPHV1V775LEF29RVAUUJYl7CwOkEp3w9TrYHy3 .QgKHFMQP2PvoXcYDuM1C9eHCE0vvasE2LLGhXgzrUEgIsh9n7334ES79yx2aLwCqQk_KH5lg3SC 9wPlStNSHV109z59accdoYw7DYqBJurjWulN91_IdDk1aUxchw86yAMv.9npT3Glex0T27xQEaeJ bgZ0xyAVLa81YhOrNJIOk79j9ny_FjYC8oubTYc8ToOHW4PJkkt29Qr55wIrNSCBP27wiRpJygnF fdj.od6qKEkzB8pbzwXS1N_OM.9MYPbDgVl3dzjvOeyqsxXL_Umm73RyzuKg._sqWX80H7_SvXZ7 0T98sT9xQZ_GSIVFXUfZqyM6EoVCN3G84UZ4gnlsyuB85BytWE_c3U0LwA.y0avaIv0FRgj4nMde 1g8RkU5fbgC29NIxsjV24_G1HdXQVtGjTTb6pq4fXhaj_qjf4LN28cPv5vdqhTPfwbssAiaYY6Sy RUuNzqmqV7n7oqljrPCsjWW09w3Vj9dSkryFh8fGNiqsKahtQHEAmmd4OwQAk1gGiEonRZ9Aak.S 7L4RhpuCARqr2nynlorn0xIQ6twJ9s6jZx3.nbCULu1ZelwUvIpsgwWT9L2P4ir2MZ5byU5uJKd2 WsH4XZu0VjPiRR.Edvj.XKsYDyExovh1_UVAvOq59OAaWsuXkFhW02zAkXg9W8oCMoCQe3Ur56lJ 5YGmEqEJF3fm8QkaqaUAC.K.vyUc0f6kdGWwIsHSRyoIJlVC35F81vkRbdZ2pA2bwsE5FTI2nAzA wBWuoqgOZluWPVSWJn9_mpJSwJI8wtelX6i.hGP7X97GBIy.O.R1Mn9SmSBtLFzXZ.aslnZWxsIt jjy_X2v3ERCLoIiGsMn_K1EKZar1fljxGQXROipqJg.uDZ3ivtafkMP34Z1geJH8E9smgTGYjxxB JC6z8lKhiFeClxh1YVmOt3Eqrbfkldn1xLul0GtvquADeArUE6zY.CSv3EUOlcsoycTkskphx9vP XKfuMFqKN0egMQP5BIyYNHKjuqNXcnveLg8dHMlw3z4NuLiUK3GULFR1wm2wwY_uNnEu2wH4nGGP UygJmKorm.1gbrd2BXLM.TCBvUa2rRKgzhF7s5pq5Ib8Cru_33Je04CqVnjLzp.JhQhTFdrLQT6A cOX1M2ASsXJPACRCJWScF9mqgHlWk880d0vis0tEG.t9kkCAgkw4d_aXRPgINZLI8SvDKgFevbhF 1X_1.1KU_Ckk8133ew9mlJ0S9xIx7M1nBJqhdfE_pghUz_DDjl.RXE1sNeO1V9XYMPo5yjUIUqtx awUenwFVwcqDYWi1ME2mBVxXM4UkXr2uKLhjXs84OqEZ_sXawEXMvU_rvgG.mD3dBHKtLorCq88c Zvw-- X-Sonic-MF: X-Sonic-ID: 349e7a22-7c61-4f01-8be8-89f64fd0ff2b Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 07:14:09 +0000 Received: by hermes--production-bf1-865889d799-cgv22 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 55f82fecaa0818bcdc051b884e959c45; Mon, 04 Sep 2023 07:14:03 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned Date: Mon, 4 Sep 2023 00:13:51 -0700 References: To: dev-commits-src-main@freebsd.org, Current FreeBSD In-Reply-To: Message-Id: <8346B473-C75E-44DC-8EB9-7F71E37828E0@yahoo.com> X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.146:from]; BLOCKLISTDE_FAIL(0.00)[98.137.64.146:server fail]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.146:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfKcz61kLz3Wlp On Sep 3, 2023, at 19:54, Mark Millard wrote: > ThreadRipper 1950X (32 hardware threads) doing bulk -J128 > with USE_TMPFS=3Dno , no ALLOW_MAKE_JOBS , no > ALLOW_MAKE_JOBS_PACKAGES , USB3 NVMe SSD storage/ZFS-boot-media, > debug system build in use : >=20 > [00:03:44] Building 34214 packages using up to 128 builders > [00:03:44] Hit CTRL+t at any time to see build progress and stats > [00:03:44] [01] [00:00:00] Builder starting > [00:04:37] [01] [00:00:53] Builder started > [00:04:37] [01] [00:00:00] Building ports-mgmt/pkg | pkg-1.20.6 > [00:05:53] [01] [00:01:16] Finished ports-mgmt/pkg | pkg-1.20.6: = Success > [00:06:15] [01] [00:00:00] Building print/indexinfo | indexinfo-0.3.1 > [00:06:15] [02] [00:00:00] Builder starting > . . . > [00:06:18] [128] [00:00:00] Builder starting > [00:07:42] [01] [00:01:27] Finished print/indexinfo | indexinfo-0.3.1: = Success > [00:07:45] [01] [00:00:00] Building devel/gettext-runtime | = gettext-runtime-0.22_1 > [00:18:45] [01] [00:11:00] Finished devel/gettext-runtime | = gettext-runtime-0.22_1: Success > [00:19:06] [01] [00:00:00] Building devel/gmake | gmake-4.3_2 > [00:24:13] [01] [00:05:07] Finished devel/gmake | gmake-4.3_2: Success > [00:24:39] [01] [00:00:00] Building devel/libtextstyle | = libtextstyle-0.22 > [00:31:08] [125] [00:24:50] Builder started > [00:31:08] [125] [00:00:00] Building print/t1utils | t1utils-1.32 > [00:31:15] [33] [00:25:00] Builder started > [00:31:15] [81] [00:24:59] Builder started > [00:31:15] [33] [00:00:00] Building databases/xapian-core | = xapian-core-1.4.23,1 > [00:31:15] [13] [00:25:00] Builder started > [00:31:15] [81] [00:00:00] Building devel/bmake | bmake-20230723 > [00:31:15] [13] [00:00:00] Building devel/evdev-proto | = evdev-proto-5.8 > [00:31:16] [41] [00:25:00] Builder started > [00:31:16] [41] [00:00:00] Building devel/pcre | pcre-8.45_3 > . . . >=20 > (Looks like lang/go120 ignores the lack of ALLOW_MAKE_JOBS . > There may be others that still have signficant parallel > activity.) >=20 > [main-amd64-bulk_a-default] [2023-09-03_13h48m45s] [parallel_build:] = Queued: 34588 Built: 727 Failed: 1 Skipped: 40 Ignored: 335 = Fetched: 0 Tobuild: 33485 Time: 01:36:51 >=20 > (So about 1 hr after the last "Builder starting" it had > built 727.) >=20 > The vast majority of the time: lots of cpdup's with tx->tx > showing most of the time for STATE but showing having some > CPU time. >=20 > ^T commonly showed various Builders in starting PHASE for > 3min..6min. >=20 > Around 66% mean Idle time (guess from watching top). >=20 > After ^C "gstat -spod" reports it is almost always writing > 2200 to 2500 writes per second or so for *hours* (still > going on). >=20 > ztop reports 1500 to 3200 d/s or so almost always for > Dataset zamd64/poudriere/data/.m instead (also still going > on). Normally no other Dataset is shown. >=20 > With all the disk I/O activity, this is definitely "live" > in some sense. But I've no clue if it is just repeating > itself over and over vs. if it making some sort of progress. >=20 > For reference for the ^C and after: >=20 > ^C[01:39:00] [20] [00:00:03] Building sysutils/linux-c7-dosfstools | = linux-c7-dosfstools-3.0.20 > [01:39:00] [93] [00:07:12] Finished science/dimod | dimod-0.12.11: = Success > [01:39:00] Error: Signal SIGINT caught, cleaning up and exiting > [01:39:02] [63] [00:06:34] Finished archivers/unarj | unarj-2.65_2: = Success > [01:39:03] [128] [00:07:47] Finished sysutils/shuf | shuf-3.0: Success > [01:39:04] [113] [00:07:06] Finished devel/bsddialog | = bsddialog-0.4.1: Success > [main-amd64-bulk_a-default] [2023-09-03_13h48m45s] [sigint:] Queued: = 34588 Built: 752 Failed: 1 Skipped: 40 Ignored: 335 Fetched: = 0 Tobuild: 33460 Time: 01:38:56 > [01:39:06] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-03_1= 3h48m45s > [01:39:14] [12] [00:09:07] Finished archivers/rzip | rzip-2.1_1: = Success > [01:39:14] Cleaning up > exit: cannot open ./var/run/49_nohang.pid: No such file or directory > exit: cannot open ./var/run/87_nohang.pid: No such file or directory >=20 > After that ^t produced the likes of: >=20 > load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k > #0 0xffffffff80b6f103 at mi_switch+0x173 > #1 0xffffffff80bc0f24 at sleepq_switch+0x104 > #2 0xffffffff80aec4c5 at _cv_wait+0x165 > #3 0xffffffff82aba365 at txg_wait_open+0xf5 > #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 > #5 0xffffffff829a87d2 at zfs_rmnode+0x72 > #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d > #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 > #8 0xffffffff80c5a7d9 at vgonel+0x3a9 > #9 0xffffffff80c5af7f at vrecycle+0x3f > #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e > #11 0xffffffff80c598cf at vinactivef+0xbf > #12 0xffffffff80c590da at vput_final+0x2aa > #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 > #14 0xffffffff80c68588 at sys_unlink+0x28 > #15 0xffffffff8106323f at amd64_syscall+0x14f > #16 0xffffffff8103512b at fast_syscall_common+0xf8 >=20 > The console/logs do report "witness exhausted": >=20 > . . . > Sep 3 13:41:08 amd64-ZFS login[1751]: ROOT LOGIN (root) ON ttyv0 > Sep 3 13:51:35 amd64-ZFS kernel: witness_lock_list_get: witness = exhausted > Sep 3 14:26:38 amd64-ZFS kernel: pid 27418 (conftest), jid 245, uid = 0: exited on signal 11 (core dumped) > . . . >=20 > So it did not take long for the "witness exhausted" to > happen. >=20 > # uname -apKU > FreeBSD amd64-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT amd64 1500000 #74 = main-n265143-525bc87f54f2-dirty: Sun Sep 3 13:35:04 PDT 2023 = root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-dbg-clang/usr/main-src/amd64.amd= 64/sys/GENERIC-DBG amd64 amd64 1500000 1500000 >=20 >=20 > Looks like I'll be forcing the machine to reboot or > to power off. The media was deliberately set up for > doing risky tests. It is not my normal environment. >=20 Using -J64 instead of -J128. It does avoid "witness exhausted" for at least the 1st hour. [00:03:51] Building 34214 packages using up to 64 builders [00:03:51] Hit CTRL+t at any time to see build progress and stats [00:03:51] [01] [00:00:00] Builder starting [00:04:49] [01] [00:00:58] Builder started [00:04:49] [01] [00:00:00] Building ports-mgmt/pkg | pkg-1.20.6 [00:06:07] [01] [00:01:18] Finished ports-mgmt/pkg | pkg-1.20.6: Success [00:06:31] [01] [00:00:00] Building print/indexinfo | indexinfo-0.3.1 [00:06:31] [02] [00:00:00] Builder starting . . . [00:06:33] [64] [00:00:00] Builder starting [00:09:06] [01] [00:02:35] Finished print/indexinfo | indexinfo-0.3.1: = Success [00:09:08] [01] [00:00:00] Building devel/gettext-runtime | = gettext-runtime-0.22_1 [00:21:49] [16] [00:15:18] Builder started [00:21:49] [16] [00:00:00] Building devel/libdaemon | libdaemon-0.14_1 [00:21:49] [29] [00:15:17] Builder started [00:21:49] [20] [00:15:18] Builder started [00:21:49] [41] [00:15:17] Builder started [00:21:49] [29] [00:00:00] Building textproc/libunibreak | = libunibreak-5.1,1 [00:21:49] [20] [00:00:00] Building graphics/poppler-data | = poppler-data-0.4.12 [00:21:49] [35] [00:15:17] Builder started [00:21:49] [41] [00:00:00] Building archivers/libmspack | = libmspack-0.11alpha . . . [main-amd64-bulk_a-default] [2023-09-03_20h48m38s] [parallel_build:] = Queued: 34588 Built: 438 Failed: 1 Skipped: 50 Ignored: 335 = Fetched: 0 Tobuild: 33764 Time: 01:21:30 . . . ^C[01:21:57] [32] [00:07:04] Finished devel/p5-Test-Deep | = p5-Test-Deep-1.204: Success [01:21:57] Error: Signal SIGINT caught, cleaning up and exiting [01:22:03] [39] [00:06:01] Finished textproc/p5-Lingua-Stem-Ru | = p5-Lingua-Stem-Ru-0.04: Success [01:22:04] [35] [00:06:09] Finished devel/p5-ExtUtils-InstallPaths | = p5-ExtUtils-InstallPaths-0.012: Success [main-amd64-bulk_a-default] [2023-09-03_20h48m38s] [sigint:] Queued: = 34588 Built: 442 Failed: 1 Skipped: 50 Ignored: 335 Fetched: = 0 Tobuild: 33760 Time: 01:21:50 [01:22:04] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-03_2= 0h48m38s [01:22:11] Cleaning up (So only around 438 built in similar time frame relationship used for the -J128 test that got to more like 752. But -J128 had the "witness exhausted" status as well.) Turns out a measure of progress is the USED listed by zfs list for /usr/local/poudriere/data/.m/ . It spends lots of time waiting in various processes during its deletion activity. Previously I'd been told to use vfs.zfs.per_txg_dirty_frees_percent=3D5 instead of the default (30) in order to avoid ending up with sustained very small load averages in my poudiere bulk runs for my kind of context. (5 is the older default, as it turns out.) This may be somewhat of a deletion/cleanup stage variant of that sort of issue. It may be that trying a factor of 2+ for 32 hardware threads just does not scale the same as a factor of 2 did for folks using 4 hardware thread machines where testing for the deadlock issue. May be -J36 (so: 32+4) would be more reasonable for deadlock testing for this context, possibly avoiding running into these other issues so strongly. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 08:34:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfMPj0KNxz4sHNL; Mon, 4 Sep 2023 08:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfMPh6zDqz4JGm; Mon, 4 Sep 2023 08:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693816473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+qBhrEX+gH5rbfTiBzi2f14+0rYMar01d3P4ETlhTU=; b=eUVlViswRC2buG885e9sr6rWWUjSt3P1HGjFFLMuXhQGtNjNZfzcZoVJBJJB2xKc6GlMCq RkM1cjf48qgD9kJdwagsPEecGdlH5VOfJW22FjkMPIQpSw66bWtRQWbTM6qb1T/njCBm3J jhSnmdaVz9WBoo3aXdWLHU2kyQ7otH69Oz1jxTo+Gq+TsjIiloZn7syT5LYj4JyeNCoeab M/P6La5yl0T3dxu/66e0tZS3AbDK2JL5YuUhEvChzWb2S7gSDn1LDCYhsOSWt8dxLNX1w0 rPiDFABRLhKme7WKIoSTyuZ7AeOSUJQy6ywTjEk/M7RnC8326IblqZRwxUnIUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693816473; a=rsa-sha256; cv=none; b=My7U6J1y1udyvW7oAm8jRWcvmyq2lhq8DUbQjWTqKzDUw1htyrmFJYeyH0Uxm3RtHAyPHH eqePOr4ew+jnt6dB9Tu0XOiwlGZ4f/MEhq+sQbZRHab56Xh21VtxRwmPG5FYvcq2vH6QOi Fg/KEMuRclqqWqx3LWZo9EuhnCdaLlCcwUyVrN6kxsq0v69FQ5Cb9Nlh4FfqyqO0dFYNR6 7BAMVgIKEYdy2cksj+gqT+MjYOuzCGCmmOzzCGpa1zQUDmEwwTiPqBwL5IwMVoTovV4A13 Jf6+Ln3GDd4BNEJlsU7EBRx7AGF5Yvxv6mgKdbau/sxRrXT9iIVFEV2u0PN4YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693816473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+qBhrEX+gH5rbfTiBzi2f14+0rYMar01d3P4ETlhTU=; b=QuGJix9g9VFvwXvVeVgGth+hKf1qRLHmY/EN5SVQgL+q5Uj7R3zwjlakcR+lR6qLcn6nOJ FvdOAyIrt417LBwrbN50CjMJB/Gi8XwCdp+zhCiUOs2ayn/AOXFo+a35W4gT1TRZIxunxQ Ifv6m1fGOeXyw25lFGbo1Pfp9eSCi6hVUamck11zahCtMD2DDrvTKcWrcCv2oSDnbcRJ76 Y3FVwi4PohnRM8nZP8fDfTd1v2VD76crYEYTRp/gFj/gewHMxY55YT7Chw8I4mtU0HQajy q2w1XxteAX5lZns0sWc3GjXxm0CQaKcs6DJgdpauMl+bVRaGMNnSHOGsewhsEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfMPh5xmYz10HF; Mon, 4 Sep 2023 08:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3848YWog097318; Mon, 4 Sep 2023 08:34:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3848YWod097315; Mon, 4 Sep 2023 08:34:32 GMT (envelope-from git) Date: Mon, 4 Sep 2023 08:34:32 GMT Message-Id: <202309040834.3848YWod097315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 8524dc53fd4c - main - Merge commit 4bb2416d42eb from llvm-project (by Jessica Clarke): List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8524dc53fd4c6b79d75b82cb82f3ac72fc25e85f Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=8524dc53fd4c6b79d75b82cb82f3ac72fc25e85f commit 8524dc53fd4c6b79d75b82cb82f3ac72fc25e85f Author: Jessica Clarke AuthorDate: 2023-09-04 08:33:27 +0000 Commit: Jessica Clarke CommitDate: 2023-09-04 08:33:27 +0000 Merge commit 4bb2416d42eb from llvm-project (by Jessica Clarke): [builtins][AArch64] Implement _sync out-of-line atomics Whilst Clang does not use these, recent GCC does, and so on systems such as FreeBSD that wish to use compiler-rt as the system runtime library but also wish to support building programs with GCC these interfaces are needed. This is a light adaptation of the code committed to GCC by Sebastian Pop , relicensed with permission for use in compiler-rt. Fixes https://github.com/llvm/llvm-project/issues/63483 Reviewed By: sebpop, MaskRay Differential Revision: https://reviews.llvm.org/D158536 Reviewed by: dim MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41716 --- .../compiler-rt/lib/builtins/aarch64/lse.S | 40 ++++++++++++++++++++-- lib/libcompiler_rt/Makefile | 2 +- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/lse.S b/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/lse.S index 5dc0d5320b5a..1fe18f4a4681 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/lse.S +++ b/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/lse.S @@ -7,7 +7,7 @@ // Out-of-line LSE atomics helpers. Ported from libgcc library. // N = {1, 2, 4, 8} // M = {1, 2, 4, 8, 16} -// ORDER = {'relax', 'acq', 'rel', 'acq_rel'} +// ORDER = {'relax', 'acq', 'rel', 'acq_rel', 'sync'} // Routines implemented: // // iM __aarch64_casM_ORDER(iM expected, iM desired, iM *ptr) @@ -35,8 +35,8 @@ HIDDEN(___aarch64_have_lse_atomics) #endif // Generate mnemonics for -// L_cas: SIZE: 1,2,4,8,16 MODEL: 1,2,3,4 -// L_swp L_ldadd L_ldclr L_ldeor L_ldset: SIZE: 1,2,4,8 MODEL: 1,2,3,4 +// L_cas: SIZE: 1,2,4,8,16 MODEL: 1,2,3,4,5 +// L_swp L_ldadd L_ldclr L_ldeor L_ldset: SIZE: 1,2,4,8 MODEL: 1,2,3,4,5 #if SIZE == 1 #define S b @@ -64,24 +64,44 @@ HIDDEN(___aarch64_have_lse_atomics) #define L #define M 0x000000 #define N 0x000000 +#define BARRIER #elif MODEL == 2 #define SUFF _acq #define A a #define L #define M 0x400000 #define N 0x800000 +#define BARRIER #elif MODEL == 3 #define SUFF _rel #define A #define L l #define M 0x008000 #define N 0x400000 +#define BARRIER #elif MODEL == 4 #define SUFF _acq_rel #define A a #define L l #define M 0x408000 #define N 0xc00000 +#define BARRIER +#elif MODEL == 5 +#define SUFF _sync +#ifdef L_swp +// swp has _acq semantics. +#define A a +#define L +#define M 0x400000 +#define N 0x800000 +#else +// All other _sync functions have _seq semantics. +#define A a +#define L l +#define M 0x408000 +#define N 0xc00000 +#endif +#define BARRIER dmb ish #else #error #endif // MODEL @@ -96,7 +116,12 @@ HIDDEN(___aarch64_have_lse_atomics) #endif #define NAME(BASE) GLUE4(__aarch64_, BASE, SIZE, SUFF) +#if MODEL == 5 +// Drop A for _sync functions. +#define LDXR GLUE3(ld, xr, S) +#else #define LDXR GLUE4(ld, A, xr, S) +#endif #define STXR GLUE4(st, L, xr, S) // Define temporary registers. @@ -136,9 +161,15 @@ DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(cas)) STXR w(tmp1), s(1), [x2] cbnz w(tmp1), 0b 1: + BARRIER ret #else +#if MODEL == 5 +// Drop A for _sync functions. +#define LDXP GLUE2(ld, xp) +#else #define LDXP GLUE3(ld, A, xp) +#endif #define STXP GLUE3(st, L, xp) #ifdef HAS_ASM_LSE #define CASP GLUE3(casp, A, L) x0, x1, x2, x3, [x4] @@ -159,6 +190,7 @@ DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(cas)) STXP w(tmp2), x2, x3, [x4] cbnz w(tmp2), 0b 1: + BARRIER ret #endif END_COMPILERRT_OUTLINE_FUNCTION(NAME(cas)) @@ -180,6 +212,7 @@ DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(swp)) LDXR s(0), [x1] STXR w(tmp1), s(tmp0), [x1] cbnz w(tmp1), 0b + BARRIER ret END_COMPILERRT_OUTLINE_FUNCTION(NAME(swp)) #endif // L_swp @@ -224,6 +257,7 @@ DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(LDNM)) OP s(tmp1), s(0), s(tmp0) STXR w(tmp2), s(tmp1), [x1] cbnz w(tmp2), 0b + BARRIER ret END_COMPILERRT_OUTLINE_FUNCTION(NAME(LDNM)) #endif // L_ldadd L_ldclr L_ldeor L_ldset diff --git a/lib/libcompiler_rt/Makefile b/lib/libcompiler_rt/Makefile index 1ba94bc5eec8..f894d68e6478 100644 --- a/lib/libcompiler_rt/Makefile +++ b/lib/libcompiler_rt/Makefile @@ -22,7 +22,7 @@ MK_WERROR.gcc= no .if ${MACHINE_CPUARCH} == "aarch64" . for pat in cas swp ldadd ldclr ldeor ldset . for size in 1 2 4 8 16 -. for model in 1 2 3 4 +. for model in 1 2 3 4 5 . if ${pat} == "cas" || ${size} != "16" # Use .for to define lse_name, to get a special loop-local variable . for lse_name in outline_atomic_${pat}${size}_${model}.S From nobody Mon Sep 4 09:00:43 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfN0D5pSrz4sP8b for ; Mon, 4 Sep 2023 09:01:00 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfN0B4qkdz4NNT for ; Mon, 4 Sep 2023 09:00:58 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=KNopLBbI; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693818056; bh=CHX9AuXEC0SsIR9QLqT3UWvm/eN/3krrWUOM4Vd8kRY=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=KNopLBbIW/D4Y9Y4hSvuyb9S0BRxMyidSIbzjumqIG9jdUTZ1R6gvpC0WQkGohOLfB0jMD11kY+Q5on9ZsTbf7tavqi/EoeDOTCXo+5IM3Q3xS5txEXHMFQ0tX6JReoH6rMBQmzKu0oQR2jFrPm1dFZbEr/tZJvtnvGC8YdoOhroKbWBiQzYTB1Z54mWakp86HTrjLt46RNrmMJKQMI0TIPrUr0gegfpkbpzILJZlbqcekroRYNz/ElWwL8R7VBHkfhy3fB30ywLRg7zhOlthmBIuuWDhKGfpoeS3uPOk2WSdE2jlioj54I3BU4XfaN/hMF22eJEeaJRGsb8rIG9Xg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693818056; bh=XYtExZGqLnqk4UfLE/l+r+fAZH41bSRiu0ony9SSQBH=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=IDh/eqZ3HmsnZZtkBSCbgVZjVYjRnDScXTvJ23OXrEIOCrGKCHyzoLJ+YtmWux1fBwoq65TIB/sV6uEU4sSfdwl+v2FB+p28KLxkDGVkQ5Qux04lCyeqNkgyQzlWNIeoLOr/ZImF1xrx9r/GDE7LiHxg1CwB5/542pzoVdtUHRNUpre0BbQGtoc0ljb6OcSm4xk1SxWE4tSqr2nbO1e+l+7+6/9oqv0jBlbscrGAJUzG0A5gRXGxKZcNCKgsSqTKNarD3yP0GeHGOhY0aZ0Bj4cYEEje6Npe7xbV1EOiGhFeMuyAhAbN8D3uw6Lvk5zcuD4ZJfNfvm8qBAba7h6qxg== X-YMail-OSG: WtZQID4VM1lIr2uGozkTwOMbhoQmidL3uRk08lps8aCnhx_qi2hzEw0YS83SVga SgnB1P88ZiwsDDINQEurokl374n._TWaQa_qsS0ZsQgby6FTycNVXjCItX19vuFPN6ccyzgTcCWM ftP2lAWLgG4JRE9QoZIgXG6yzmZq7p7jslhvWyhJlgFZd7l.xRyjZtdp15GZlJN0zQSVg2O.qL.C qUvVuymJX8YehbahPxWL8vYgKssx3p2jQs_BbRGLhBAgPZGuIi95BZibUOZwWguj5_ghkj2KLRkP Ggsvp5h7BrvJ_9A_bldCW9IDboSLkdY7zQT0BZuI8mFhfWNqDUVFztLDYK92C5r6E2hwwj4H7.lX BBD2ubTOHY2KaZbZZUnh0JZu_A2FDN4JDukuI3nrzMsurPqaGbYi2405VY_pKOLN7uQFrsHpRVkS i.83rHfrqNbVa.H3yyt5aecuZxCJsa0L5PjAgzqAelnIGwJJmxBuOvMtA_N3nL_9IjcmTYL9Pykf s8XXgTSrkWRwbYitU.syIGv.otgsQHBF6abtxmhy7mn84Y01OSMf89nUMyoLh2ISjzI8.QZrxk.9 t_JfiuWk5xPnVol2NO4uDL6PSrOrsfgcj4Wu6lC_cfVZAz08kJHbaiBJgp3pu12Jzygn_F3mbtKe fIXjIwrSSgLrckArVmXQwn3K7NKe_rd6qPFzCy.UhvAgvwyTy9gG.TIuuANVCqQ8os7bNpDTZsQ6 g1wrHEs97VTtE1G6yJ29EPSud4aa5sypFNxq8biEO1QJ9R9JXL6WZjfC9kSeAmPsolAwoEUd3icI VtFIAKRqDchhTT7lLMAIUzdl8i_smf7NBMRl2yhYYGYu5dCeVImMPwu1fgRRU.tYDHCDAyWsJ031 JrPEtHX2ta8l4IA3Dti8_YD6BgII96t3uYLOAalLBlXE54CLZWjgmnbRMkOXAttE9Cjg14DWLlXk KLHpI7elZ.bY6WVP17Rvhhgj3.03.CG5k2E6y46xe_2TJUAOdWLWErMP_k7N1sxosT2vYMIlW8Sq oIPpnlCK.JrBzq5rTAgpQT2jCOJJ1wUk.7PXZ6PpQdlk0lzTgXS0VPUReE7rTMe6UiQ02EztN9Pz gAePBoEAtufOPHfA39Z8c271Ajz6YorYC6e6seNSW3gP5s.AienwAzy7NbOw1AMcg.hBUAENKz_Q 1YB5j3rWHdw1GsAanP7nqiLalif0v1BzRJoOTpweqAaK94HDcJB4gBD7MwZLeUrUmwaOApSoO9kG 5eX3Z2fRh2qKJDNmvl6DqM_V_3PVIk3Cjdu8ch8fqvxHeUQg5J6_4YYcvZLdI_WkttRg__VAIHPR 6VH7fGC.9axtZ_zzzRsm9_RUpgYA1tq56o7Xq0ykpSV98fcMtBPMin9uqA2DEgpz0xUSG4CUwWmx 4SDTJx81dItkasrBk.IIxmpjfu1E0mqZIR.lv85dh3KUdjCTGKqVnNO6s9Srat1x8GtRuZNp.GD7 ObVYuaSN2FBNZUifAbeAiD6y1RE7FZNEvLLj7xMsbQlD3z01B36.XtLiV9r.1lUM2S8.KPKGN6hS 4_Kl7l.iijAPXhdTDeGvTY.9oGggmKBuqlZuoi98bnZyqkIis9ReYknbBLlXph5Ibcz0RT4kxB7R 0N4nPNstXD4AkGcR1RnTJu22qSPdKVuDcxX5MkTZZIAb5oh7npdzM3mYgup5gKhogUdgVBm5R6V4 I6UKOUMzkmtEeDuZCY0mhONgbwF1gjapzMurbPGapLPDeBB_8.PDAmsYcfY3rO17Xiq9YnmrL1n6 8NetUIc9KWJPJ9PzhxMHqeNcP0Ijj3Yl.Dnvp4SW52ly_CHpWKSl1Mf.GFL1nyjqFEveIDYG7q0P 5UNzsk.ZobIQ1naBJsWzOkz3aIY5wfwHZVagJIzBZeNIkPr5C0oqKNn1FMJz2EhhQHXLnaVbylqb 4UIxwjHMUu5y8EVnQmBul.vkS3MovYq43z_39mEUqMWg9F2BPnpHV.Q6A3CPNMd61a31Npxrwy9T uqkl2WCjW59L80.83f_G7_Xgz0rvTfgaZikFM8rqheT6IWh2cCY7dka8YN_XChyBj4P8T_Tr5SEs n4C9adM5Z67yGl_WnKE3gH_0OBB9f8afEaalDd2QKKn1IIoNgvOTSXNoWIGBj4iQzp6xpbDifXbk 9UjwlfkFfW8VtCIIo5FglZt0DqPZSastJqJrpNOqMqHRLj366JcfxFmcUIYnloFWz6JTCIc7vh7L hZMB5YHObJQUDOZllhPDjuZyuMqOGfXfe_4vo0pv.TZvwvXsbaSrft8yXXdQm5.kFL3Ob7dzwDIi 6Tfo- X-Sonic-MF: X-Sonic-ID: 3b2439b6-fad8-4bac-ad76-261dc8c6f2d7 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 09:00:56 +0000 Received: by hermes--production-gq1-6b7c87dcf5-m4lb7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 791c618462618c3e19592c232153a7e3; Mon, 04 Sep 2023 09:00:54 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> Date: Mon, 4 Sep 2023 02:00:43 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.82:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.82:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfN0B4qkdz4NNT On Sep 3, 2023, at 23:35, Mark Millard wrote: > On Sep 3, 2023, at 22:06, Alexander Motin wrote: >=20 >>=20 >> On 03.09.2023 22:54, Mark Millard wrote: >>> After that ^t produced the likes of: >>> load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k >>=20 >> So the full state is not "tx->tx", but is actually a = "tx->tx_quiesce_done_cv", which means the thread is waiting for new = transaction to be opened, which means some previous to be quiesced and = then synced. >>=20 >>> #0 0xffffffff80b6f103 at mi_switch+0x173 >>> #1 0xffffffff80bc0f24 at sleepq_switch+0x104 >>> #2 0xffffffff80aec4c5 at _cv_wait+0x165 >>> #3 0xffffffff82aba365 at txg_wait_open+0xf5 >>> #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 >>=20 >> Here it seems like transaction commit is waited due to large amount = of delete operations, which ZFS tries to spread between separate TXGs. >=20 > That fit the context: cleaning out /usr/local/poudriere/data/.m/ >=20 >> You should probably see some large and growing number in sysctl = kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . >=20 > After the reboot I started a -J64 example. It has avoided the > early "witness exhausted". Again I ^C'd after about an hours > after the 2nd builder had started. So: again cleaning out > /usr/local/poudriere/data/.m/ Only seconds between: >=20 > # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay > kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276042 >=20 > # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay > kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276427 >=20 > # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay > kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 277323 >=20 > # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay > kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 278027 >=20 > I have found a measure of progress: zfs list's USED > for /usr/local/poudriere/data/.m is decreasing. So > ztop's d/s was a good classification: deletes. >=20 >>> #5 0xffffffff829a87d2 at zfs_rmnode+0x72 >>> #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d >>> #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 >>> #8 0xffffffff80c5a7d9 at vgonel+0x3a9 >>> #9 0xffffffff80c5af7f at vrecycle+0x3f >>> #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e >>> #11 0xffffffff80c598cf at vinactivef+0xbf >>> #12 0xffffffff80c590da at vput_final+0x2aa >>> #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 >>> #14 0xffffffff80c68588 at sys_unlink+0x28 >>> #15 0xffffffff8106323f at amd64_syscall+0x14f >>> #16 0xffffffff8103512b at fast_syscall_common+0xf8 >>=20 >> What we don't see here is what quiesce and sync threads of the pool = are actually doing. Sync thread has plenty of different jobs, including = async write, async destroy, scrub and others, that all may delay each = other. >>=20 >> Before you rebooted the system, depending how alive it is, could you = save a number of outputs of `procstat -akk`, or at least specifically = `procstat -akk | grep txg_thread_enter` if the full is hard? Or somehow = else observe what they are doing. >=20 > # procstat -akk > ~/mmjnk00.txt > # procstat -akk > ~/mmjnk01.txt > # procstat -akk > ~/mmjnk02.txt > # procstat -akk > ~/mmjnk03.txt > # procstat -akk > ~/mmjnk04.txt > # procstat -akk > ~/mmjnk05.txt > # grep txg_thread_enter ~/mmjnk0[0-5].txt > /usr/home/root/mmjnk00.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk00.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk01.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk01.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk02.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk02.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk03.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk03.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk04.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk04.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk05.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 > /usr/home/root/mmjnk05.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >=20 > (Hopefully that will be a sufficiently useful start.) >=20 >> `zpool status`, `zpool get all` and `sysctl -a` would also not harm. >=20 > It is a very simple zpool configuration: one partition. > I only use it for bectl BE reasons, not the general > range of reasons for using zfs. I created the media with > my normal content, then checkpointed before doing the > git fetch to start to set up the experiment. >=20 > # zpool status > pool: zamd64 > state: ONLINE > status: Some supported and requested features are not enabled on the = pool. > The pool can still be used, but some features are unavailable. > action: Enable all features using 'zpool upgrade'. Once this is done, > the pool may no longer be accessible by software that does not support > the features. See zpool-features(7) for details. > checkpoint: created Sun Sep 3 11:46:54 2023, consumes 2.17M > config: >=20 > NAME STATE READ WRITE CKSUM > zamd64 ONLINE 0 0 0 > gpt/amd64zfs ONLINE 0 0 0 >=20 > errors: No known data errors >=20 > There was also a snapshot in place before I did the > checkpoint operation. >=20 > I deliberately did not use my typical openzfs-2.1-freebsd=20 > for compatibility but used defaults when creating the pool: >=20 > # zpool get all > NAME PROPERTY VALUE = SOURCE > zamd64 size 872G = - > zamd64 capacity 21% = - > zamd64 altroot - = default > zamd64 health ONLINE = - > zamd64 guid 4817074778276814820 = - > zamd64 version - = default > zamd64 bootfs zamd64/ROOT/main-amd64 = local > zamd64 delegation on = default > zamd64 autoreplace off = default > zamd64 cachefile - = default > zamd64 failmode wait = default > zamd64 listsnapshots off = default > zamd64 autoexpand off = default > zamd64 dedupratio 1.00x = - > zamd64 free 688G = - > zamd64 allocated 184G = - > zamd64 readonly off = - > zamd64 ashift 0 = default > zamd64 comment - = default > zamd64 expandsize - = - > zamd64 freeing 0 = - > zamd64 fragmentation 17% = - > zamd64 leaked 0 = - > zamd64 multihost off = default > zamd64 checkpoint 2.17M = - > zamd64 load_guid 17719601284614388220 = - > zamd64 autotrim off = default > zamd64 compatibility off = default > zamd64 bcloneused 0 = - > zamd64 bclonesaved 0 = - > zamd64 bcloneratio 1.00x = - > zamd64 feature@async_destroy enabled = local > zamd64 feature@empty_bpobj active = local > zamd64 feature@lz4_compress active = local > zamd64 feature@multi_vdev_crash_dump enabled = local > zamd64 feature@spacemap_histogram active = local > zamd64 feature@enabled_txg active = local > zamd64 feature@hole_birth active = local > zamd64 feature@extensible_dataset active = local > zamd64 feature@embedded_data active = local > zamd64 feature@bookmarks enabled = local > zamd64 feature@filesystem_limits enabled = local > zamd64 feature@large_blocks enabled = local > zamd64 feature@large_dnode enabled = local > zamd64 feature@sha512 enabled = local > zamd64 feature@skein enabled = local > zamd64 feature@edonr enabled = local > zamd64 feature@userobj_accounting active = local > zamd64 feature@encryption enabled = local > zamd64 feature@project_quota active = local > zamd64 feature@device_removal enabled = local > zamd64 feature@obsolete_counts enabled = local > zamd64 feature@zpool_checkpoint active = local > zamd64 feature@spacemap_v2 active = local > zamd64 feature@allocation_classes enabled = local > zamd64 feature@resilver_defer enabled = local > zamd64 feature@bookmark_v2 enabled = local > zamd64 feature@redaction_bookmarks enabled = local > zamd64 feature@redacted_datasets enabled = local > zamd64 feature@bookmark_written enabled = local > zamd64 feature@log_spacemap active = local > zamd64 feature@livelist enabled = local > zamd64 feature@device_rebuild enabled = local > zamd64 feature@zstd_compress enabled = local > zamd64 feature@draid enabled = local > zamd64 feature@zilsaxattr active = local > zamd64 feature@head_errlog active = local > zamd64 feature@blake3 enabled = local > zamd64 feature@block_cloning enabled = local > zamd64 feature@vdev_zaps_v2 active = local > zamd64 feature@redaction_list_spill disabled = local >=20 > /etc/sysctl.conf does have: >=20 > vfs.zfs.min_auto_ashift=3D12 > vfs.zfs.per_txg_dirty_frees_percent=3D5 >=20 > The vfs.zfs.per_txg_dirty_frees_percent is from prior > Mateusz Guzik help, where after testing the change I > reported: >=20 > Result summary: Seems to have avoided the sustained periods > of low load average activity. Much better for the context. >=20 > But it was for a different machine (aarch64, 8 cores). But > it was for poudriere bulk use. >=20 > Turns out the default of 30 was causing sort of like > what is seen here: I could have presented some of the > information via the small load average figures here. >=20 > (Note: 5 is the old default, 30 is newer. Other contexts > have other problems with 5: no single right setting and > no automated configuration.) >=20 > Other than those 2 items, zfs is untuned (defaults). >=20 > sysctl -a is a lot more output (864930 Bytes) so I'll skip > it for now. >=20 >> PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me = shiver. Make sure there is no storage problems, like some huge delays, = timeouts, etc, that can be seen, for example, as busy percents regularly = spiking far above 100% in your `gstat -spod`. >>=20 >=20 > The "gstat -spod" output showed (and shows): around 0.8ms/w to 3ms/w, > mostly at the lower end of the range. < 98%busy, no spikes to > 100%. > It is a previously unused Samsung PSSD T7 Touch. A little more context here: that is for the "kB" figures seen during the cleanup/delete activity. During port builds into packages larger "kB" figures are seen and the ms/w figures will tend to be larger as well. The larger sizes can also lead to reaching somewhat above 100 %busy some of the time. I'll also note that I've ended up doing a lot more write activity exploring than I'd expected. > I was not prepared to replace the content of a PCIe slot's media > or M.2 connection's media for the temporary purpose. No spare > supply for those so no simple swapping for those. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 09:56:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfPF428KNz4rRlx for ; Mon, 4 Sep 2023 09:57:12 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-23.consmr.mail.gq1.yahoo.com (sonic303-23.consmr.mail.gq1.yahoo.com [98.137.64.204]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfPF23wVTz3Cw5 for ; Mon, 4 Sep 2023 09:57:10 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=iHWcXbE1; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.204 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693821428; bh=NFiWHdIsJzWn1ErCVl7kd+aBOElqxl6VmMbadABmM2A=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=iHWcXbE1IYKP3w9qHrOluJ2V8DIPPoxmOecipf4ePMzqh29oe2ukQtJlQkLt9AgMZMPKq5oautSZC+vBN+EiUt+89uTB6wE78rokkB2LCPfLF0IeiY1Zc+5HJ52FrlcLGnXEzTd4Fg7UAqY5Q+SrWp/FQcNa0VaVgS22tkVz/Egp4+2Gkufs4No3RqpT+Cb50dN8e9GzheS4XOPypOQOt/SuOsQchjOfVAWSnkswpHQWVcr0fBlnJNLoTO+srmSA6082OfuKooyMTQsewu5rbW2lh5Mdvk2ZuQhb+vSxCICZy6HBeBs5D60zg71tiU4eLPos+baQYn6lXH9BX2UjfA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693821428; bh=CJUNwyW7sprvM9gODyQOUN09iHl+6NOb8BYGg3YnCMz=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=RvFV9lYXdDqaw2HaIZAgHCaVXaUF2fcDYcXaZGNMYxdOOaUa1XfZiXWRy37rqgFrxlQGd/ZUdKy5C3kuMoBdntIGsufYffvWi/oEEgPxYpXVy0nban3pXY89fum3Pjt/hNSyrrghNU7+eoaiBCPDADcoPtua5SkEu96D8fFKlG4vWYwQBbGscMT4sncdMolEM+t53gdDskj9ytR8VQMvlGMagkM9j0pZXyo9KbPPshluXptK1haSHYiSAHegNXb1/IMf1/bPrYv6H49BYR3jhRNPmn8hniKSut/D9b4P4rJS13ispCW3uMUNBBRms+Z6cJcjjZXi0J7LQ6Nn3t5OUQ== X-YMail-OSG: uvJb7sMVM1kJ1TvOKlB5RVRP9iq0mP97tuWMBlnnQWZtFcCsKp.eCDr6fsV6otc V0hlc5GonkH.p1EnKA8zGKLCaPtMMJ4c1OHziuHv9R53SNFgb2BskSYduDRK6Of8NBnGxkbaAl.W K.WGsfMsT_vGE1I1_qftf8jXYms_Yba3C7k_kmaFIEaLYcIshq3fQcrbt_HRwfYZ39D1OOjXJ87N DIP15rehie3Qy.oInzGVNYwxTr_iVpMAZomk1rEmwZu3Jub7vR2v235d09QTpm7SFHQDT51hIpVT 8d2FTB2lh0r6OAjGiZd9ubG5On4LOcf0FgE7qHikqkPYKHHZdbxixRtcpLMrjPtQJU4FScad0DE7 eVe1rKfl002AzlteQwa3FReENIA0.mDkobjcjnnwFKOvHOi9Wvy5eWkeRF6.IH2gIaZKg3jt18ii IUFKNv9gSXKXqPrYtB9hZ2qTauY2n5TfPw5KgqKxk60HvRqVHBfqLohk4hLrz3WruofMObOMF5kf na.NyY3CTPAq.Ah6Jg8LIO38Wjy9xSlFtQiS6pxESuRE3QphOyJZQuUUR2g2HqPRhC6hY8BY.eu9 ZAWS3Pb3RX6yC7cqXSh__Zf4jFch6ABl_aiNHyjnnVNc9NvSStVAyYnUInUDxyn4nr5Rr_kpaSWe CvmKUlAjM4NBRizlwJgSjP085uhNHGEndgXG93lSINVqoZkXY2GMWZAu3P1t.BHcsuGSL7eMCf7Y mw050NgSx.0mVQUKYMdu5_eWQmQfEKTrzHB9uoByOPIOhHoCNu3Ru0caP97vCDYmQmDyDGLi3GpO KBE7xUzhgI6ZmDYoS0NM.3L4XmwAopR2U0sHdeOuTmDJLE8d.ZT8QldLVG0PO5VH.9mVDNIeLJWA f_ublXf851eHrVv6POInhx5Mw.tvBSj4k1kek_hFQ857bjEqEj9PemmQcDXmhOPbL9PSGZoVditM yzD03j4d0am0iJS.WqI7lb6NCpZuhDSFkwWyU2s0N96EsPdP7ptvYUzfRcunmAR5txtwdnmbsnKY M8ePcvlP5GU2mPicVJdkIVKMMocWnfOkfTI6PyY0JKlbLTUTt3ty4bpSS3F.5_uNVi_e7sH7H6SU EeZXVLVLT4DO5iCgwmOOPkkw7qODSvQH2ItI3vF7A9_Qt.UBtELjf5aNW_ECjEfd0v0uYYPNaVBa UIFFlHYf9H0FqBifEUeYBUwzHJgbNuSTnP59PzMSsuIbGG0JIcyqTxivY3nNg4Nh6nVGl9l2HL84 76T3GV3qx3EwHvG2Z5tBtjwTHWG7PsMWIeVszPgglfAmWH7RJEDsKx.HIJglY5YcGUpBS31_j1In iBFA7uH.qrAcDlI43ozjzxym1eLgG.ncd24uF_GgsKmMHDTG7IHE_BapSgcpmgc7gohH2aJF7c81 grMYFw7CWpr5dL9k9PhkyCg6V3JP2GrQA0nrfU5Xo_1Jqqytposg3cR15XIO5mBfDcKgp9MExRIu gJ5DWh2MdKYLXbgdqIq3oiU0X1plai17RnFonIMS4T.xw_c3q7_4N9UVFV912GnNkHOS33VNRZ9c 50pfaIwK3_t6PKc6yEdS2rucdb8r2VXZ9Qe9dQEZCbWl339FOOakeYrJ8ndEsuqZusItF7gFS3lY yOcg4qh9rzY9ttG46KByzLr6pB2APsEd52_y4uonNLfF1EG14HrVLeSPeFwRwmnbKPEjC2QsO5gK h.dD5n1FSaaU_hmI8Y4tuy0T.wPT4UjPw7Lx1moNu6_LN3DD1QG7EABiTq.HOtzXO0yUkk6BSHx2 otRG6x9MidALbbH0yro.ZSn4Dsklo9CBx5uK4XLHqJ9_qBOwo95wwFadim.oDqa3dY8JVgKAAQSa h5IvgJUdk2kENZJ9B8GEK0iHNq0QPPZLOHZnvbFpAwIziyKtjDstjYaVjt349vP0JEAUQXmzylzd O_RKnlmV.qko7WageZ3WNFstisXg4g8YfUi3SgBnaLjItI_1XATbxVZvPXqPU8TR5a89c013ws.y aYTSe0my8YZGMU9p14fWQ.oECju748C1lxDE3ThY.IxoASy44nIe1kDdVN2TqSNjPWEO39.UfZ_H JQ1luF7gNcBhgKts786fJwjevbczJh68nU.alQhvlwy4ZG.JBTOrr99Qis986FnJsDSIUotiK7XB ybyg.QQRDSDepqCCnynmg7asfsFqM9okaidpHlVVEgcc2cfVx_aYJXJRmgIsmmBlYyKynn_bcXRV 6oxmdHJngbQY6kFtpZYN3m9_HEuJvWgxw_oVzNm5qJsNAcGtyB74mJR8aSQhFK.ZBiCaDhHhJxTk TVlw- X-Sonic-MF: X-Sonic-ID: 564e4d60-190f-4343-8ab5-678944ecda5e Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 09:57:08 +0000 Received: by hermes--production-gq1-6b7c87dcf5-rj56s (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID bd7e704fa70995972c77a0f07d2f2e73; Mon, 04 Sep 2023 09:57:03 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> Date: Mon, 4 Sep 2023 02:56:53 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.48 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.983]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BLOCKLISTDE_FAIL(0.00)[98.137.64.204:server fail]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.204:from]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.204:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfPF23wVTz3Cw5 On Sep 4, 2023, at 02:00, Mark Millard wrote: > On Sep 3, 2023, at 23:35, Mark Millard wrote: >=20 >> On Sep 3, 2023, at 22:06, Alexander Motin wrote: >>=20 >>>=20 >>> On 03.09.2023 22:54, Mark Millard wrote: >>>> After that ^t produced the likes of: >>>> load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k >>>=20 >>> So the full state is not "tx->tx", but is actually a = "tx->tx_quiesce_done_cv", which means the thread is waiting for new = transaction to be opened, which means some previous to be quiesced and = then synced. >>>=20 >>>> #0 0xffffffff80b6f103 at mi_switch+0x173 >>>> #1 0xffffffff80bc0f24 at sleepq_switch+0x104 >>>> #2 0xffffffff80aec4c5 at _cv_wait+0x165 >>>> #3 0xffffffff82aba365 at txg_wait_open+0xf5 >>>> #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 >>>=20 >>> Here it seems like transaction commit is waited due to large amount = of delete operations, which ZFS tries to spread between separate TXGs. >>=20 >> That fit the context: cleaning out /usr/local/poudriere/data/.m/ >>=20 >>> You should probably see some large and growing number in sysctl = kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . >>=20 >> After the reboot I started a -J64 example. It has avoided the >> early "witness exhausted". Again I ^C'd after about an hours >> after the 2nd builder had started. So: again cleaning out >> /usr/local/poudriere/data/.m/ Only seconds between: >>=20 >> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276042 >>=20 >> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276427 >>=20 >> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 277323 >>=20 >> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 278027 >>=20 >> I have found a measure of progress: zfs list's USED >> for /usr/local/poudriere/data/.m is decreasing. So >> ztop's d/s was a good classification: deletes. >>=20 >>>> #5 0xffffffff829a87d2 at zfs_rmnode+0x72 >>>> #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d >>>> #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 >>>> #8 0xffffffff80c5a7d9 at vgonel+0x3a9 >>>> #9 0xffffffff80c5af7f at vrecycle+0x3f >>>> #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e >>>> #11 0xffffffff80c598cf at vinactivef+0xbf >>>> #12 0xffffffff80c590da at vput_final+0x2aa >>>> #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 >>>> #14 0xffffffff80c68588 at sys_unlink+0x28 >>>> #15 0xffffffff8106323f at amd64_syscall+0x14f >>>> #16 0xffffffff8103512b at fast_syscall_common+0xf8 >>>=20 >>> What we don't see here is what quiesce and sync threads of the pool = are actually doing. Sync thread has plenty of different jobs, including = async write, async destroy, scrub and others, that all may delay each = other. >>>=20 >>> Before you rebooted the system, depending how alive it is, could you = save a number of outputs of `procstat -akk`, or at least specifically = `procstat -akk | grep txg_thread_enter` if the full is hard? Or somehow = else observe what they are doing. >>=20 >> # procstat -akk > ~/mmjnk00.txt >> # procstat -akk > ~/mmjnk01.txt >> # procstat -akk > ~/mmjnk02.txt >> # procstat -akk > ~/mmjnk03.txt >> # procstat -akk > ~/mmjnk04.txt >> # procstat -akk > ~/mmjnk05.txt >> # grep txg_thread_enter ~/mmjnk0[0-5].txt >> /usr/home/root/mmjnk00.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk00.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk01.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk01.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk02.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk02.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk03.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk03.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk04.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk04.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk05.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe=20 >> /usr/home/root/mmjnk05.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe=20 >>=20 >> (Hopefully that will be a sufficiently useful start.) >>=20 >>> `zpool status`, `zpool get all` and `sysctl -a` would also not harm. >>=20 >> It is a very simple zpool configuration: one partition. >> I only use it for bectl BE reasons, not the general >> range of reasons for using zfs. I created the media with >> my normal content, then checkpointed before doing the >> git fetch to start to set up the experiment. >>=20 >> # zpool status >> pool: zamd64 >> state: ONLINE >> status: Some supported and requested features are not enabled on the = pool. >> The pool can still be used, but some features are unavailable. >> action: Enable all features using 'zpool upgrade'. Once this is done, >> the pool may no longer be accessible by software that does not = support >> the features. See zpool-features(7) for details. >> checkpoint: created Sun Sep 3 11:46:54 2023, consumes 2.17M >> config: >>=20 >> NAME STATE READ WRITE CKSUM >> zamd64 ONLINE 0 0 0 >> gpt/amd64zfs ONLINE 0 0 0 >>=20 >> errors: No known data errors >>=20 >> There was also a snapshot in place before I did the >> checkpoint operation. >>=20 >> I deliberately did not use my typical openzfs-2.1-freebsd=20 >> for compatibility but used defaults when creating the pool: >>=20 >> # zpool get all >> NAME PROPERTY VALUE = SOURCE >> zamd64 size 872G = - >> zamd64 capacity 21% = - >> zamd64 altroot - = default >> zamd64 health ONLINE = - >> zamd64 guid 4817074778276814820 = - >> zamd64 version - = default >> zamd64 bootfs zamd64/ROOT/main-amd64 = local >> zamd64 delegation on = default >> zamd64 autoreplace off = default >> zamd64 cachefile - = default >> zamd64 failmode wait = default >> zamd64 listsnapshots off = default >> zamd64 autoexpand off = default >> zamd64 dedupratio 1.00x = - >> zamd64 free 688G = - >> zamd64 allocated 184G = - >> zamd64 readonly off = - >> zamd64 ashift 0 = default >> zamd64 comment - = default >> zamd64 expandsize - = - >> zamd64 freeing 0 = - >> zamd64 fragmentation 17% = - >> zamd64 leaked 0 = - >> zamd64 multihost off = default >> zamd64 checkpoint 2.17M = - >> zamd64 load_guid 17719601284614388220 = - >> zamd64 autotrim off = default >> zamd64 compatibility off = default >> zamd64 bcloneused 0 = - >> zamd64 bclonesaved 0 = - >> zamd64 bcloneratio 1.00x = - >> zamd64 feature@async_destroy enabled = local >> zamd64 feature@empty_bpobj active = local >> zamd64 feature@lz4_compress active = local >> zamd64 feature@multi_vdev_crash_dump enabled = local >> zamd64 feature@spacemap_histogram active = local >> zamd64 feature@enabled_txg active = local >> zamd64 feature@hole_birth active = local >> zamd64 feature@extensible_dataset active = local >> zamd64 feature@embedded_data active = local >> zamd64 feature@bookmarks enabled = local >> zamd64 feature@filesystem_limits enabled = local >> zamd64 feature@large_blocks enabled = local >> zamd64 feature@large_dnode enabled = local >> zamd64 feature@sha512 enabled = local >> zamd64 feature@skein enabled = local >> zamd64 feature@edonr enabled = local >> zamd64 feature@userobj_accounting active = local >> zamd64 feature@encryption enabled = local >> zamd64 feature@project_quota active = local >> zamd64 feature@device_removal enabled = local >> zamd64 feature@obsolete_counts enabled = local >> zamd64 feature@zpool_checkpoint active = local >> zamd64 feature@spacemap_v2 active = local >> zamd64 feature@allocation_classes enabled = local >> zamd64 feature@resilver_defer enabled = local >> zamd64 feature@bookmark_v2 enabled = local >> zamd64 feature@redaction_bookmarks enabled = local >> zamd64 feature@redacted_datasets enabled = local >> zamd64 feature@bookmark_written enabled = local >> zamd64 feature@log_spacemap active = local >> zamd64 feature@livelist enabled = local >> zamd64 feature@device_rebuild enabled = local >> zamd64 feature@zstd_compress enabled = local >> zamd64 feature@draid enabled = local >> zamd64 feature@zilsaxattr active = local >> zamd64 feature@head_errlog active = local >> zamd64 feature@blake3 enabled = local >> zamd64 feature@block_cloning enabled = local >> zamd64 feature@vdev_zaps_v2 active = local >> zamd64 feature@redaction_list_spill disabled = local >>=20 >> /etc/sysctl.conf does have: >>=20 >> vfs.zfs.min_auto_ashift=3D12 >> vfs.zfs.per_txg_dirty_frees_percent=3D5 >>=20 >> The vfs.zfs.per_txg_dirty_frees_percent is from prior >> Mateusz Guzik help, where after testing the change I >> reported: >>=20 >> Result summary: Seems to have avoided the sustained periods >> of low load average activity. Much better for the context. >>=20 >> But it was for a different machine (aarch64, 8 cores). But >> it was for poudriere bulk use. >>=20 >> Turns out the default of 30 was causing sort of like >> what is seen here: I could have presented some of the >> information via the small load average figures here. >>=20 >> (Note: 5 is the old default, 30 is newer. Other contexts >> have other problems with 5: no single right setting and >> no automated configuration.) >>=20 >> Other than those 2 items, zfs is untuned (defaults). >>=20 >> sysctl -a is a lot more output (864930 Bytes) so I'll skip >> it for now. >>=20 >>> PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me = shiver. Make sure there is no storage problems, like some huge delays, = timeouts, etc, that can be seen, for example, as busy percents regularly = spiking far above 100% in your `gstat -spod`. >>>=20 >>=20 >> The "gstat -spod" output showed (and shows): around 0.8ms/w to 3ms/w, >> mostly at the lower end of the range. < 98%busy, no spikes to > 100%. >> It is a previously unused Samsung PSSD T7 Touch. >=20 > A little more context here: that is for the "kB" figures seen > during the cleanup/delete activity. During port builds into > packages larger "kB" figures are seen and the ms/w figures > will tend to be larger as well. The larger sizes can also > lead to reaching somewhat above 100 %busy some of the time. >=20 > I'll also note that I've ended up doing a lot more write > activity exploring than I'd expected. >=20 >> I was not prepared to replace the content of a PCIe slot's media >> or M.2 connection's media for the temporary purpose. No spare >> supply for those so no simple swapping for those. >=20 >=20 Trying -J36 (so: 32+4) got to 470 built in about an hour after [02] reached "Builder started". /usr/local/poudriere/data/.m used a little under 40 GiBytes at that point. (I do not have a file count.) The cleanup seems to have gone somewhat faster after my ^C for this context: ^C[01:20:20] Error: Signal SIGINT caught, cleaning up and exiting [01:20:20] [27] [00:02:54] Finished math/p5-Data-Float | = p5-Data-Float-0.013: Success [main-amd64-bulk_a-default] [2023-09-04_00h30m42s] [sigint:] Queued: = 34588 Built: 502 Failed: 1 Skipped: 50 Ignored: 335 Fetched: = 0 Tobuild: 33700 Time: 01:20:12 [01:20:22] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-04_0= 0h30m42s [01:20:23] [25] [00:04:46] Finished www/p5-HTML-TreeBuilder-XPath | = p5-HTML-TreeBuilder-XPath-0.14_1: Success [01:20:24] Cleaning up [02:17:01] Unmounting file systems Exiting with status 1 So it took about an hour to cleanup after 502 port builds into packages (not published, though). ( gstat -spod showed a fairly general, sustained lack of read activity, instead of the comparitively small sustained amount I'd not mentioned for the previous explorations. May be that helped. ) =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 10:15:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfPfZ5rPJz4rnZT; Mon, 4 Sep 2023 10:15:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfPfZ5N0xz3JRS; Mon, 4 Sep 2023 10:15:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693822550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HDd5n6YLYo95kUFdjF/68DZRbJCtp341kdNitf8Mwis=; b=W0IfVPthKjOBEGoBGHOr0R1Z0D6BCP2bXZBdtLBf9g+rvMdWQl3v6b03DG//D8DJZy0Hb2 z19WmV3w0I1Om2nIc23eID3dWlwlWuyNE7XY19v5kj78dVzPsQ5jHH63tsOqcYHFv1n5Rs SGc/DrpEGbe/4T7WV0CKVbnKO59CFWEAetQ2OUYMGy77hm6Q55h6EiQpjkuvm0u0NH0iir ekAHRzLf78YN+IyM3nYpOmvdMNijnNkrjQlK98U5jhFTTjbluInMMNj9JzYrgN/lU9OT87 HRWB8peXJuiYaGVe3ug3xoXdgB0oLqDXeEzLBAxwLabfwkQsM1CZBWIseIrRhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693822550; a=rsa-sha256; cv=none; b=bTZbisML36ngOUTC5UT8PoyzwzJS4X4177UmKrt8RV40ddJ2qthV33k3/tf60z8rIUt+2n zPK4X2y8ilR70z7x2lQ6Epnf9/uOu2dssNDqXUz8GpaVxuF3teKaKEXluuyNDlFWhLVcOO OD2Nu1HO7zH43DpRVmsbs6UDHtrXcSyd2FkUzxreSX7uL0yDC0x8pL1PAMUswjqfulsdid futiIxvhjqiVNbrGiQ29v+Nin9F4RGPN+7Q+mKKR5jm/2h2WetylqSnqgO6kNCmMs1lsTC FVBrYehSOzI48w+vF5Nm3zVrHjEU9ykESrxaguV09dI7uX+lB33Hku2Vgo0jfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693822550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HDd5n6YLYo95kUFdjF/68DZRbJCtp341kdNitf8Mwis=; b=ObV+rPEbz8ohKKEA3r9Tq55rdbM3GYG9ZM9+/8WXsCLDutFUd6lwjMU5NAOG5vRfNrqbFY ouhbjys5mZdikB5+oPeXvy51IJeVAAe/XzRaylyrB8D0O1jdeLx2vzm82UmLCFnBDvLfoX mHuV31vw0Mm247dvaOLIkiNBIm7afTCnNfL2K0hbAeKCCqbyRZc0TVZ3SYanbFvFIgT3aJ ZOpv5p05UVO48t27hgCEN1pN4+9KD4P/dpiKnnt9En1XocqkaC05QIHYh/gcLF4NHeneE5 zPm9tO4P8zk4rJyJ/sQrRbzKRH1rXTAR1DUks1eK21YeHyAgOX5URUMEDf8v9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfPfZ4TGmz139K; Mon, 4 Sep 2023 10:15:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384AFonh068879; Mon, 4 Sep 2023 10:15:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384AFoha068876; Mon, 4 Sep 2023 10:15:50 GMT (envelope-from git) Date: Mon, 4 Sep 2023 10:15:50 GMT Message-Id: <202309041015.384AFoha068876@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 2f7e72bd1c02 - main - arcmsr(4): Fix typo: rebulid -> rebuild List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f7e72bd1c024e1e8274acbe1ce57514fd444583 Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=2f7e72bd1c024e1e8274acbe1ce57514fd444583 commit 2f7e72bd1c024e1e8274acbe1ce57514fd444583 Author: Mustafa Ateş Uzun AuthorDate: 2023-08-17 13:45:14 +0000 Commit: Li-Wen Hsu CommitDate: 2023-09-04 10:13:03 +0000 arcmsr(4): Fix typo: rebulid -> rebuild MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/819 --- sys/dev/arcmsr/arcmsr.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c index b43e9b8b3813..9dd3142d1933 100644 --- a/sys/dev/arcmsr/arcmsr.c +++ b/sys/dev/arcmsr/arcmsr.c @@ -1366,7 +1366,7 @@ static void arcmsr_stop_hba_bgrb(struct AdapterControlBlock *acb) CHIP_REG_WRITE32(HBA_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_STOP_BGRB); if(!arcmsr_hba_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'stop adapter background rebulid' timeout \n" + printf("arcmsr%d: wait 'stop adapter background rebuild' timeout \n" , acb->pci_unit); } } @@ -1380,7 +1380,7 @@ static void arcmsr_stop_hbb_bgrb(struct AdapterControlBlock *acb) acb->acb_flags &= ~ACB_F_MSG_START_BGRB; WRITE_CHIP_REG32(0, phbbmu->drv2iop_doorbell, ARCMSR_MESSAGE_STOP_BGRB); if(!arcmsr_hbb_wait_msgint_ready(acb)) { - printf( "arcmsr%d: wait 'stop adapter background rebulid' timeout \n" + printf( "arcmsr%d: wait 'stop adapter background rebuild' timeout \n" , acb->pci_unit); } } @@ -1394,7 +1394,7 @@ static void arcmsr_stop_hbc_bgrb(struct AdapterControlBlock *acb) CHIP_REG_WRITE32(HBC_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_STOP_BGRB); CHIP_REG_WRITE32(HBC_MessageUnit, 0, inbound_doorbell,ARCMSR_HBCMU_DRV2IOP_MESSAGE_CMD_DONE); if(!arcmsr_hbc_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'stop adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'stop adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -1406,7 +1406,7 @@ static void arcmsr_stop_hbd_bgrb(struct AdapterControlBlock *acb) acb->acb_flags &= ~ACB_F_MSG_START_BGRB; CHIP_REG_WRITE32(HBD_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_STOP_BGRB); if(!arcmsr_hbd_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'stop adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'stop adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -1420,7 +1420,7 @@ static void arcmsr_stop_hbe_bgrb(struct AdapterControlBlock *acb) acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE; CHIP_REG_WRITE32(HBE_MessageUnit, 0, iobound_doorbell, acb->out_doorbell); if(!arcmsr_hbe_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'stop adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'stop adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -3367,7 +3367,7 @@ static void arcmsr_start_hba_bgrb(struct AdapterControlBlock *acb) acb->acb_flags |= ACB_F_MSG_START_BGRB; CHIP_REG_WRITE32(HBA_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_START_BGRB); if(!arcmsr_hba_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'start adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'start adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -3380,7 +3380,7 @@ static void arcmsr_start_hbb_bgrb(struct AdapterControlBlock *acb) acb->acb_flags |= ACB_F_MSG_START_BGRB; WRITE_CHIP_REG32(0, phbbmu->drv2iop_doorbell, ARCMSR_MESSAGE_START_BGRB); if(!arcmsr_hbb_wait_msgint_ready(acb)) { - printf( "arcmsr%d: wait 'start adapter background rebulid' timeout \n", acb->pci_unit); + printf( "arcmsr%d: wait 'start adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -3393,7 +3393,7 @@ static void arcmsr_start_hbc_bgrb(struct AdapterControlBlock *acb) CHIP_REG_WRITE32(HBC_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_START_BGRB); CHIP_REG_WRITE32(HBC_MessageUnit, 0, inbound_doorbell, ARCMSR_HBCMU_DRV2IOP_MESSAGE_CMD_DONE); if(!arcmsr_hbc_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'start adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'start adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -3405,7 +3405,7 @@ static void arcmsr_start_hbd_bgrb(struct AdapterControlBlock *acb) acb->acb_flags |= ACB_F_MSG_START_BGRB; CHIP_REG_WRITE32(HBD_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_START_BGRB); if(!arcmsr_hbd_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'start adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'start adapter background rebuild' timeout \n", acb->pci_unit); } } /* @@ -3419,7 +3419,7 @@ static void arcmsr_start_hbe_bgrb(struct AdapterControlBlock *acb) acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE; CHIP_REG_WRITE32(HBE_MessageUnit, 0, iobound_doorbell, acb->out_doorbell); if(!arcmsr_hbe_wait_msgint_ready(acb)) { - printf("arcmsr%d: wait 'start adapter background rebulid' timeout \n", acb->pci_unit); + printf("arcmsr%d: wait 'start adapter background rebuild' timeout \n", acb->pci_unit); } } /* From nobody Mon Sep 4 10:19:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfPl31md1z4rpg9; Mon, 4 Sep 2023 10:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfPl31LZJz3K94; Mon, 4 Sep 2023 10:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693822783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MkLMIhbIqKl7SpbLcK/d8zTB8orcSuy5Yc1O6rT+0wg=; b=RwrFSCdv0qc8GNYXg0mRVQCy2/7qL996Kg91ZoEKwhZUquuFx9x6fmRXy60Lm11WGFq17E p1xuT6I0xLVMAEmV8Ma3g6X6NlcEH1N4L+sTpg2/kYwO5HCjxLVI2KxCXtt56t1yj3dqZa 2cai7YsxzSKAXyRMXW2fFFfeIIiZYIHmcwGkc/gS5VN0SJWNDv+duvcdCzr7JmppaIcyiz 0EzdYPTh7gCeQFI9CF1InHwoXPho32WBHLg0Nmp1F4TrFS4mOYfOAL3Fn6LyMZM7YIjhyC t/OLy6a5BPZHW25BixXENdIytfgaTfoXOraXVyWMJKuSkGt0n2j1m5AUAYgNDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693822783; a=rsa-sha256; cv=none; b=dM8SlPJiAHxlT3ZSF6Tp82N10fwQAQEHUNjAY2r3/8x/U6ZnynzDTEbabcgYCamsvcphPz cXhjL7+21E2r69L3Ux6R62dgilJEDMRIi0JZPpfzw5DZ0w4gWBrLa3iQ7mlZWcQ5yjWbLl 64dJkt70jdT/8b0s33FUsjqUMWq739YGf+zEQeP1sRBpcE+tCwyBUTKfLa8vXV0PfFOenJ y/V1T+vYFxiCVgi3+sgzqbyggqTuY23joyW5pkccCYUespVFb+JbbyrI+E+q1hQ4cTXErm giXj0F0QUQQLi7YbdxdDCLlHey9/nEflGL1rVpctsxvttIS0mBlzRJ9qVgIPQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693822783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MkLMIhbIqKl7SpbLcK/d8zTB8orcSuy5Yc1O6rT+0wg=; b=N/hpEBr37CL5rOuQYGom5usAdxVlAm/O9v/E5SA+beYB2apT5S4fdu837soYwJRAZzUGsi ZJ3oX88urpt+n12WnXtnj2F0tXjjKOYiMwoLitF/ACspA8VXvUYvkTPFJtSAMJ8yfzWJwp F1p7zfIDx5G59nMQ+ZB1lH8ZXBclTDyxjB4c6u3COCLIEQABxn5xdk3WJoEPGrNb8F5Zch 7B74CNY1iVzv7kq4uHFt4mFkKOtZ4sgpuXJnW0TuWGrazcsHKHEfM3WccY9BPHDMx8Zz9c a/qNb/M7+eQXYLk5Hj+waA/4eA/gVY1WhEOzAFovattHDBkQcXjKzEqxxgTX5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfPl30JHvz12sr; Mon, 4 Sep 2023 10:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384AJg9c069488; Mon, 4 Sep 2023 10:19:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384AJglP069485; Mon, 4 Sep 2023 10:19:42 GMT (envelope-from git) Date: Mon, 4 Sep 2023 10:19:42 GMT Message-Id: <202309041019.384AJglP069485@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: dbf30052ca44 - main - committers-doc.dot: move grahamperrin to alumni List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dbf30052ca44c482d564090f54538cee36be83d0 Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=dbf30052ca44c482d564090f54538cee36be83d0 commit dbf30052ca44c482d564090f54538cee36be83d0 Author: Graham Perrin AuthorDate: 2023-08-26 02:47:46 +0000 Commit: Li-Wen Hsu CommitDate: 2023-09-04 10:18:07 +0000 committers-doc.dot: move grahamperrin to alumni Pull Request: https://github.com/freebsd/freebsd-src/pull/828 --- share/misc/committers-doc.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/committers-doc.dot b/share/misc/committers-doc.dot index 46583e758f1b..9cc963360f4d 100644 --- a/share/misc/committers-doc.dot +++ b/share/misc/committers-doc.dot @@ -41,6 +41,7 @@ eadler [label="Eitan Adler\neadler@FreeBSD.org\n2012/10/15\2022/09/15"] gabor [label="Gabor Kovesdan\ngabor@FreeBSD.org\n2007/02/02\n2021/09/21"] garys [label="Gary W. Swearingen\ngarys@FreeBSD.org\n2005/08/21\n2008/03/02"] gavin [label="Gavin Atkinson\ngavin@FreeBSD.org\n2011/07/18\n2021/10/24"] +grahamperrin [label="Graham Perrin\ngrahamperrin@FreeBSD.org\n2022/06/01\n2023/08/24"] issyl0 [label="Isabell Long\nissyl0@FreeBSD.org\n2012/04/25\n2017/08/25"] jcamou [label="Jesus R. Camou\njcamou@FreeBSD.org\n2005/03/02\n2008/12/20"] jesusr [label="Jesus Rodriguez Cuesta\njesusr@FreeBSD.org\n1998/12/10\n2010/12/11"] @@ -91,7 +92,6 @@ fernape [label="Fernando Apesteguia\nfernape@FreeBSD.org\n2021/02/07"] ganbold [label="Ganbold Tsagaankhuu\nganbold@FreeBSD.org\n2008/02/26"] gbe [label="Gordon Bergling\ngbe@FreeBSD.org\n2020/06/08"] gjb [label="Glen Barber\ngjb@FreeBSD.org\n2010/09/01"] -grahamperrin [label="Graham Perrin\ngrahamperrin@FreeBSD.org\n2022/06/01"] hrs [label="Hiroki Sato\nhrs@FreeBSD.org\n2000/07/06"] jgh [label="Jason Helfman\njgh@FreeBSD.org\n2014/01/20"] joel [label="Joel Dahl\njoel@FreeBSD.org\n2005/04/05"] From nobody Mon Sep 4 10:40:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfQCQ3PT6z4rwN2; Mon, 4 Sep 2023 10:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfQCQ2zBwz3N2Q; Mon, 4 Sep 2023 10:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693824050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tWGMjHf1iMgzWOmvfmNsxrSAB3nmkawLhp/2k4Ste1I=; b=Zp6ZrvQ9wQCRopdC6dqhmV25Ja99+1QkOtLqwIkFieKxx5qW/1G5+YDCzebes9qVEma1jm wSDMbS5bD5t30t2L5tGg1y78zORllnl4AsdA2Ll8zoUZzc2kbzqGXInUATglPU88M87YCp 5ZQitu8u3vH7S1ide3RR7DEOFrHF57LtqozyMKN5RIwHFGcNG8niRP3v4VWsdQcOwW+Tda rFg8mCs2RRORZcoonbfb727y2jrUsKXN7oA2tfhiPbsOc3xUpGFudbqM2Dh/UrS7JzL3jG a8dYPXKXVm8UvkcWHmFJw1/xrwhpU+g/NC9c9sykX6LM0lzutdU1nKuYoI6sTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693824050; a=rsa-sha256; cv=none; b=q2XMu2vEok0hxTofA6RjsWXPIgpLHFjkMpLNpTgb76imv+f9s7GRsTsHbk7/EGuiRahWfA CceUSf12J31ty+x9s4ej737v7djESjFpgCpDbaLkY/aonFmcB6+97Jt434msRihrz0F8io gVr7T/tHoopJ9vloKQ0Az4sqnjpsJnbvh3nmgiTpyx6Hs407zypyaZFz262PBtkjNB1teD umc8HTU8q0oURgLsvRiYNnmxqkYCi0IthpiuK8unbzoeTjlofIhL+tELNljy8vgp/cT5Yn ApxVkecY5nWpzUAQzbaqhCLNrKNjtvL3/0IZ1YXJCmePFqVlu6NA9+qzQFEMsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693824050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tWGMjHf1iMgzWOmvfmNsxrSAB3nmkawLhp/2k4Ste1I=; b=ygY42yI2N8qT8cTbPJG1wNzN1wTpW+ASut9F7Brqdb5+9GMUPmtAw5DpJWTWhernPD08eP 8rxbmJHd9AnFbCzhgG1EWTsnv2YTzmw0KZoI2QY6kCGYr4CkbYqOZNOxcQ1weeurCdn8F/ C/YxHBrZGZ58N0pTdC4TtMuhBNob/ENsSv9vSeX8CW2LdpUVD5wdeLdW5W3wSZSe3IBm/s 8SWriaHDItfjF/oc72015YaztYancD2k8vbNMNvyhDF9lUY3uSMwumeGzm3nb5VM4pErK/ 6q6sbVgjdIXlcmmc2VDLK+aMvtNFwBTIT6MtMmw4/mhOw+6qZS9s50TdNL64Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfQCQ232dz12xc; Mon, 4 Sep 2023 10:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384Aeoo7011162; Mon, 4 Sep 2023 10:40:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384Aeohp011159; Mon, 4 Sep 2023 10:40:50 GMT (envelope-from git) Date: Mon, 4 Sep 2023 10:40:50 GMT Message-Id: <202309041040.384Aeohp011159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: 289ba6b870f7 - main - Hyper-V: hn: use VF's capabilities when it is attached List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 289ba6b870f79d8dbd9e8022c4fa23469be11a73 Auto-Submitted: auto-generated The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=289ba6b870f79d8dbd9e8022c4fa23469be11a73 commit 289ba6b870f79d8dbd9e8022c4fa23469be11a73 Author: Wei Hu AuthorDate: 2023-09-04 10:15:06 +0000 Commit: Wei Hu CommitDate: 2023-09-04 10:40:11 +0000 Hyper-V: hn: use VF's capabilities when it is attached Current code in hn/netvsc tries to merge (logical AND) VF and its own capability bits when a VF is attached. This results in losing some key VF features, especially in tx path. For example, the VF's txcsum, rxcsum or tso bits could be lost if any of these are not in hn/netvsc's own capablility field. Actually when VF is attached, hn just needs to use VF's caps as all the tx packets would be forwarded to the VF interface. Fix this problem by doing so. Reported by: whu Tested by: whu MFC after: 3 days Sponsored by: Microsoft --- sys/dev/hyperv/netvsc/if_hn.c | 63 +++++++--------------------------------- sys/dev/hyperv/netvsc/if_hnvar.h | 2 ++ 2 files changed, 13 insertions(+), 52 deletions(-) diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c index 206a35f7bac8..7d8e1914163e 100644 --- a/sys/dev/hyperv/netvsc/if_hn.c +++ b/sys/dev/hyperv/netvsc/if_hn.c @@ -1261,60 +1261,21 @@ hn_ifaddr_event(void *arg, if_t ifp) } static int -hn_xpnt_vf_iocsetcaps(struct hn_softc *sc, struct ifreq *ifr) +hn_xpnt_vf_iocsetcaps(struct hn_softc *sc, struct ifreq *ifr __unused) { if_t ifp, vf_ifp; - uint64_t tmp; - int error; HN_LOCK_ASSERT(sc); ifp = sc->hn_ifp; vf_ifp = sc->hn_vf_ifp; /* - * Fix up requested capabilities w/ supported capabilities, - * since the supported capabilities could have been changed. - */ - ifr->ifr_reqcap &= if_getcapabilities(ifp); - /* Pass SIOCSIFCAP to VF. */ - error = ifhwioctl(SIOCSIFCAP, vf_ifp, (caddr_t)ifr, curthread); - - /* - * NOTE: - * The error will be propagated to the callers, however, it - * is _not_ useful here. - */ - - /* - * Merge VF's enabled capabilities. + * Just sync up with VF's enabled capabilities. */ - if_setcapenable(ifp, if_getcapenable(vf_ifp) & if_getcapabilities(ifp)); - - tmp = if_gethwassist(vf_ifp) & HN_CSUM_IP_HWASSIST(sc); - if (if_getcapenable(ifp) & IFCAP_TXCSUM) - if_sethwassistbits(ifp, tmp, 0); - else - if_sethwassistbits(ifp, 0, tmp); - - tmp = if_gethwassist(vf_ifp) & HN_CSUM_IP6_HWASSIST(sc); - if (if_getcapenable(ifp) & IFCAP_TXCSUM_IPV6) - if_sethwassistbits(ifp, tmp, 0); - else - if_sethwassistbits(ifp, 0, tmp); + if_setcapenable(ifp, if_getcapenable(vf_ifp)); + if_sethwassist(ifp, if_gethwassist(vf_ifp)); - tmp = if_gethwassist(vf_ifp) & CSUM_IP_TSO; - if (if_getcapenable(ifp) & IFCAP_TSO4) - if_sethwassistbits(ifp, tmp, 0); - else - if_sethwassistbits(ifp, 0, tmp); - - tmp = if_gethwassist(vf_ifp) & CSUM_IP6_TSO; - if (if_getcapenable(ifp) & IFCAP_TSO6) - if_sethwassistbits(ifp, tmp, 0); - else - if_sethwassistbits(ifp, 0, tmp); - - return (error); + return (0); } static int @@ -1698,6 +1659,8 @@ hn_xpnt_vf_setready(struct hn_softc *sc) sc->hn_saved_tsomax = if_gethwtsomax(ifp); sc->hn_saved_tsosegcnt = if_gethwtsomaxsegcount(ifp); sc->hn_saved_tsosegsz = if_gethwtsomaxsegsize(ifp); + sc->hn_saved_capenable = if_getcapenable(ifp); + sc->hn_saved_hwassist = if_gethwassist(ifp); /* * Intersect supported/enabled capabilities. @@ -2017,18 +1980,14 @@ hn_ifnet_detevent(void *xsc, if_t ifp) * The VF was ready; restore some settings. */ if_setcapabilities(ifp, sc->hn_saved_caps); - /* - * NOTE: - * There is _no_ need to fixup if_capenable and - * if_hwassist, since the if_capabilities before - * restoration was an intersection of the VF's - * if_capabilites and the synthetic device's - * if_capabilites. - */ + if_sethwtsomax(ifp, sc->hn_saved_tsomax); if_sethwtsomaxsegcount(sc->hn_ifp, sc->hn_saved_tsosegcnt); if_sethwtsomaxsegsize(ifp, sc->hn_saved_tsosegsz); + + if_setcapenable(ifp, sc->hn_saved_capenable); + if_sethwassist(ifp, sc->hn_saved_hwassist); } if (sc->hn_flags & HN_FLAG_SYNTH_ATTACHED) { diff --git a/sys/dev/hyperv/netvsc/if_hnvar.h b/sys/dev/hyperv/netvsc/if_hnvar.h index 0d8ed6bdef19..f46adcbf9245 100644 --- a/sys/dev/hyperv/netvsc/if_hnvar.h +++ b/sys/dev/hyperv/netvsc/if_hnvar.h @@ -277,6 +277,8 @@ struct hn_softc { u_int hn_saved_tsomax; u_int hn_saved_tsosegcnt; u_int hn_saved_tsosegsz; + u_int hn_saved_capenable; + u_int hn_saved_hwassist; /* * RSC switch, default off From nobody Mon Sep 4 12:37:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfSnp3N4Xz4sVtc; Mon, 4 Sep 2023 12:37:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfSnp2k4Qz4GVX; Mon, 4 Sep 2023 12:37:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693831038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tw80CtyhY76qwwdZFP2VToTs7FS5nAyOYvkugg+3WtM=; b=p9E46rsj9wl1HJIusuD5sILvSTI3/jurbkZH0tfUdgU9CzlWiwPAFzgGmyT4OGnsHFj7or 2g1giTWeLacgKouYwZPns9+aJkbkCvDnRRjRBmpwAMgxsagPqXIhABr+aoXcmE7HyBRbTM 5BgJmGvrS6p5AWq0SHUS773DtnPAO5KiurXJBXN7VpZwKSa/hDfil8k9vYLk5ZHlVrT4wd ttbTcBSWyvX+3VZOu7HdG+ILQ3yYM/bxEzwHJ+jVRMn15y/3w52rjUd/KUtg99ErI2fxwy VQohJ4SUXed6V1EcKUUlb86R+HnfpxaZG/zx3u3SfAlBIEu14x6b71I/huI4Uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693831038; a=rsa-sha256; cv=none; b=uQ6xBO5/OWaXV2nG7rbuCUwmnIV4mG7btBLQDFtItAYl/PFC/ANgdJxk19J4w1YcGSocN5 RcPZ/JfmXCamzadWRONvAkM95lYZj5MBQPOPtEGZ1yv/LmGyaM9riS4nKAP50YMN1JvKcY 3U8SkwDAcnRyD7S3wP7hLQi5B9ANW6lPpyQTsybBNyLJGyPNja49dxY99WZWTqiemESuuc we2I/F4K6lwDxjPLZOSwVh2DtkKQKfXxOy9Fz2+ACuTTk841LYVtddoMNpMD4HocUoT2Wk i1+CnM2Fw07m5XkWL6xRCJE17aNI+q3J8bVU4g8sHNerKvFSkIOhY0ASgesB6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693831038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tw80CtyhY76qwwdZFP2VToTs7FS5nAyOYvkugg+3WtM=; b=I/hk6bc4b4WettlkWcNr/mbFZt1+DIeh4CSi3YzbnLnnGv8jJQtbCODkd0Vq2tzKP37oif 5Bdkn0g4eZgCfze0aFvLUFBBGQvSGlo5Myn9C9kU30UcxEYgQBKI5IIJRelMpkuUS12P9s o9HlEkuhTsKBWUujD+7cSSHaN5XUu9NRrDhPmx3/fXqVIv8I3LSGjtg3mdZLGdLwtI9i6E ObJyu/XizwQLvyGb8b7fQeDQdTQcjFGNUzr8/3prLyuKJEiF0KpEB1uiauOTuBMtJVUXhf dWLcnD+NCNoJCLYu54mQ4CsHbNOY7Nd/AKzp4PGACxBZBQ5ZUssG6DaKRsKVUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfSnp1gXlz15hc; Mon, 4 Sep 2023 12:37:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384CbIAc099640; Mon, 4 Sep 2023 12:37:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384CbIQR099637; Mon, 4 Sep 2023 12:37:18 GMT (envelope-from git) Date: Mon, 4 Sep 2023 12:37:18 GMT Message-Id: <202309041237.384CbIQR099637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 3afe6b525386 - main - ahci: add AMD device id in RAID mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3afe6b525386af1dda7791ea2a9d718fa634d4fd Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=3afe6b525386af1dda7791ea2a9d718fa634d4fd commit 3afe6b525386af1dda7791ea2a9d718fa634d4fd Author: Andrey V. Elsukov AuthorDate: 2023-09-04 12:33:49 +0000 Commit: Andrey V. Elsukov CommitDate: 2023-09-04 12:33:49 +0000 ahci: add AMD device id in RAID mode Found on Asus ROX Strix X570-F Gaming. MFC after: 1 week --- sys/dev/ahci/ahci_pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/ahci/ahci_pci.c b/sys/dev/ahci/ahci_pci.c index 80ab01732c7b..93a72875b502 100644 --- a/sys/dev/ahci/ahci_pci.c +++ b/sys/dev/ahci/ahci_pci.c @@ -83,6 +83,7 @@ static const struct { {0x79021022, 0x00, "AMD KERNCZ", 0}, {0x79031022, 0x00, "AMD KERNCZ", 0}, {0x79041022, 0x00, "AMD KERNCZ", 0}, + {0x79161022, 0x00, "AMD KERNCZ (RAID)", 0}, {0x06011b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, {0x06021b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, {0x06111b21, 0x00, "ASMedia ASM1061", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, From nobody Mon Sep 4 13:09:58 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfTWd0MRFz4sfCW; Mon, 4 Sep 2023 13:10:05 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com [IPv6:2607:f8b0:4864:20::112c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfTWc5sSfz4Lsw; Mon, 4 Sep 2023 13:10:04 +0000 (UTC) (envelope-from mavbsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-58d9ba95c78so13678847b3.1; Mon, 04 Sep 2023 06:10:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693833003; x=1694437803; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=enEXGogrCrBv00PRAD0aNwbkBdJkNW03jgW6e26rZw8=; b=eK9XnVNSuOE8uD56rCx0RTWIxvYvzq45+gO+kODC02g+yapyTdKedonLKrw2dP2Bal g2khEGgOdEpYIZFjm2MramQo8RmdO8myUN30B7CFqU2UaixYd+vqjjzUECL3+fMMGMKa RQLq2OjM+dN4x74hBl0D8XkAJIqxmSOenFjWQbOcVE6flrl+BjM3imaHpXKK/0LuLXcR N1YzCe9HFcY7vEIs0n2/qPD8kX2ryFsBzaY/w630hiMOfTg9oT031kns40G43iYbIjlP 3cFnd4iK2Owbn4J5JJ/KEtjDqWoJefcuTLhSSv4FnBkt7w7MRaS8MwAzvux+UPcfz9cY CLkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693833003; x=1694437803; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=enEXGogrCrBv00PRAD0aNwbkBdJkNW03jgW6e26rZw8=; b=aqrQP9iU6AYpSaN7E1I1w0nlQss+oBzyOJC0uwWwN4OjcAM1CpXLHp4SK6iU9DouzI URsMJR0M484Ty0JUcSgnOr0SFkfU4MePo/r0Th6H2+fmCTjfGrpjeR+/gtHtJ5KELdu4 KVOW6OCUFkgKIi3fYLi7CZA4vtaJusoXkrg4BS53/uKhGE4miPpue2GDiV76YuWFK5vn WqSTdMsKt9qWn3ufrQ2ejF51KFA5E3pvZeS2G4hApWRYQzKyUUtivwXcKF0C+lA8DKfm zpRgU7H+z3hGCMKBG2dBZPjeov6vGtepzoMeIuydbriordDh9kyW9e0NNLXjY8LhPKj6 HTRw== X-Gm-Message-State: AOJu0Ywllnxb2oZSl51Tpex1NNLqR0+5vG2Z+AFKRCwxt1I+xb678zWa s9MaG5CaOJ6tS6yx3qxMAhk= X-Google-Smtp-Source: AGHT+IEuX1wTM2L/qEVg16VGY0usasUa7ZzaPGZf6KbbP5omiM0H1CpfICDvA0rY2wCmd4zp6nW6rw== X-Received: by 2002:a81:6c04:0:b0:583:8c5e:a3fa with SMTP id h4-20020a816c04000000b005838c5ea3famr10344243ywc.8.1693833002844; Mon, 04 Sep 2023 06:10:02 -0700 (PDT) Received: from [192.168.1.66] (104-55-12-234.lightspeed.knvltn.sbcglobal.net. [104.55.12.234]) by smtp.gmail.com with ESMTPSA id m13-20020a81404d000000b00586108dd8f5sm1991603ywn.18.2023.09.04.06.10.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 Sep 2023 06:10:02 -0700 (PDT) Message-ID: <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> Date: Mon, 4 Sep 2023 09:09:58 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned Content-Language: en-US To: Mark Millard Cc: dev-commits-src-main@freebsd.org, Current FreeBSD References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> From: Alexander Motin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4RfTWc5sSfz4Lsw On 04.09.2023 05:56, Mark Millard wrote: > On Sep 4, 2023, at 02:00, Mark Millard wrote: >> On Sep 3, 2023, at 23:35, Mark Millard wrote: >>> On Sep 3, 2023, at 22:06, Alexander Motin wrote: >>>> On 03.09.2023 22:54, Mark Millard wrote: >>>>> After that ^t produced the likes of: >>>>> load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u 121.32s 1% 13004k >>>> >>>> So the full state is not "tx->tx", but is actually a "tx->tx_quiesce_done_cv", which means the thread is waiting for new transaction to be opened, which means some previous to be quiesced and then synced. >>>> >>>>> #0 0xffffffff80b6f103 at mi_switch+0x173 >>>>> #1 0xffffffff80bc0f24 at sleepq_switch+0x104 >>>>> #2 0xffffffff80aec4c5 at _cv_wait+0x165 >>>>> #3 0xffffffff82aba365 at txg_wait_open+0xf5 >>>>> #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 >>>> >>>> Here it seems like transaction commit is waited due to large amount of delete operations, which ZFS tries to spread between separate TXGs. >>> >>> That fit the context: cleaning out /usr/local/poudriere/data/.m/ >>> >>>> You should probably see some large and growing number in sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . >>> >>> After the reboot I started a -J64 example. It has avoided the >>> early "witness exhausted". Again I ^C'd after about an hours >>> after the 2nd builder had started. So: again cleaning out >>> /usr/local/poudriere/data/.m/ Only seconds between: >>> >>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276042 >>> >>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276427 >>> >>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 277323 >>> >>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 278027 As expected, deletes trigger and wait for TXG commits. >>> I have found a measure of progress: zfs list's USED >>> for /usr/local/poudriere/data/.m is decreasing. So >>> ztop's d/s was a good classification: deletes. >>> >>>>> #5 0xffffffff829a87d2 at zfs_rmnode+0x72 >>>>> #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d >>>>> #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 >>>>> #8 0xffffffff80c5a7d9 at vgonel+0x3a9 >>>>> #9 0xffffffff80c5af7f at vrecycle+0x3f >>>>> #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e >>>>> #11 0xffffffff80c598cf at vinactivef+0xbf >>>>> #12 0xffffffff80c590da at vput_final+0x2aa >>>>> #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 >>>>> #14 0xffffffff80c68588 at sys_unlink+0x28 >>>>> #15 0xffffffff8106323f at amd64_syscall+0x14f >>>>> #16 0xffffffff8103512b at fast_syscall_common+0xf8 >>>> >>>> What we don't see here is what quiesce and sync threads of the pool are actually doing. Sync thread has plenty of different jobs, including async write, async destroy, scrub and others, that all may delay each other. >>>> >>>> Before you rebooted the system, depending how alive it is, could you save a number of outputs of `procstat -akk`, or at least specifically `procstat -akk | grep txg_thread_enter` if the full is hard? Or somehow else observe what they are doing. >>> >>> # grep txg_thread_enter ~/mmjnk0[0-5].txt >>> /usr/home/root/mmjnk00.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk00.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk01.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk01.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk02.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk02.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk03.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk03.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk04.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk04.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk05.txt: 6 100881 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 fork_trampoline+0xe >>> /usr/home/root/mmjnk05.txt: 6 100882 zfskern txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 fork_trampoline+0xe So quiesce threads are idle, while sync thread is waiting for TXG commit writes completion. I see no no crime, we should see the same just for slow storage. >>>> `zpool status`, `zpool get all` and `sysctl -a` would also not harm. >>> >>> It is a very simple zpool configuration: one partition. >>> I only use it for bectl BE reasons, not the general >>> range of reasons for using zfs. I created the media with >>> my normal content, then checkpointed before doing the >>> git fetch to start to set up the experiment. OK. And I see no scrub or async destroy, that could delay sync thread. Though I don't see them in the above procstat either. >>> /etc/sysctl.conf does have: >>> >>> vfs.zfs.min_auto_ashift=12 >>> vfs.zfs.per_txg_dirty_frees_percent=5 >>> >>> The vfs.zfs.per_txg_dirty_frees_percent is from prior >>> Mateusz Guzik help, where after testing the change I >>> reported: >>> >>> Result summary: Seems to have avoided the sustained periods >>> of low load average activity. Much better for the context. >>> >>> But it was for a different machine (aarch64, 8 cores). But >>> it was for poudriere bulk use. >>> >>> Turns out the default of 30 was causing sort of like >>> what is seen here: I could have presented some of the >>> information via the small load average figures here. >>> >>> (Note: 5 is the old default, 30 is newer. Other contexts >>> have other problems with 5: no single right setting and >>> no automated configuration.) per_txg_dirty_frees_percent is directly related to the delete delays we see here. You are forcing ZFS to commit transactions each 5% of dirty ARC limit, which is 5% of 10% or memory size. I haven't looked on that code recently, but I guess setting it too low can make ZFS commit transactions too often, increasing write inflation for the underlying storage. I would propose you to restore the default and try again. >>> Other than those 2 items, zfs is untuned (defaults). >>> >>> sysctl -a is a lot more output (864930 Bytes) so I'll skip >>> it for now. >>> >>>> PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me shiver. Make sure there is no storage problems, like some huge delays, timeouts, etc, that can be seen, for example, as busy percents regularly spiking far above 100% in your `gstat -spod`. >>> >>> The "gstat -spod" output showed (and shows): around 0.8ms/w to 3ms/w, >>> mostly at the lower end of the range. < 98%busy, no spikes to > 100%. >>> It is a previously unused Samsung PSSD T7 Touch. Is the ~98% busy most of the time there? Unfortunately our umass does not support UASP, i.e. supports only one command at a time, so many small I/Os may accumulate more latency than other interface storages would. Higher number of small transaction commits may not help it either. >> A little more context here: that is for the "kB" figures seen >> during the cleanup/delete activity. During port builds into >> packages larger "kB" figures are seen and the ms/w figures >> will tend to be larger as well. The larger sizes can also >> lead to reaching somewhat above 100 %busy some of the time. >> >> I'll also note that I've ended up doing a lot more write >> activity exploring than I'd expected. >> >>> I was not prepared to replace the content of a PCIe slot's media >>> or M.2 connection's media for the temporary purpose. No spare >>> supply for those so no simple swapping for those. > > Trying -J36 (so: 32+4) got to 470 built in about an hour > after [02] reached "Builder started". /usr/local/poudriere/data/.m > used a little under 40 GiBytes at that point. (I do not have > a file count.) > > The cleanup seems to have gone somewhat faster after my ^C for > this context: > > ^C[01:20:20] Error: Signal SIGINT caught, cleaning up and exiting > [01:20:20] [27] [00:02:54] Finished math/p5-Data-Float | p5-Data-Float-0.013: Success > [main-amd64-bulk_a-default] [2023-09-04_00h30m42s] [sigint:] Queued: 34588 Built: 502 Failed: 1 Skipped: 50 Ignored: 335 Fetched: 0 Tobuild: 33700 Time: 01:20:12 > [01:20:22] Logs: /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-04_00h30m42s > [01:20:23] [25] [00:04:46] Finished www/p5-HTML-TreeBuilder-XPath | p5-HTML-TreeBuilder-XPath-0.14_1: Success > [01:20:24] Cleaning up > [02:17:01] Unmounting file systems > Exiting with status 1 > > So it took about an hour to cleanup after 502 port builds into > packages (not published, though). > > ( gstat -spod showed a fairly general, sustained lack of read activity, > instead of the comparitively small sustained amount I'd not mentioned > for the previous explorations. May be that helped. ) I suppose more builders mean deleting more work directories same time? I don't know if it should cause cumulative effect, but I suppose should be at least linear. -- Alexander Motin From nobody Mon Sep 4 15:06:06 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfX5W0m7Bz4s314; Mon, 4 Sep 2023 15:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfX5W0HSsz3LRF; Mon, 4 Sep 2023 15:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693839967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ysi23CWESMaz7Bct3K/3zYlLc0BDR6rgXbw2n5wvbNs=; b=nsHwEVxa7u3QQ8o8cepTuVArKDmy4lDmhJch+Z+ErHx8EYUi9ao7x1Pn4m202vOWVu61WD dckRnkz/rjqRWnRC7rttepbNU+EsCTFZcKZQnfLlSR8vgncOHP24lVcGbT2rIoeKZaxS3V tAQgGJRYNLQ3/amVjRufdnHS6eQBJdfjkTHpsdGYNis3Zz8a9egaJ7MQWiYuLRd4Dk5wni s7Mze0s1k93/H+c7vfRm4TCzMoD3FbxHnv3E4d7XlkF0sCxCR6lbIz7DYZnhJmlxd+DgoR zCnHnyfEJ9i4V1p1MayDP0v7Mf8lWLZ4a03bQdg1sYuZ+5OHX+taSG5yvkGBUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693839967; a=rsa-sha256; cv=none; b=ChuT2ELaapmum4OV1VpPx8JarvA8pmrOpW09QAZObam6qlHYdpeNu+2pueIwLcXXJyFVuX uKyYrVKjfFp5RPZMxwUvBqmrhIW1f4XwV5xEMpjwUrtQ4XM41PuDk06AL2vBJPRk4Vuyjv CdybbycdT5bv6H1Ush51TPI72nLxIU3gMS82O99oBKhLKODjmjK4DfUSu+ceSohF7Hk/Uv yvGZwlfOPsxYsZEyxvy5rVgK7AXVmiwF1PekKW/2x6Ehmyh+2mAQsTa+n/SFEaUuXDZh/H /hF4dsFR9VWgsZqn/cH/BY2uIMGh/gMur/YLx3IirAa4Yrps43/myym9xYbs7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693839967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ysi23CWESMaz7Bct3K/3zYlLc0BDR6rgXbw2n5wvbNs=; b=pKYJw4f0fWHdDs6n7WNe3F/8jZ9DmsIiSg+LRjaTKVwiTSV9QAGn3xu/vgaB0Lu7hVSW1+ fsD4mGFmXyiWH5uiUSEi7lL9VcXPaaxF4FxrdBC9eWysU33bGBAbdYjsGSXa3k1andpLK5 Qkr+VMRESJAZY+AJb4T0n41xni4ZQIh16+eTprsccGLw1dkdv5qBOU2S8Nulu+SKh3fgQy nbO+BsZcDiO2/RSLzxCCeKECmWhSTZkBSnHFc6m4FePvKYtP76du/oktYFXtmkmAOhheb2 n4IGnah9+9HqTlRC4NMyTRuXmeXazD2LaSK/VBhcqXeSFPaNhL0CqNvoSTPk9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfX5V6T8Lz19kD; Mon, 4 Sep 2023 15:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384F66Qg048316; Mon, 4 Sep 2023 15:06:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384F663e048313; Mon, 4 Sep 2023 15:06:06 GMT (envelope-from git) Date: Mon, 4 Sep 2023 15:06:06 GMT Message-Id: <202309041506.384F663e048313@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: 643fd7b4bc57 - main - mana: fix tso parameters and set hwassist bits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 643fd7b4bc57de87ddfeb75a8f0bdb27dbb8c3ce Auto-Submitted: auto-generated The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=643fd7b4bc57de87ddfeb75a8f0bdb27dbb8c3ce commit 643fd7b4bc57de87ddfeb75a8f0bdb27dbb8c3ce Author: Wei Hu AuthorDate: 2023-09-04 14:53:10 +0000 Commit: Wei Hu CommitDate: 2023-09-04 15:04:00 +0000 mana: fix tso parameters and set hwassist bits The parameters for tso on mana were not set correctly. Also the hwassist bits were not set. These two cause tso on mana not work. Fixed the issues and make tso working on mana. Tested by: whu MFC after: 3 days Sponsored by: Microsoft --- sys/dev/mana/mana.h | 1 + sys/dev/mana/mana_en.c | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/sys/dev/mana/mana.h b/sys/dev/mana/mana.h index df527df10296..9a22ea87baa3 100644 --- a/sys/dev/mana/mana.h +++ b/sys/dev/mana/mana.h @@ -186,6 +186,7 @@ struct mana_txq { */ #define MAX_MBUF_FRAGS 30 #define MANA_TSO_MAXSEG_SZ PAGE_SIZE +#define MANA_TSO_MAX_SZ IP_MAXPACKET /* mbuf data and frags dma mappings */ struct mana_mbuf_head { diff --git a/sys/dev/mana/mana_en.c b/sys/dev/mana/mana_en.c index fa49e06e4862..56fa4e51ba26 100644 --- a/sys/dev/mana/mana_en.c +++ b/sys/dev/mana/mana_en.c @@ -798,8 +798,7 @@ mana_init_port_context(struct mana_port_context *apc) uint32_t tso_maxsize; int err; - tso_maxsize = MAX_MBUF_FRAGS * MANA_TSO_MAXSEG_SZ - - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); + tso_maxsize = MANA_TSO_MAX_SZ; /* Create DMA tag for tx bufs */ err = bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ @@ -2712,6 +2711,7 @@ mana_probe_port(struct mana_context *ac, int port_idx, { struct gdma_context *gc = ac->gdma_dev->gdma_context; struct mana_port_context *apc; + uint32_t hwassist; if_t ndev; int err; @@ -2774,11 +2774,21 @@ mana_probe_port(struct mana_context *ac, int port_idx, if_setcapenable(ndev, if_getcapabilities(ndev)); /* TSO parameters */ - if_sethwtsomax(ndev, MAX_MBUF_FRAGS * MANA_TSO_MAXSEG_SZ - + if_sethwtsomax(ndev, MANA_TSO_MAX_SZ - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); if_sethwtsomaxsegcount(ndev, MAX_MBUF_FRAGS); if_sethwtsomaxsegsize(ndev, PAGE_SIZE); + hwassist = 0; + if (if_getcapenable(ndev) & (IFCAP_TSO4 | IFCAP_TSO6)) + hwassist |= CSUM_TSO; + if (if_getcapenable(ndev) & IFCAP_TXCSUM) + hwassist |= (CSUM_TCP | CSUM_UDP | CSUM_IP); + if (if_getcapenable(ndev) & IFCAP_TXCSUM_IPV6) + hwassist |= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + mana_dbg(NULL, "set hwassist 0x%x\n", hwassist); + if_sethwassist(ndev, hwassist); + ifmedia_init(&apc->media, IFM_IMASK, mana_ifmedia_change, mana_ifmedia_status); ifmedia_add(&apc->media, IFM_ETHER | IFM_AUTO, 0, NULL); From nobody Mon Sep 4 15:45:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfXzP0J6Wz4sPFC for ; Mon, 4 Sep 2023 15:45:53 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic315-54.consmr.mail.gq1.yahoo.com (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfXzM6hT3z3YdG for ; Mon, 4 Sep 2023 15:45:51 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693842349; bh=w0kXlOBScK6IxOmuwDZGWF0Fp5BAK7cRabQYJvIVhNg=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=gm4uv5F2cDSfSiNsThDqWNkmcXd+SV6xyJodkWCUOdSaTQNuhAaKT/zJIu+ULr0kLPCHcBB8XBTtpsNFQ03s0g0+WoqJ8r8pZ7ICFzsqnrJ690cc2F22Ne/gSSDVEjUbYO0RQkv2xF3R39scqBKrmf6yuoJKcD7edmkMfT90BASEP0hytEvBvdq3G0aMvy/KThH7taQmJovXScUBqsxG3xJFX3SBfm4zfMnAvo2FOSYujhgDJLPExI7Rqf4r95FfxzMjXC50Q2wKyECKdofOsuimsaeaDE9O2NVklTZYNik1BPl7S8X7RjlvETzQW8Au+UtAIwC0mTWz4Ic9kECznA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693842349; bh=YrZB+zmOITd+1J6ixVdYnxPN5Vr81p8CuZp90cED+jO=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=J7v4TiXzI7qe0Kxi1v2LfnV4o5XM0PChPmS7qdS1Kl3STfMZdFCj8ictTHWGv+dZm5uTR/0y97rLeY0MsTCeG+Eq3goGx73+kztdmIBeXTjgZMtBiepMhhHsIC93meZlXDuxXPBMG+xVslBHlNmQbH0UwXJHLWzg6H4UdmWd2qsYJJGyCtp5Xahh08lXTWhxOyJFIbZX5WTl0BzawcDvUOt14HKS0KOq556UAuPJPfH4mjz8XMJ0MY8q5mHUW5ZRvJduIfJ/FIY6EsxViVZs+7+gCfmztAYS+cLdFDZhV15GlbDyWj9FcbCAIQzQhc4r5y522ReRQEeXyz7ksfPBHw== X-YMail-OSG: 1yVd7y8VM1k.eii6OuvVmcRnq67PohhWiUNFL98IZzUjrPbOchxIfWsvzsim7R0 9fq3LLZqZNP.665mBrXEINMmbWASrWaS6uT2nQtlyBtOOTwFIU8Y3X_q1NRemK2J7.3jyW.IjlZA ZphSr5okqE7NQ_xA4Ffkxc.r8A4Dat4LWMMF_ZXQtdiNlgmRWBYHLrFyTSsA7XNxn0Kw5YIVtMW1 Vio.DwnPooc0a2.7VpX5jZpCAfcMls76iI.gP9dVvWBBxmcCnX5X3lrm2ba0pij_nARoRoWp2fqV TVTW305rwU0P4cKRmcI8kLQLvVuO6vQvpbG0ft3ol5IpBdOJVZ1B1b_4hyyoOCdZkTLrMdOaGh9U l1hZk4nYOxIJ4JdioLLWe.vrpDyfS71hHF9atJP_Bcl7anN_.l7gceHkh182i6zHqgAHt69ikGVM cXuUpXTzZCMjc5E7BfItGbTvvGiNoFbd0yxkQWUF_nbNPTs1cRY1yYJmf_TbEz8udabGhC9CDhw0 CMJ8UxC6t9Df7O5N6FE1zSfVQoD2r74MD30YCgKF33zKukTJrulOVVIN.NX1bSX28Jr6f3ZtKJ8F ayyUB9Uwdx21Q2M5r3RtvDaJZqDn7rAsDhwama7f43w.4rO5zedX_B0J_XK8Q2Bk5Bcd8Lj8z3F3 PlHqAMSqVAcOvjKDDbGcnLKkDukxm6ueGDOgwq9Fx3EHhW8aoiiA0N3yggzm4WVZmOHof9APOR_n rxFyIXHdevhySluc91Fuzl.nEQHN0OG0aUUBGjg6TRZggYmjRRJh1fAgmklrGkFeDbDbu1W4OzPz Rv9Xe5WU_v.RCrtK0c.nKLPQw4eXhS4cmKylSqw2FdtDDN.0fGXIU14.V7blnznA.S_c2.kHKLUB sMxRanWwN1YvwnhvROuP9VnkDM3D2wJODyNUDgTUIXKY_FKYZyHioazGrA.bpYbxYLg0rqCr0omn A.GJdtPil3ld2GO081xPSLR5td6b6XTcqaGcFKABO5_xIV9cxPqcIdWlarI82KMRymrM3dW4uv3W i7XO12Vi6X99qjAHVXHxPjiVYtuAkaeCNiDRBGcZsOymTwbS5_NvmkoRb3DvM0.zyN7XIYauPg4F nPC_B2r6Ufs2RHNoVZZ7QxMKWqXuOcIcBs4fMpzSGfT9.nccebRXtEtikJB1N1VealNfNmPX1BeO jokIb4iLDRy5LmNQYh9b6pLuE7YclnHGPSeRznxV7th5_vRFDjGfWzflzjMijVdwPF3JtKff5tI2 XauMRw2f4Jcq.8dUGJXkJVEgZUHcB9GLrFj_X3m5XxcFFqGpMc0WG0Y4f1o3eINZClOoE7.xq1rb 7hPEy9vTqmfZ_McpDoAEQzf1XeZqrNmHBM9tXh2_LcIPdRzmWv3y1oXP709J6e4.S6qsq5Z.TkvM 0LRqSt2CjGz62J3p603.LIqeAUUTEzoHsHeRgwU2jILbxcVZLEIC.54W0r3V8DPnZjyAK.neJKg7 QOLyHl6G252K0Pdc7N8ZLrhQdu1G5jnSZyflUv.7_0Fgk8nIEDu5HOKMFQofAfH9t8n9KkYmmy_d YrIrktW_CQRNOI6flR0MUDUT82C.Qj.skWqt.JV3YlqMnCXl6ilQbXguymzqbttgqHp08KEuCA2e pnpRL_NfYdPQwhfkmWLGa9tTLZf80FSb.GQQtbRiI.AVXiN1ZAB7NNIc0NBgOhg9rhCAI0AomPMg 9LVSYmTHW7pFuMpZDaFl6LJO2Dx60CBbOC1fGOU5moTRs4lkyKgXcWzhZcMhWmMgeBlHtphEBxt3 LV70aDC4QpjKhvTW7rBvrupgGkccUctXYFVnsCQAgIcIj9YmWVj6eVjESI_E3o7nBlZzrNrGYW1p KK4e0hPjJSnzHCkZAvY47UTwk3tePk1yBArGJZommi6MLyMsyOTlMeyi58BvRkz6hrsK5zkFyw9X FRLlXcBz2D8.x0iUW5ElCSDkwv1P.zE9dXcDwatPgtUi3aqHAO3p5KROU09LxC_4kn9luyywLj7N ZoTAnQ1Cvu2ESZb2Dyl_Gz95bkAVIqfj_EZJPStAy4yUSgT3fI9NGAamTu7AnR3ki4Lj.BOouEP1 CHMTS9LO1glI4UpGXMTV0uXS4kHjzkcurF12ko9MIdA7GWzeASKQeGIGXy27m2PtEzTruXKS6IzN AS2xEGgxmMIp6n8ah6kknNUlrMl4N4Ps9cBGpnNoZTgOBldUVwnvaQ.1yazG4jQhxP6yA.C_RIf0 f_2kG3MSsTy87DrDzQt5Kq1LuBYJPJsVJc05_7IhbyAhD.y3gsJmU6rbHV5jp3hF9PoSaPa5i_wI BXQ-- X-Sonic-MF: X-Sonic-ID: 9813e03b-5509-4f5c-90e4-827e9d646bec Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.gq1.yahoo.com with HTTP; Mon, 4 Sep 2023 15:45:49 +0000 Received: by hermes--production-gq1-6b7c87dcf5-sv5pn (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 490f1d8daee147dc9f9aaf4236cf86d1; Mon, 04 Sep 2023 15:45:48 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> Date: Mon, 4 Sep 2023 08:45:38 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4RfXzM6hT3z3YdG On Sep 4, 2023, at 06:09, Alexander Motin wrote: > On 04.09.2023 05:56, Mark Millard wrote: >> On Sep 4, 2023, at 02:00, Mark Millard wrote: >>> On Sep 3, 2023, at 23:35, Mark Millard wrote: >>>> On Sep 3, 2023, at 22:06, Alexander Motin wrote: >>>>> On 03.09.2023 22:54, Mark Millard wrote: >>>>>> After that ^t produced the likes of: >>>>>> load: 6.39 cmd: sh 4849 [tx->tx_quiesce_done_cv] 10047.33r 0.51u = 121.32s 1% 13004k >>>>>=20 >>>>> So the full state is not "tx->tx", but is actually a = "tx->tx_quiesce_done_cv", which means the thread is waiting for new = transaction to be opened, which means some previous to be quiesced and = then synced. >>>>>=20 >>>>>> #0 0xffffffff80b6f103 at mi_switch+0x173 >>>>>> #1 0xffffffff80bc0f24 at sleepq_switch+0x104 >>>>>> #2 0xffffffff80aec4c5 at _cv_wait+0x165 >>>>>> #3 0xffffffff82aba365 at txg_wait_open+0xf5 >>>>>> #4 0xffffffff82a11b81 at dmu_free_long_range+0x151 >>>>>=20 >>>>> Here it seems like transaction commit is waited due to large = amount of delete operations, which ZFS tries to spread between separate = TXGs. >>>>=20 >>>> That fit the context: cleaning out /usr/local/poudriere/data/.m/ >>>>=20 >>>>> You should probably see some large and growing number in sysctl = kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay . >>>>=20 >>>> After the reboot I started a -J64 example. It has avoided the >>>> early "witness exhausted". Again I ^C'd after about an hours >>>> after the 2nd builder had started. So: again cleaning out >>>> /usr/local/poudriere/data/.m/ Only seconds between: >>>>=20 >>>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276042 >>>>=20 >>>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 276427 >>>>=20 >>>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 277323 >>>>=20 >>>> # sysctl kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay >>>> kstat.zfs.misc.dmu_tx.dmu_tx_dirty_frees_delay: 278027 >=20 > As expected, deletes trigger and wait for TXG commits. >=20 >>>> I have found a measure of progress: zfs list's USED >>>> for /usr/local/poudriere/data/.m is decreasing. So >>>> ztop's d/s was a good classification: deletes. >>>>=20 >>>>>> #5 0xffffffff829a87d2 at zfs_rmnode+0x72 >>>>>> #6 0xffffffff829b658d at zfs_freebsd_reclaim+0x3d >>>>>> #7 0xffffffff8113a495 at VOP_RECLAIM_APV+0x35 >>>>>> #8 0xffffffff80c5a7d9 at vgonel+0x3a9 >>>>>> #9 0xffffffff80c5af7f at vrecycle+0x3f >>>>>> #10 0xffffffff829b643e at zfs_freebsd_inactive+0x4e >>>>>> #11 0xffffffff80c598cf at vinactivef+0xbf >>>>>> #12 0xffffffff80c590da at vput_final+0x2aa >>>>>> #13 0xffffffff80c68886 at kern_funlinkat+0x2f6 >>>>>> #14 0xffffffff80c68588 at sys_unlink+0x28 >>>>>> #15 0xffffffff8106323f at amd64_syscall+0x14f >>>>>> #16 0xffffffff8103512b at fast_syscall_common+0xf8 >>>>>=20 >>>>> What we don't see here is what quiesce and sync threads of the = pool are actually doing. Sync thread has plenty of different jobs, = including async write, async destroy, scrub and others, that all may = delay each other. >>>>>=20 >>>>> Before you rebooted the system, depending how alive it is, could = you save a number of outputs of `procstat -akk`, or at least = specifically `procstat -akk | grep txg_thread_enter` if the full is = hard? Or somehow else observe what they are doing. >>>>=20 >>>> # grep txg_thread_enter ~/mmjnk0[0-5].txt >>>> /usr/home/root/mmjnk00.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk00.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk01.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk01.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk02.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk02.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk03.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk03.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk04.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk04.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk05.txt: 6 100881 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 _cv_wait+0x165 = txg_thread_wait+0xeb txg_quiesce_thread+0x144 fork_exit+0x82 = fork_trampoline+0xe >>>> /usr/home/root/mmjnk05.txt: 6 100882 zfskern = txg_thread_enter mi_switch+0x173 sleepq_switch+0x104 = sleepq_timedwait+0x4b _cv_timedwait_sbt+0x188 zio_wait+0x3c9 = dsl_pool_sync+0x139 spa_sync+0xc68 txg_sync_thread+0x2eb fork_exit+0x82 = fork_trampoline+0xe >=20 > So quiesce threads are idle, while sync thread is waiting for TXG = commit writes completion. I see no no crime, we should see the same = just for slow storage. >=20 >>>>> `zpool status`, `zpool get all` and `sysctl -a` would also not = harm. >>>>=20 >>>> It is a very simple zpool configuration: one partition. >>>> I only use it for bectl BE reasons, not the general >>>> range of reasons for using zfs. I created the media with >>>> my normal content, then checkpointed before doing the >>>> git fetch to start to set up the experiment. >=20 > OK. And I see no scrub or async destroy, that could delay sync = thread. Though I don't see them in the above procstat either. >=20 >>>> /etc/sysctl.conf does have: >>>>=20 >>>> vfs.zfs.min_auto_ashift=3D12 >>>> vfs.zfs.per_txg_dirty_frees_percent=3D5 >>>>=20 >>>> The vfs.zfs.per_txg_dirty_frees_percent is from prior >>>> Mateusz Guzik help, where after testing the change I >>>> reported: >>>>=20 >>>> Result summary: Seems to have avoided the sustained periods >>>> of low load average activity. Much better for the context. >>>>=20 >>>> But it was for a different machine (aarch64, 8 cores). But >>>> it was for poudriere bulk use. >>>>=20 >>>> Turns out the default of 30 was causing sort of like >>>> what is seen here: I could have presented some of the >>>> information via the small load average figures here. >>>>=20 >>>> (Note: 5 is the old default, 30 is newer. Other contexts >>>> have other problems with 5: no single right setting and >>>> no automated configuration.) >=20 > per_txg_dirty_frees_percent is directly related to the delete delays = we see here. You are forcing ZFS to commit transactions each 5% of = dirty ARC limit, which is 5% of 10% or memory size. I haven't looked on = that code recently, but I guess setting it too low can make ZFS commit = transactions too often, increasing write inflation for the underlying = storage. I would propose you to restore the default and try again. While this machine is different, the original problem was worse than the issue here: the load average was less than 1 for the most part the parallel bulk build when 30 was used. The fraction of time waiting was much longer than with 5. If I understand right, both too high and too low for a type of context can lead to increased elapsed time and getting it set to a near optimal is a non-obvious exploration. The only reason I'm not using USE_TMPFS=3Dall in this context is that the relative lack of zfs I/O well avoids most all of the recent problems that I was trying to test for. An overall point for the goal of my activity is: what makes a good test context for checking if ZFS is again safe to use? May be other tradeoffs make, say, 4 hardware threads more reasonable than 32. A reported observation was that the number of parallel builders being notably greater than the hardware thread count seemed to make the deadlocks (and other issues?) more likely and that ALLOW_MAKE_JOBS seemed to make it less likely. This is how I got into the combination I was trying. Also, it may be that testing for repeating the recent problems just does not fit with use of the USB3 media that I've attempted to use. For ZFS not having deadlocks and the other issues, I have working configurations for doing bulk builds, even bulk -a . (I once got about half of one done on a 8 GiByte RPi4B before a power outage stopped it. I rarely run bulk -a and do so only as a check on my normal configurations still being reasonable after FreeBSD progressed for a notable time, unless it is part of a "ZFS working?" test, like here.) >>>> Other than those 2 items, zfs is untuned (defaults). >>>>=20 >>>> sysctl -a is a lot more output (864930 Bytes) so I'll skip >>>> it for now. >>>>=20 >>>>> PS: I may be wrong, but USB in "USB3 NVMe SSD storage" makes me = shiver. Make sure there is no storage problems, like some huge delays, = timeouts, etc, that can be seen, for example, as busy percents regularly = spiking far above 100% in your `gstat -spod`. >>>>=20 >>>> The "gstat -spod" output showed (and shows): around 0.8ms/w to = 3ms/w, >>>> mostly at the lower end of the range. < 98%busy, no spikes to > = 100%. >>>> It is a previously unused Samsung PSSD T7 Touch. >=20 > Is the ~98% busy most of the time there? Yes. > Unfortunately our umass does not support UASP, I'm aware that FreeBSD has this lack of UASP. > i.e. supports only one command at a time, I'd not thought about it before, but this might limit the utility of testing this way for deadlocks and such that occur via openzfs. > so many small I/Os may accumulate more latency than other interface = storages would. Higher number of small transaction commits may not help = it either. Yea. It may be that the only reasonable test for ZFS would involve replacing some PCIe slot's or M.2's media content. Given all the recent problems with ZFS ending up with data corruptions and deadlocks on main after an openzfs import, I may need to do that in order to be able to have a safe test-only context before progressing my normal contexts to/past an openzfs imports. >>> A little more context here: that is for the "kB" figures seen >>> during the cleanup/delete activity. During port builds into >>> packages larger "kB" figures are seen and the ms/w figures >>> will tend to be larger as well. The larger sizes can also >>> lead to reaching somewhat above 100 %busy some of the time. >>>=20 >>> I'll also note that I've ended up doing a lot more write >>> activity exploring than I'd expected. >>>=20 >>>> I was not prepared to replace the content of a PCIe slot's media >>>> or M.2 connection's media for the temporary purpose. No spare >>>> supply for those so no simple swapping for those. >> Trying -J36 (so: 32+4) got to 470 built in about an hour >> after [02] reached "Builder started". /usr/local/poudriere/data/.m >> used a little under 40 GiBytes at that point. (I do not have >> a file count.) >> The cleanup seems to have gone somewhat faster after my ^C for >> this context: >> ^C[01:20:20] Error: Signal SIGINT caught, cleaning up and exiting >> [01:20:20] [27] [00:02:54] Finished math/p5-Data-Float | = p5-Data-Float-0.013: Success >> [main-amd64-bulk_a-default] [2023-09-04_00h30m42s] [sigint:] Queued: = 34588 Built: 502 Failed: 1 Skipped: 50 Ignored: 335 Fetched: = 0 Tobuild: 33700 Time: 01:20:12 >> [01:20:22] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-04_0= 0h30m42s >> [01:20:23] [25] [00:04:46] Finished www/p5-HTML-TreeBuilder-XPath | = p5-HTML-TreeBuilder-XPath-0.14_1: Success >> [01:20:24] Cleaning up >> [02:17:01] Unmounting file systems >> Exiting with status 1 >> So it took about an hour to cleanup after 502 port builds into >> packages (not published, though). >> ( gstat -spod showed a fairly general, sustained lack of read = activity, >> instead of the comparitively small sustained amount I'd not mentioned >> for the previous explorations. May be that helped. ) >=20 > I suppose more builders mean deleting more work directories same time? Yep. One of the properties of poudriere that is visible via tmpfs storage size timing, is that the storage for a builder is not released at the time the builder finishes a build: the storage stays around if the builder is not used for a time and the adjustment only happens if it starts a new build (or the overall bulk finishes). This contributes to USE_TMPFS=3Dall RAM+SWAP requirements when the space for a large build sticks around for a time after it is done. > I don't know if it should cause cumulative effect, but I suppose = should be at least linear. >=20 Each builder-slot runs its own delete in parallel with the other slots. So, for more slots than hardware threads, that adds more waiting as well. It appears that I've a fundamental choice to make about handling progressing to/past openzfs imports and USB3 media is probably excluded from the testing environment if I have one. Thanks for your help. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon Sep 4 17:05:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfZkk4HKjz4sMdN; Mon, 4 Sep 2023 17:05:02 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfZkk22d5z4SxJ; Mon, 4 Sep 2023 17:05:02 +0000 (UTC) (envelope-from mavbsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-58d40c2debeso16590597b3.2; Mon, 04 Sep 2023 10:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693847101; x=1694451901; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=Ur6PHKlsJUqc/qt+QfqPY/7wFvwcDeU72T/JsrFHVNQ=; b=cmecwnDPfN2FpafzYw8rwymI18+4CwU+L3VKtWC8qBE4zvBk5P5hUDCaMyzU9VGzFB hI9qx1zHdzof1VRpaciR5fbuyJTep3xiGFCUluwd5gVVt0eUfb9t9BMUW19z3Wc9bOS1 pbyW7G1I5EjdHigJjd8n38/X5REgIkq9AqLcF+M9FeEjfz9K3W2Kjb4ktT1UgO+eMQPZ iVkBX8cBGotznIQuPU5DG9T6XQw+nMt7nUBm9bd1Mw7bZDXIpOEPl7n2OCnnyHhJ9GET EyKZrc3c2ms/FUn5D/YPLvUnxrrawQSk9neHjmOC+yVef+7e66ElpnNHx7hQjomls+Ji aYtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693847101; x=1694451901; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Ur6PHKlsJUqc/qt+QfqPY/7wFvwcDeU72T/JsrFHVNQ=; b=KwuzQtFLhAvZZtZy9ZdoqFN0V/7KEozVBf9PirRdbnmfY+s7QLJBA0uavYJFTjcZmO 0KjqJQUzIDyJYi21vvSrxVNFRXP/q/LUHeSa14/ySYsj6P3oZ5RLed2KvSOBJ1Ca1QXV s8PWYGac0yiogoLqsiLxNmpr8DGWRklDQI5UV9qYEqIttWYD6ryaIEguaLEo/ARkfkCf 7fIoV4/+vkG8SVFrWV3sDVjkpYgaY4Bpvn8W+yXgc/9DR9Ntw1ugPqdaZUBdNqXmpbIT 2Z96C9lePNDYTgo+M5W3dW6TQXq+gKg9IEHqRmYYQdMT7/jmgeFNhmHIfm0bBE5FAsG/ I9WQ== X-Gm-Message-State: AOJu0YxBdnGLDl0hhfN2PEhX6p8ot6uNuzcG3lnvOtKOeqxPw7dBiocI SfaJoT48t4b0o2BiZerPpJE= X-Google-Smtp-Source: AGHT+IE/SVjFsNwNSey1Aoq9/hX0dww+OXhVeRMgvWhk7IkLd0H0kq/MKf6qTqf/Qy5MRJQmTLg98A== X-Received: by 2002:a81:9988:0:b0:59a:e672:5a03 with SMTP id q130-20020a819988000000b0059ae6725a03mr2828502ywg.44.1693847101261; Mon, 04 Sep 2023 10:05:01 -0700 (PDT) Received: from [192.168.1.66] (104-55-12-234.lightspeed.knvltn.sbcglobal.net. [104.55.12.234]) by smtp.gmail.com with ESMTPSA id eh10-20020a05690c298a00b0059adc0c4392sm721868ywb.140.2023.09.04.10.05.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 Sep 2023 10:05:00 -0700 (PDT) Message-ID: <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> Date: Mon, 4 Sep 2023 13:05:00 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned Content-Language: en-US To: Mark Millard Cc: dev-commits-src-main@freebsd.org, Current FreeBSD References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> From: Alexander Motin In-Reply-To: <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4RfZkk22d5z4SxJ On 04.09.2023 11:45, Mark Millard wrote: > On Sep 4, 2023, at 06:09, Alexander Motin wrote: >> per_txg_dirty_frees_percent is directly related to the delete delays we see here. You are forcing ZFS to commit transactions each 5% of dirty ARC limit, which is 5% of 10% or memory size. I haven't looked on that code recently, but I guess setting it too low can make ZFS commit transactions too often, increasing write inflation for the underlying storage. I would propose you to restore the default and try again. > > While this machine is different, the original problem was worse than > the issue here: the load average was less than 1 for the most part > the parallel bulk build when 30 was used. The fraction of time waiting > was much longer than with 5. If I understand right, both too high and > too low for a type of context can lead to increased elapsed time and > getting it set to a near optimal is a non-obvious exploration. IIRC this limit was modified several times since originally implemented. May be it could benefit from another look, if default 30% is not good. It would be good if generic ZFS issues like this were reported to OpenZFS upstream to be visible to a wider public. Unfortunately I have several other project I must work on, so if it is not a regression I can't promise I'll take it right now, so anybody else is welcome. > An overall point for the goal of my activity is: what makes a > good test context for checking if ZFS is again safe to use? > May be other tradeoffs make, say, 4 hardware threads more > reasonable than 32. Thank you for your testing. The best test is one that nobody else run. It also correlates with the topic of "safe to use", which also depends on what it is used for. :) -- Alexander Motin From nobody Mon Sep 4 19:27:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfdtY4zdpz4sJnC; Mon, 4 Sep 2023 19:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfdtY4Wqxz4Kp5; Mon, 4 Sep 2023 19:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693855621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/t1TNKt6zxiUDqO+/4horWOsu1R97ksR7mthzN8Xag=; b=GJ8o+06VNCfAF/DDj20SqmO+5gPegDvIuhzALaQ44aPlgaBvExqYQlwoPiJHTT+MlV7K7h MHtQIiGeX/3PVzHCDtKEzrKUkBkHos9BSgGzuVcBOWsMMCCsf0kR3mu9DoICgf+ssg1Y+U 4zYnAC88EZCDoAvTBLxlKJOtDUQkhuaBsv6AkL8gsxcHZNBPeeK/E43yDSmXXAU8A/1YlV IxTVmTxZcdhzGsXVQ51C/mgUutvjAlkqcmiews3bSjO3aVf98CwXEoz5YRyS9KQRkBHdGB 0rm8YO4WbVPgZktevm4wAAM8I78itYhI6QZ6GtPbJPmShLzCy11+IxU5N3BhnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693855621; a=rsa-sha256; cv=none; b=fS4uaw2Ly1K1geJmqziMuzOIj5Z4T7f/Q4G2ZyQWwhpthlc8mozhlVp96GqCo8Hv1rsnRP yyq99cZCYFC74IuohEQ+SAWvQ7lOXEcZDYGScO+QjZYO2eZvqGg5PtuElgMbHRAbQJMl06 RB8Vs40ZPGLFkAQVAwq+U7X2LlirqSCBVYcQguz+DpEMP2M9c5byltx4rF6ZGRFIBzRDmx DU2s1HJAgEqfE6C91yYj+hDF0BhiZ/aiXgwQg98WvE7kmt1/3KmXj9UK5tgGL3/JDIR3V+ 2w987Qfzbla8Qz3Zyq2IZbcsHjgYvGHigeakzL+41ZsmQGM1w2sMEH4NK5ct7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693855621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/t1TNKt6zxiUDqO+/4horWOsu1R97ksR7mthzN8Xag=; b=x6tylTlKGiOog4gZIvxwSYWUnDWHVBLisNbAz+NzwYA5QT0p/+dTyodIr5xD1Q6+24Fc9q jXUkWORLGTkOrfbcB/DLApCavaphBF0kqqPimX1xJKG1oHW3jK5u5qREZSFrDJXYnKW7U4 SvgnXjMi2XWjzwSZnlOyiCS5T7EYsoPqwW2IvQjTgFPUPxfOd/Oh8sAdDVOT2DqlSnXyaR 4vPkzMlyGDoS+WnwLTJUB6+aYkR1+HqnzWHW1ePIPWb6avWTNTYJ4GtcXT8omGsXfe8fFi wLXbshOHr0Y9gwe8JT9NVMd8F4uv/f94B5k4SKCBoNbJp0SqLM6x08hxBxc4iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfdtY3cjhz1J3v; Mon, 4 Sep 2023 19:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384JR1ka079457; Mon, 4 Sep 2023 19:27:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384JR1iZ079454; Mon, 4 Sep 2023 19:27:01 GMT (envelope-from git) Date: Mon, 4 Sep 2023 19:27:01 GMT Message-Id: <202309041927.384JR1iZ079454@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: f49d6f583e9d - main - uefi(8): Refer to a related manual page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f49d6f583e9df2839b420f27c44edc5c1fa276c6 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=f49d6f583e9df2839b420f27c44edc5c1fa276c6 commit f49d6f583e9df2839b420f27c44edc5c1fa276c6 Author: Tom Hukins AuthorDate: 2023-08-31 09:21:40 +0000 Commit: Mitchell Horne CommitDate: 2023-09-04 19:22:30 +0000 uefi(8): Refer to a related manual page PR: 265834 Reviewed by: mhorne MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39577 --- share/man/man8/uefi.8 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man8/uefi.8 b/share/man/man8/uefi.8 index 9ee501047337..42642bb48260 100644 --- a/share/man/man8/uefi.8 +++ b/share/man/man8/uefi.8 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2022 +.Dd August 31, 2023 .Dt UEFI 8 .Os .Sh NAME @@ -89,7 +89,7 @@ or .It .Pa loader.efi loads and boots the kernel, as described in -.Xr loader 8 . +.Xr loader.efi 8 . .El .Pp The @@ -116,6 +116,7 @@ Typical non-default kernel (optional) .Xr efidp 8 , .Xr efivar 8 , .Xr gpart 8 , +.Xr loader.efi 8 , .Xr uefisign 8 .Sh HISTORY EFI boot support for the ia64 architecture first appeared in From nobody Mon Sep 4 20:51:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rfgmg0sWxz4rpRY; Mon, 4 Sep 2023 20:52:03 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rfgmd701Xz4hwt; Mon, 4 Sep 2023 20:52:01 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of dchagin@heemeyer.club has no SPF policy when checking 195.93.173.158) smtp.mailfrom=dchagin@heemeyer.club; dmarc=none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.2/8.16.1) with ESMTP id 384KpwuV035567; Mon, 4 Sep 2023 23:51:58 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.2/8.16.1/Submit) id 384Kpurx035566; Mon, 4 Sep 2023 23:51:56 +0300 (MSK) (envelope-from dchagin) Date: Mon, 4 Sep 2023 23:51:56 +0300 From: Dmitry Chagin To: Warner Losh Cc: Alexey Dokuchaev , Jake Freeland , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: af93fea71038 - main - timerfd: Move implementation from linux compat to sys/kern Message-ID: References: <202308242029.37OKTmVs091755@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spamd-Bar: - X-Spamd-Result: default: False [-1.80 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; FORGED_SENDER(0.30)[dchagin@freebsd.org,dchagin@heemeyer.club]; MIME_GOOD(-0.10)[text/plain]; RCVD_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU]; FREEFALL_USER(0.00)[dchagin]; ARC_NA(0.00)[]; BLOCKLISTDE_FAIL(0.00)[195.93.173.158:server fail]; FROM_HAS_DN(0.00)[]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[dchagin@freebsd.org,dchagin@heemeyer.club] X-Rspamd-Queue-Id: 4Rfgmd701Xz4hwt On Mon, Aug 28, 2023 at 10:19:26AM -0600, Warner Losh wrote: > Added cc for Jake > > On Mon, Aug 28, 2023 at 6:17 AM Alexey Dokuchaev wrote: > > > On Thu, Aug 24, 2023 at 08:29:48PM +0000, Warner Losh wrote: > > > commit af93fea710385b2b11f0cabd377e7ed6f3d97c34 > > > > > > timerfd: Move implementation from linux compat to sys/kern > > > > > > Move the timerfd impelemntation from linux compat code to sys/kern. > > > > Could you quickly summarize why we need these linuxish bits in FreeBSD? > > We've lived for years without it. Had expected to find the rationale > > in DR but alas. :( Thanks, > > > > I'll let Jake answer this and > > > glibc misc/tst-timerfd test fails now under Linux emulation > > I think his new review https://reviews.freebsd.org/D41600 addresses this > issue maybe > Unfortunatelly, no. misc/tst-timerfd failed due to read() is not blocked (w/o TFD_NONBLOCK flag) on non-fired timerfd From nobody Mon Sep 4 23:37:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RflRt0mKTz4rSBw; Mon, 4 Sep 2023 23:37:46 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RflRt0FfFz4Gcj; Mon, 4 Sep 2023 23:37:46 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693870666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bZPvw6TCpKAQQb/kyEYcX9huPw/w8dUrVRgbgvT9y9U=; b=lFSUKyY2D3HPULj5LwaKDGxk7WKxCni3p8NTgJs0+V39ujMXmnbEGvfMcx971WDu6iG1Q+ hV+smGuZI7fD5rhPP2K+5HlMwNtbdHRNPw88XXdyNrU6/viZeo0X6CD8gkEZlJaIbz9qWy dpKYLQY2ht07GB5E/8dPJcjxeX81s+LKEI4uIwvaAbSSI+pzZa0ll3sQwSPWS12O2+bHyi 7TWnssU5b1O2fk5Sel01fKzI+TAHROHPb4lwrOGSYSE8sdOPL8DvhnReqL2ssGFyxxU4pL hJpyH9JU5DPnQs+2qS5Bnb54p7Gq4D/zWyOLCf739JPdB8XjE2H9zkME7qY2qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693870666; a=rsa-sha256; cv=none; b=vZa40Y2/YT48OUAlRnlwqk7VpBVAWVCVPTDYnQKXYdncmC7jWIW8X5icvWH4J8kIJk1N/3 fVN8q/MLj1Oo8U5dok0TG8wzv8LpEF7KcaU7yMTKqZvODeLwSCdYc9JcVvZ1v11/IEgncO PAtyTZsVD9g/yD+Am7DBRww9yUjyKovYQiwUkTtsMmk5Ca9VVlAM7iDHH9YqPjOb8CgmTY n3sKgp4vPjwYTKepCOWL04UQ50eIbqAM1pFuOB1Z33cZnU8s3z9OxCvEk3DLOEQ3kmfm3b PHL+v7IZsCLM6X3fFRk6LtRS7tddIHoFBQMKZsQBsjJdn5l28J4qZElPzKTvPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693870666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bZPvw6TCpKAQQb/kyEYcX9huPw/w8dUrVRgbgvT9y9U=; b=S6B/iAPEqlDV9DyM6wbSa1N7d2I359nslr698Fe4eFMgX10vqp98GFIbzNJo3cM0zBopa8 NZdaSACpD6BqdqIyVF1r9OIgZD5H+kQXrX5RqRN3jGazmBx8RxhvMdfMdjZsxd8vWtZsOt hlqzHhKzBQzX2s4ZEp1ApMpVeV9jZUU6iH5bYVvOCAieaViuKRTYSPANoG1E3qRTWlFkrc utG+TiuNiL1jM8ej2a31DR08tbj6eLhDlWN9uKbMMsXC99Vz0qtzVe4774tlXha5qBpX+I Wpe4H3BQz5oC28P3gU+Wv4c05GvYVicwJHVIQOifahnnaRWIDs7LWzD8rDpeKQ== Received: from ltc.des.no (ti0187a400-1976.bb.online.no [85.166.95.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RflRs5Sw9z11YK; Mon, 4 Sep 2023 23:37:45 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id A8A254B9EA; Tue, 5 Sep 2023 01:37:42 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Warner Losh Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: ea82362219ee - main - tests: Skip all tests that require mdconfig when /dev/mdctl missing In-Reply-To: <202309021940.382Je6Hn028769@gitrepo.freebsd.org> (Warner Losh's message of "Sat, 2 Sep 2023 19:40:06 GMT") References: <202309021940.382Je6Hn028769@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Tue, 05 Sep 2023 01:37:42 +0200 Message-ID: <861qfdtsqh.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Warner Losh writes: > diff --git a/tests/sys/cddl/zfs/tests/cache/cache_test.sh b/tests/sys/cdd= l/zfs/tests/cache/cache_test.sh > index 4d77d9fa56a7..79b09dd93183 100755 > --- a/tests/sys/cddl/zfs/tests/cache/cache_test.sh > +++ b/tests/sys/cddl/zfs/tests/cache/cache_test.sh > @@ -280,6 +280,7 @@ cache_010_neg_body() > . $(atf_get_srcdir)/cache.kshlib > . $(atf_get_srcdir)/cache.cfg >=20=20 > + [ -c /dev/mdctl ] || atf_skip "no /dev/mdctl to create md devices" > verify_disk_count "$DISKS" 1 > ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" > ksh93 $(atf_get_srcdir)/cache_010_neg.ksh || atf_fail "Testcase failed" the canonical way to do this would be to add atf_set "require.files" "/dev/mdctl" to the testcase head. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Sep 4 23:37:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RflS55f4tz4rSR3; Mon, 4 Sep 2023 23:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RflS558KGz4H1R; Mon, 4 Sep 2023 23:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693870677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2e5lAMB9OAzC/NpYm7s20M/SZgOQkzB78BbMFbg6V/g=; b=MN+ASbnXfIlpku0LgqG9X3CT6hLGqo2/uluxEX+u0pGdTgoHql6jtANgO80x2MCUM65bps DwzFLGgHPXlGPcnGh3SYNIrJaRqvTc2OC52Tn5ttjHZHQfI0tP+iUvqqhNGWRnZxbOzAkC Tfl03/jOIb3dG4KxdbB321LDOwDlRHqCWAtd+3y7S6i3tL7di2mWT6y152U3hrGblGnmd+ i4C35pKoFyjuvmh9Pb1ol+TQRWag5g0cOPcKtnouHM8b8F6PVDTJ0Pc5DqE4eViXIlGGHe 98zDNLhy4j3hONiQBH+f2tm7SxjMq01KNPhjfhB7MB4AcOgmZyWcCRjWtQ8cuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693870677; a=rsa-sha256; cv=none; b=Ht60+8Tnowali2tp5Y/Gt7OdNTRQeK54phSfrg4fR+a80UQjYlUJJ3YgqdmfaxHuRQYLlc w/7YasyyUGcA/J4ix02STjOfSfXUq0mfzp2jnu1q0JzFGWP/U5u2AApae9pzLhiRfo8eDJ PAqfKe9UwvU2ra+kxxkSwL6emR+6VFer4TbNmFx7zxYAZVAN/Qu8s3QnPgunFouWWDOinl +/Imy98FjA8nnoZ5jTllastnMNhsJGJrBBP8Oj1hQEL1SX6sQmzUudBLlRG1AfUvgDIRsn qPmc3ODGrzMKYt3gt6lIs3gFiqAzESOOxY9txfEC7IkW+LVJWLMBvkzS398gZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693870677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2e5lAMB9OAzC/NpYm7s20M/SZgOQkzB78BbMFbg6V/g=; b=ZFznKCniWq81WfuZFDqi6fEDKXcnuxk6vEvqH6fWH0O+diKTINgM+GB27irUf4L98XLZNP gpnBQL+6HF2352SfojbBcMEIesmu/BOLgd6ixZuFEeVwQhxyylnQvCuFlVLCwyZ0p8bS04 13GvSV1+ZAx8hAXUbgn8NDYl2o8UWU55sxJCST/ltaIZnmk7juBpZO0HPUmb0ufUWmPMwu +YoWLkRL8XLln/O7b8bqB+xkN1ZlbOsgE6mVrgegDiMIBS18mFTFOXziH4yED84jAj+ac4 AOG22now7UYHJBNCE/JrzQV4ct/zkULyc0352kBxafQRm/7KBnJh7VkbshkbnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RflS54FcVz1Q4H; Mon, 4 Sep 2023 23:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 384Nbvl8001513; Mon, 4 Sep 2023 23:37:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 384NbvnE001510; Mon, 4 Sep 2023 23:37:57 GMT (envelope-from git) Date: Mon, 4 Sep 2023 23:37:57 GMT Message-Id: <202309042337.384NbvnE001510@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: b451dcc84f1c - main - if_vlan: Always default to 802.1q. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b451dcc84f1cfd1d14ede8a53d1d8359c9b85c94 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b451dcc84f1cfd1d14ede8a53d1d8359c9b85c94 commit b451dcc84f1cfd1d14ede8a53d1d8359c9b85c94 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-04 23:26:07 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-04 23:26:18 +0000 if_vlan: Always default to 802.1q. There is no reason for this fallback to be conditional on COMPAT_FREEBSD12. PR: 273539 MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: melifaro, allanjude Differential Revision: https://reviews.freebsd.org/D41717 --- sys/net/if_vlan.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 41a099c1407a..e7a290564722 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1106,11 +1106,8 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, return error; vid = vlr.vlr_tag; proto = vlr.vlr_proto; - -#ifdef COMPAT_FREEBSD12 if (proto == 0) proto = ETHERTYPE_VLAN; -#endif p = ifunit_ref(vlr.vlr_parent); if (p == NULL) return (ENXIO); @@ -2262,10 +2259,8 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = ENOENT; break; } -#ifdef COMPAT_FREEBSD12 if (vlr.vlr_proto == 0) vlr.vlr_proto = ETHERTYPE_VLAN; -#endif oldmtu = ifp->if_mtu; error = vlan_config(ifv, p, vlr.vlr_tag, vlr.vlr_proto); if_rele(p); From nobody Mon Sep 4 23:58:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rflvx1S6Nz4rtJk for ; Mon, 4 Sep 2023 23:58:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rflvv1jWFz4Mpd for ; Mon, 4 Sep 2023 23:58:35 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2bcde83ce9fso31679851fa.1 for ; Mon, 04 Sep 2023 16:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1693871913; x=1694476713; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6X+NcYYXvIau7oCqJ4OruOWCt7nZVHUFC/yqTuy9s2g=; b=RGRz5D+InaO+ekqCE0HKnVYxvYo1Qmk4KqypAn5rGXza3uAbrIoxJhSJ7jXle4URXK Pd6iHwtV6N6nTKDWt8ND1BYeD3X/BcbOAOxbG8LbBy4uCee5ChYdgVlr6llUOEC18l2K Pt9zZYgyW3rYio3ER0K/g5v35rDnPx4nJqvJCuVAFFRbckUzykPpLrqY+97iKiq/BWXx 0TE8o2LaHjbEQpwWbfR2QtPbNzu9W4NMclxtNIWsTVI8eJCqWeKIJOsmxdwxkly6hpDl O0m8TYlTEpjHRRUDJDEs42kAexQLkFvu78YHyI65x3orIBUKOO5pXriTvaZSlwo3YC9O XnDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693871913; x=1694476713; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6X+NcYYXvIau7oCqJ4OruOWCt7nZVHUFC/yqTuy9s2g=; b=VAMEGgb/o+03oj4zNm2PVaWS/dCVNskq5eoiD5eKhrt3F5c6482zWKvyV1aD63/Mdq UEI8nzFjhMK6uWuB3e/uaoDpgBHTTTAX6mnzqd8mzV9tDu/9Cjr1H4e2l79gf7mTjxtT e4MntkZJjHJ2L2gvFUBmrjhFhkoBCtEUQbm7fPUkiALgF5in8nIlIRR1ZCfOZDXHejW2 Tvjtuz+Mwih6W+BMe3KqQCA7duYSdUQ72VAJf+f/gslLHzJv9D7RtgSTMIVB2n9Pmy7p APAbh2QHW3yUYkONQKTec3UuwQVsZfsBtJVvhHpm7wOggmlp7Ks4/i5HbSBm991N2I+i BJoQ== X-Gm-Message-State: AOJu0Yz68BkbbzLnkvgMYzhMUFXx+VZ0OpxyX0yD7XnVYXuvIXweM7z2 v0xphcbF6jc419GnqJaL9K/7z6gAAnSdpI28bqD2/w== X-Google-Smtp-Source: AGHT+IE6DtmnAA72IWe2FudxRAxVMaUKFmEf1hHB3B5OFppkcWVZmL7NMhG3oXQoonp/AJqixG0zQl06Ij+HK9EYf6U= X-Received: by 2002:a2e:9c58:0:b0:2bc:d8cb:59fe with SMTP id t24-20020a2e9c58000000b002bcd8cb59femr7156676ljj.8.1693871912110; Mon, 04 Sep 2023 16:58:32 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202309021940.382Je6Hn028769@gitrepo.freebsd.org> <861qfdtsqh.fsf@ltc.des.no> In-Reply-To: <861qfdtsqh.fsf@ltc.des.no> From: Warner Losh Date: Mon, 4 Sep 2023 17:58:20 -0600 Message-ID: Subject: Re: git: ea82362219ee - main - tests: Skip all tests that require mdconfig when /dev/mdctl missing To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000009de140060491498f" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Rflvv1jWFz4Mpd --0000000000009de140060491498f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Sep 4, 2023 at 5:37=E2=80=AFPM Dag-Erling Sm=C3=B8rgrav wrote: > Warner Losh writes: > > diff --git a/tests/sys/cddl/zfs/tests/cache/cache_test.sh > b/tests/sys/cddl/zfs/tests/cache/cache_test.sh > > index 4d77d9fa56a7..79b09dd93183 100755 > > --- a/tests/sys/cddl/zfs/tests/cache/cache_test.sh > > +++ b/tests/sys/cddl/zfs/tests/cache/cache_test.sh > > @@ -280,6 +280,7 @@ cache_010_neg_body() > > . $(atf_get_srcdir)/cache.kshlib > > . $(atf_get_srcdir)/cache.cfg > > > > + [ -c /dev/mdctl ] || atf_skip "no /dev/mdctl to create md devices= " > > verify_disk_count "$DISKS" 1 > > ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" > > ksh93 $(atf_get_srcdir)/cache_010_neg.ksh || atf_fail "Testcase > failed" > > the canonical way to do this would be to add > > atf_set "require.files" "/dev/mdctl" > > to the testcase head. > Thanks for the tip. I'll redo this for the other ATF files. I have several others in the queue... I've not been good about sleuthing out these meta-data variables. Where's the list of them kept? Also, is there a canonical way to say "I expect this result, except if I'm in a jail, then I expect that result"? There's a number of things we have tests for (like mknod) that work outside a jail, but not inside. This results in about 50 failures when kyua runs in a jail (which is my test setup for bsd-user). Warner --0000000000009de140060491498f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Sep 4, 2023 at 5:37=E2=80=AFP= M Dag-Erling Sm=C3=B8rgrav <des@freeb= sd.org> wrote:
Warner Losh <imp@FreeBSD.org> writes:
> diff --git a/tests/sys/cddl/zfs/tests/cache/cache_test.sh b/tests/sys/= cddl/zfs/tests/cache/cache_test.sh
> index 4d77d9fa56a7..79b09dd93183 100755
> --- a/tests/sys/cddl/zfs/tests/cache/cache_test.sh
> +++ b/tests/sys/cddl/zfs/tests/cache/cache_test.sh
> @@ -280,6 +280,7 @@ cache_010_neg_body()
>=C2=A0 =C2=A0 =C2=A0 =C2=A0. $(atf_get_srcdir)/cache.kshlib
>=C2=A0 =C2=A0 =C2=A0 =C2=A0. $(atf_get_srcdir)/cache.cfg
>=C2=A0
> +=C2=A0 =C2=A0 =C2=A0[ -c /dev/mdctl ] || atf_skip "no /dev/mdctl= to create md devices"
>=C2=A0 =C2=A0 =C2=A0 =C2=A0verify_disk_count "$DISKS" 1
>=C2=A0 =C2=A0 =C2=A0 =C2=A0ksh93 $(atf_get_srcdir)/setup.ksh || atf_fai= l "Setup failed"
>=C2=A0 =C2=A0 =C2=A0 =C2=A0ksh93 $(atf_get_srcdir)/cache_010_neg.ksh ||= atf_fail "Testcase failed"

the canonical way to do this would be to add

=C2=A0 =C2=A0 atf_set "require.files" "/dev/mdctl"

to the testcase head.

Thanks for the ti= p. I'll redo this for the other ATF files. I have several others in the= queue...

I've not been good about sleuthi= ng out these meta-data variables. Where's the list of
them ke= pt?

Also, is there a canonical way to say "I = expect this result, except if I'm in a jail, then I expect that result&= quot;?
There's a number of things we have tests for (like mkn= od) that work outside a jail, but not inside. This
results in abo= ut 50 failures when kyua runs in a jail (which is my test setup for bsd-use= r).

Warner
--0000000000009de140060491498f-- From nobody Tue Sep 5 00:11:06 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfmBb5kVPz4sFWW; Tue, 5 Sep 2023 00:11:19 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [IPv6:2a01:4f9:c011:3eaf::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfmBZ6MRJz4QNn; Tue, 5 Sep 2023 00:11:18 +0000 (UTC) (envelope-from des@des.no) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of des@des.no designates 2a01:4f9:c011:3eaf::2 as permitted sender) smtp.mailfrom=des@des.no; dmarc=none Received: from ltc.des.no (unknown [IPv6:2001:4647:d671:0:36e8:94ff:feca:9834]) by smtp.des.no (Postfix) with ESMTPSA id 62E074ACBE; Tue, 5 Sep 2023 00:11:07 +0000 (UTC) Received: by ltc.des.no (Postfix, from userid 1001) id D754D4CC35; Tue, 5 Sep 2023 02:11:06 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Warner Losh Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: ea82362219ee - main - tests: Skip all tests that require mdconfig when /dev/mdctl missing In-Reply-To: (Warner Losh's message of "Mon, 4 Sep 2023 17:58:20 -0600") References: <202309021940.382Je6Hn028769@gitrepo.freebsd.org> <861qfdtsqh.fsf@ltc.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Tue, 05 Sep 2023 02:11:06 +0200 Message-ID: <86wmx5scmd.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.95 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.65)[-0.652]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; BLOCKLISTDE_FAIL(0.00)[2001:4647:d671:0:36e8:94ff:feca:9834:server fail,2a01:4f9:c011:3eaf::2:server fail]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; ASN(0.00)[asn:24940, ipnet:2a01:4f9::/32, country:DE]; FREEFALL_USER(0.00)[des]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; DMARC_NA(0.00)[des.no]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfmBZ6MRJz4QNn Warner Losh writes: > I've not been good about sleuthing out these meta-data variables. Where's= the list of > them kept? atf-test-case(4) > Also, is there a canonical way to say "I expect this result, except if > I'm in a jail, then I expect that result"? I don't think so, but it wouldn't be difficult to add a "require.unjailed" knob, or a configuration variable which indicates whether or not the job is jailed. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From nobody Tue Sep 5 01:39:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rfp8k5h9Gz4rmLS for ; Tue, 5 Sep 2023 01:39:50 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic304-25.consmr.mail.gq1.yahoo.com (sonic304-25.consmr.mail.gq1.yahoo.com [98.137.68.206]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rfp8k21nkz3L4Q for ; Tue, 5 Sep 2023 01:39:50 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693877987; bh=MLh2ZKkOcBMqd4kEA6M4JHaiI6Ys7B3oyWTj+C2aqWo=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=jQrFwqNQIJ4wILZor5uGUqGzAoQfygLoCnsUwln8YpeymXmyg59j9fJ+KFaEQNr3RP7g8AxnQQnXXf2SrvE2la4NgKcyfD62AUU5od12PExge+7zap3vgYA2lvBFkpS0zk3qbM9VAO7XHGU0hiGoO/IeR1W64WSfw6nJXWknIKyZaP4mrIBnBMDO7tE36JzOQYv4xsW4yyNjUqlq9PIx7Upal0AfaJKe2Wwg9trMMeTij2XVOMyi+bcVMB0vliYFp1T2SXXbyrL37qWoeWwGLISbnfB0qdli7MAbPEAVb72Gg9SRzND71DdKNDq0TpEkGYOHZN4OAL7W7y1QMpuEFA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693877987; bh=KtV55EkLgVb/DxBOEAOd5w/hn6wnQuAspon53etejXy=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=jUxf06VGGqIYFcoqr3X0C0n3akonwwXnOBhE9NaRqEttlqQw3N7A63NB6R1US9+5YIf7WgqmdGZ7GrnVIdxyUedpdkCpr5pcb2K7S3gY+bwg8nJB0XeEsUVlr5T37GRTBTXGikjUV/Aw/Lln2fI6qjhp6cWVweGmFjo15TPHzjGceG33bCrNndvv/D5BXVyLs+wqef4QRXTkOSWewKPbBPPxnvxnQ1aJSCNVK3TmtMeOoAYfxTWItoIzUkkKJ8r+QFq7EuePqhpfGvrV6yaMK1cbN2cDoc9vgIOZv27r/SC2juIlgMv4XSGN3GqY3UGje6x7wsyYkvgs2VH1738uIA== X-YMail-OSG: V.l2G2cVM1mfnHr3WApbIrbqKTcJYA3NWF0aohCuL3.6MR5FJKfdz8Fz5NL3O5R 8pkwrggOhckIKnnuJKXE3QjW67DQGrl1QLuzTaZuES0xuVTrzghITifUBwPd0eJBNjVUsFhK8dCI BtTZR5wSxfs3JK490PU9leUDWHGWHynRpV_AEB9Sf8DF7ONRtc4LXEm4l9qZ_kPH_VwYhQTZqug. PfEXQobAEVwOtOY_XDnINb2JwxMCBAXyqj00.L8BN9FChOQEgfck2qzQmTORGMd0GLsz2BS0D_8k NuG.7iJhVoThfypQePngm0CpEvn37tglnWegdIWBMC9B1wFuDXQ28Fdq3qss9nC4jgwFg5Jp89fo 9J9R0EXWMcVTZUDHktfp3KZUANgYZs.niMlzSZcFmnhbJmsrF8juuU6YIZPSDHVFMZ5uGmCmQ2hw T0y3QadZQC.L2eNDh8np8cUIm_5DtfPMZusrNqy4F3OcIVV.cGUYoPRMDK6DdkZjvxicjNL9XuKp dnpWrodUshFqfAxa1g3kb9ZXifwla5JwnxCo7NjQuvM.MgD3mjMtcWFF1796E6b4HgVhIiCW6sNg XlymjOMNdUgLmo40XXG4hDimoymsmVmhEVwr5kkDSSI1ZbNpe_wgxuT_M0gTIW9mg0Yy1CO_ikab 94FLTudvut01eDf6QwGSXhbE5HROTs4bMC9LkzM6_IoCigQ1nhhl_6FpKiNubiu.IgBhkCWj68f2 doVNyz.w7iP3vA7mZ7a.kgQZ2p2TsJy7PAUAxWdJlWdTC.MXpj2h1r7ZSAeBHVpC1YoRBRWcRL33 2M9ED3BIAFn6I8Zt6TsqIMeGbrjuNlgRoc5DMWAZXNWG_bHHxTwvIaDavd5YBFkHLHMaA4UH9EEC IxNsnIH_vz2jH14W_pIF0IFm56A62EqJgZSGMftnnwFOeoAWlcZMlgBXSu5Eknmzpd2ZvKEWXCX6 glqWx2SEz__RHMVT.ZNLybbR66b2Ccnd8e6RxZqyceP33gDJdE5J52zS.y6JHclQm8idJt9k4CJ9 zl..f3fUQjK.Pw9Pwrda31zQtQYEojZiAEgNCke8Jhjjfv_Z_kU3CtP2M2iyCTUh3STG_k6MVoSa bgsEJHob.Nv82mKKE2BK.aZbxInM7I0wNHaFRIRGlgbJyJGybv0Efdo1cjqSIig6FAZZKQaW6wd2 Zvn4Dl7SiTdimhK_wDFtMAQt5tjJ2CyIo9PMIypRJDr_BtIsTWq2kTnovtNN67keNeQUiuAEea9W pPHKE1Fo0rrYV1edyYpnGX0HOC29DEOxnksmGkzU9lMZ6vozWCori9uCWdDMpXTs1WONmEvCs6Qv eyZ2JPz9.2QjIFjIm7bKkTouM7jgiZhaq5QpBcfsf9T8ApPpgJj1o6TDt2XTkurDPRsMEFPK9skw i.IcSMjSEKaQDKGDsdULT.KT3ucOhWbwnOjELKdy6YYlc.i56ceH5ajFLWIs3qBcTuEQs5YynQfF WYJauy.T_jPWSTNSmgj88q3CHCNdGK353921Z8AxumgRW87bVf31a1FVQzx6nquW1mvgInY5X1_F tDCbOcWq0fsD9wEY7d_p3T52ifTSewUa8zlGKIdAle45armYb0m1C1oZKAGiIbO_Qs9rWuJ.aoS8 bAvvh2zbCPoXgWb0OLFWmUaZo_w2mPDAgE5R_bCpjerSgjhQdszLsUHAILvW9WNKwMfMf39MEUHG UpmTZY.KUViv6XVKfN5tx4VL4tIHNv2e__bJk3Rfg0.9bEYuDaCl8mmc5hlZwgYzygfe4Sde2Ytb tIEchAjPiZ6K8Df84e0_5_SPx.pmb3kJUHwDI1d9uzWQ9K.ZQInm2G8SUZHnAjk6_1j7yRfjxILy CyR3325VIl2P4MpUqlc4EjXHn_AVpWSwzana9uLle.aBJNHsTMjQNBOfHVGFuBcyTph_wZfaSjVS c7z27ImyaS3KvpBvxYRm638ggrJ9uYQV.YrNqV1LnkFO3ZkkIKL.3ofACewyxUgPM_t.j3nrtDSM YluaQhfq5DjFC7Aenx7Ww1LcTnTjh.511Yu9tppen17GEjgm0brF3M.Ru9v_oGdtKEweyTSxQWm6 EhWE0AocpCKftQcuHiqA3YbkpQLFyI.xoy9W0O3ytPGVV4Ze4vBvovnBty1Aukakwl.sY9hg9YJ4 n7hr2Es7z7lwM0PsE1WbrJ8DYv6rY_MaLEGDWSfvzdJqFvY87TLMbdXMZG0QXG9tL7Q77nZX66Zi kJEV12gxaosHe8xo6TxqqOHCxvfIoLMZpYdtF_LSbAfLZZhw2L3veC35C6KwgF89Pvi88hDy2cM9 6 X-Sonic-MF: X-Sonic-ID: 2f556f5f-1f8b-4d44-b6ab-39b2b07d5ab8 Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.gq1.yahoo.com with HTTP; Tue, 5 Sep 2023 01:39:47 +0000 Received: by hermes--production-gq1-6b7c87dcf5-6x8bf (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 801c3bf5026c7120c3c60bafe3edf13c; Tue, 05 Sep 2023 01:39:42 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> Date: Mon, 4 Sep 2023 18:39:32 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4Rfp8k21nkz3L4Q On Sep 4, 2023, at 10:05, Alexander Motin wrote: > On 04.09.2023 11:45, Mark Millard wrote: >> On Sep 4, 2023, at 06:09, Alexander Motin wrote: >>> per_txg_dirty_frees_percent is directly related to the delete delays = we see here. You are forcing ZFS to commit transactions each 5% of = dirty ARC limit, which is 5% of 10% or memory size. I haven't looked on = that code recently, but I guess setting it too low can make ZFS commit = transactions too often, increasing write inflation for the underlying = storage. I would propose you to restore the default and try again. >> While this machine is different, the original problem was worse than >> the issue here: the load average was less than 1 for the most part >> the parallel bulk build when 30 was used. The fraction of time = waiting >> was much longer than with 5. If I understand right, both too high and >> too low for a type of context can lead to increased elapsed time and >> getting it set to a near optimal is a non-obvious exploration. >=20 > IIRC this limit was modified several times since originally = implemented. May be it could benefit from another look, if default 30% = is not good. It would be good if generic ZFS issues like this were = reported to OpenZFS upstream to be visible to a wider public. = Unfortunately I have several other project I must work on, so if it is = not a regression I can't promise I'll take it right now, so anybody else = is welcome. As I understand, there are contexts were 5 is inappropriate and 30 works fairly well: no good single answer as to what value range will avoid problems. >> An overall point for the goal of my activity is: what makes a >> good test context for checking if ZFS is again safe to use? >> May be other tradeoffs make, say, 4 hardware threads more >> reasonable than 32. >=20 > Thank you for your testing. The best test is one that nobody else = run. It also correlates with the topic of "safe to use", which also = depends on what it is used for. :) Looks like use of a M.2 Samsung SSD 960 PRO 1TB with a non-debug FreeBSD build is suitable for the bulk -a -J128 test (no ALLOW_MAKE_JOBS variants enabled, USE_TMPFS=3Dno in use) on the 32 hardware thread system. (The swap partition in use is from the normal environment's PCIe Optane media.) The %idle and the load averages and %user stayed reasonable in a preliminary test. One thing it does introduce is trim management (both available and potentially useful). (Optane media does not support or need it.) No per_txg_dirty_frees_percent adjustment involved (still 5). I've learned to not use ^T for fear of /bin/sh aborting and messing up poudriere's context. So I now monitor with: # poudriere status -b in a separate ssh session. I'll note that I doubt I'd try for a complete bulk -a . I'd probably stop it if I notice that the number of active builders drops off for a notable time (normal waiting for prerequisites appearing to be why). =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Sep 5 02:28:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfqF31mwWz4sSb1; Tue, 5 Sep 2023 02:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfqF31HkTz3Y0f; Tue, 5 Sep 2023 02:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693880919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXZOEmelohrhBkJ8H0FmWw3quP9rq5vk0phwRigx+1c=; b=slnc7BNepxtgNLQvQ1r9g9WUZtQ5ExiLbByDjOm1H0VpFy+mY7RNANakUpKUAVTEzGo3NS UQnGGNFSv4KTEKZcX2nm+RafIdvfI9UajAH2y0O4mbeJIWERHV09MWWW4WDm5ltoGsQX58 1PPVYGK6QftDd7mWI45FEfQ8YUwQvjAp+EAr08U0D2IvPGdog635HPBLwnzykj0ofo5rtG tSOXJNgF2atfULsfhYx5fBe50pJCKzHQNBzy8AqE1LZ88+DGsuS5FYzFBaFuVoDUodfSvq aIEWsvxwt013sJww62ygG4qr0Ytw/jKatr+3fWPQUCDzzIeeKREdS5Bajzra9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693880919; a=rsa-sha256; cv=none; b=v6y7clwkD76GK6CL3H4LoRC1nfLcTftrzIED6dt3l59KhV8BqGpmteDstoy9m1putGyePD rI+MAr9yw8Zs9EwP6a75XZMByv0cCe5t0NrlE2AlTRhlrac7K8huZybLPFr1/xIHovh9F0 090X8ubb/Id1Vh7RzzexMlEshrTM6XAzN5cihq/PFTma+KHpAjXVfRTVr324U4WMRqwchb q9GLin8nPf/X5AoGs5o7IVUKVl24VOSvp0h47IkRPsvBtBoPnKG4hLDuHZpD8FB7G0vcdT +zXh06xuZYU1tg9SaMmjuGvUYYpmMwNTfjeos1bvOEztyOWDx5vJOVj4GhAULQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693880919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXZOEmelohrhBkJ8H0FmWw3quP9rq5vk0phwRigx+1c=; b=ymtRwUcMte1weNdh+AxOReMSJRwJtBMwDhD0Q8bRXxMNapJjazxrn6Q/AzUvow35eYt4PX EbtHo0mY5kcQpyVZ7n8sCqo0miU/2Li55SpVZtFpClgMnuvIoGtAhwo8TcllUdpTd892NE ++mJf4WRJ6c9+6ieFFjHwFEwqKGIjjpV4lKp9bCyA89Pbj7QMdYZX9Sb7oGdLgq0zW2+hE 1kojHCIor4M4fpdx3kpM+4cXZym5StBsTzFoes1aLwg5YuOs2KcvGWt8f5mWh6RChW0v8m lOjjglh9Y0PmPPD3/12ctZF0yMZlIzqKUm2kGOHuDtHsoUpvKm8MJ5DrNOby4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfqF30LgJz1Lt; Tue, 5 Sep 2023 02:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3852ScBw082333; Tue, 5 Sep 2023 02:28:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3852ScQk082330; Tue, 5 Sep 2023 02:28:38 GMT (envelope-from git) Date: Tue, 5 Sep 2023 02:28:38 GMT Message-Id: <202309050228.3852ScQk082330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 5bc1e0c2285e - main - stand: lua: module names should permit more List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5bc1e0c2285e73fe8455bb6c72b2b40e33f5477e Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5bc1e0c2285e73fe8455bb6c72b2b40e33f5477e commit 5bc1e0c2285e73fe8455bb6c72b2b40e33f5477e Author: Kyle Evans AuthorDate: 2023-09-05 02:21:34 +0000 Commit: Kyle Evans CommitDate: 2023-09-05 02:28:11 +0000 stand: lua: module names should permit more The module entries should generally allow whatever is allowed as an env_var in the pattern table. Notably, we're missing periods which would allow proper entries for .dtb files in loader.conf that don't need to specify a module_name entry for it. %d in this expression is actually redundant as %w is actually "all alphanumerics," but I've included it for now to match the env_var entry. We should really remove it from both. Reported by: "aribi" on the forums via allanjude@ MFC after: 1 week --- stand/lua/config.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stand/lua/config.lua b/stand/lua/config.lua index 3f8fbc52cb40..8fdc805ee983 100644 --- a/stand/lua/config.lua +++ b/stand/lua/config.lua @@ -61,7 +61,10 @@ local MSG_FAILSYN_EOLESC = "Stray escape at end of line" local MSG_FAILSYN_EOLVAR = "Unescaped $ at end of line" local MSG_FAILSYN_BADVAR = "Malformed variable expression at position '%d'" -local MODULEEXPR = '([-%w_]+)' +-- MODULEEXPR should more or less allow the exact same set of characters as the +-- env_var entries in the pattern table. This is perhaps a good target for a +-- little refactoring. +local MODULEEXPR = '([%w%d-_.]+)' local QVALEXPR = '"(.*)"' local QVALREPL = QVALEXPR:gsub('%%', '%%%%') local WORDEXPR = "([-%w%d][-%w%d_.]*)" From nobody Tue Sep 5 03:15:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfrGn3K4Hz4sqKd; Tue, 5 Sep 2023 03:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfrGn2m0pz4Gtl; Tue, 5 Sep 2023 03:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693883713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k5upkTfYjSqfNSwfaZFe+0Gdz3jpu8fDrz1aXhBafS4=; b=D3psgIRlrzWZJSQPWQLzD8+o5GJOHxIj/z6/VYejWJQLGIGHcKy5G/APgkKtxOUqxguS+w l8kOpUyE5lk8PDuDaO0sTXJdSAZxAZdJdoaRKO0dPsEF7f1VzIVRXLSL3gJK7kDJUEl2GS Kae2TBfefIfM2UvyiftoBO3Mcu0/dDdbbpTt34AGnPx3L75ieENxU+tzccIZ3svNE+N05x BUFWPPKvhEhL1CDKrpvsHK3n5JHZ5KQ0MiO1cVZvVzSBcc28yeKiSowK74oYC0zOlitP5T XV4XZVaaENxsLLDmEu+oH9QIR6VC9kMcNhD6fydtsqtL3DW7mggxDLPU3eWdxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693883713; a=rsa-sha256; cv=none; b=NBCHSJxs4dCs3ry4kQSqILdmISqI4aiszK2nPqz1WVZ6msdDP0j7RZkMe3RcV8+uGz4ktv Jvjrz8k6D3y9aG83gH5RQyPUbS55inyLwjzfEoZcoJImlRCRM7Ry72z17T+TELwwAu6E+X evGkctrWA0f6Co18G1LQJ2CEudTwVPb8aH00yxn88PAidcgDevwJuriYNy+eRTjx0/cIdi hvsA5tugjcFfht00DYn+GfGmRt5NfkBZMdZk6QvSWyLWO/j4ptWCAKiqOz9DlTXJ9kiVBa tppkH0oT8jPVCa8YkgzfdD0WD5mTNxpydc+8fyJ9Xpd00O1ZMH87+hY/jckmIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693883713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k5upkTfYjSqfNSwfaZFe+0Gdz3jpu8fDrz1aXhBafS4=; b=PiApk1Dr/HfnGKRSx6oCZyn8GHNOOzfyzL+WrrRbbQLUftuD/Y8E8FWUfwd2mOBeohF4UO N8CIGYGPOL9PXEUJG2/BpgvSoXfgS6YZa9oA/jikBdEkNp8la8VSASkvXgDBeRcIqd9taB Nk5gQx8NxFP1vv+yRofeOJlCVMUmvjyQcSsvvUggAgyVMhQZ8SiTyJ2Pvy2UvtVDB5NgVH G5BlOQSxpdq7ufAgEh9uEIKWXOn6b+lDiV1RwNBcVO8k0SUreL9Edw90BJUKPZQVdHxiWJ ruEYX/NS5G7hMva5Uczs/92mHixlFp1uT392SIyaogX4PE6zo69mt3KMxMBrIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfrGn1mC9z2jp; Tue, 5 Sep 2023 03:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3853FDRk066993; Tue, 5 Sep 2023 03:15:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3853FD9e066990; Tue, 5 Sep 2023 03:15:13 GMT (envelope-from git) Date: Tue, 5 Sep 2023 03:15:13 GMT Message-Id: <202309050315.3853FD9e066990@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: ef3a764bc5be - main - MFV: zlib: examples: define functions as static ones. (PR #855) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef3a764bc5bed4bc071a81e04c4d3254010274c3 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=ef3a764bc5bed4bc071a81e04c4d3254010274c3 commit ef3a764bc5bed4bc071a81e04c4d3254010274c3 Merge: 5bc1e0c2285e 900147a461df Author: Xin LI AuthorDate: 2023-09-05 03:14:31 +0000 Commit: Xin LI CommitDate: 2023-09-05 03:14:31 +0000 MFV: zlib: examples: define functions as static ones. (PR #855) MFC after: 3 days sys/contrib/zlib/test/example.c | 24 ++++++++++++------------ sys/contrib/zlib/test/minigzip.c | 30 +++++++++++++++--------------- 2 files changed, 27 insertions(+), 27 deletions(-) From nobody Tue Sep 5 05:06:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rftlq1CpDz4sHrp for ; Tue, 5 Sep 2023 05:07:03 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rftln6Bvbz3DtK for ; Tue, 5 Sep 2023 05:07:01 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=lhqPwjKA; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693890419; bh=7nhxTNUkT8AMv1Gs52gY8VCOLEpf0ixNh0hQmH5e8NU=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=lhqPwjKAvqRQA19ApqGQGJk6MF/nCpFcYvhqSj8sxFBAGyDtktK/WnrRBDMpQy3nCCfskJb12TwdN1m1NhHg0Dh6yNWexAeihoNrYmiyhdfzVFQwQH2kPHPYXNMTErQAd2pzNknyipO3Qq5ARGdn9hg3oFxRb9ht2F+F/VTsgLWdhpskZwzLb8OS9FEBzXg08unjG6NBrEWktAkqL9kdyqJdmcgqzDxLe3PLseFt+DJIfkY/2+SyKQHRYtphID53zZjWr+zsdYTjb5gJePXT3mC0hgKQpRv43ZTjxdX4DGix++8QMnAvjWUnP/rXb1c+4rrPoeWeFnYjUU0bYeY1Aw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693890419; bh=wg3wSjmioxjNzHbDqOVKVyj9Dl9QqzwMvlfTVufpeTp=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=hyWVuNPuzg91Y/ymAU3Es4djsNWhRf2gBlvZdd/vyDMB9GK7ogva/fCFs47Z9620XyxOBjA6vzqDJbmK2KPq5lFDJq7waRbQj6pwQyQ6oMwvbJ2Ge6U1K3k0Ji1NIUaLtBANBhrn/w7pPPt4P2dRTfejdh+jzxUlrN5S88yyEzQ9mFRZdH0pQzO3giCLdv/GtgHjhIUJML0qXdQbwpP68mmLPStx0qYfUm++HSyIUVwMfhS8shmv+5g+OPn8g2fenynRbiqeYtmj6rFsKEg1D3icvCw1hFirmD+u5wQNYxOdIa/uUvpihcufM77guE4ES76r6kf2tRyAzRMBtvAGWQ== X-YMail-OSG: D2CdCDcVM1nQOcXY5xjWdwCgM8r9WyU7avoauGp28wVYbswfKOYtk18ILsIstW1 cZp4Ow1EMFj113gWei_4OtuSTRz9Yc46v8BMhO6AICQp4zHxqSUCuaXLHWEyMZvgoT2Grn6B3vGQ iXgrJl8sokjwfv1zzAgVRGuBgq1tSPFvWP6Fd6SwvV3YziGuRBMfywUgC_nN2SEC3hcNXxg1pwKX VfFgJzFuc3zC_OnRDD.3DB6SdUIsAdBCRHtyY3cef2NyvxenswzF6.7byX4LHRU6LHFoNxJzT1_L jjq7PAdoxC8_f9Dtw2XqE8VDPn_5t7Adx5q15_BBLcgsZVL6PDvflAyDErqCDzS4g5cgZsHQRMHi t7GgGi71wqlRHecalsgcOpPutsjSx6re9MGUc50lQ5VaeJNLiYxEa8oq.hq7LwJVeen1ztsEhwYL VgLHcXvUFCvweHTWDTqY8pNGKoYxzZpBaT6VcVxW1AuAG6caN.dPb_Jtk8vSTtaAG9aApYn9Ag0t Y9kICJmQ1aoHsTxPUtyKBb7rRWIrC_DfF4Koor.98CJeAWTD9pKFiZrkOPlsDxDe9a_Ir1AShCjT jb92eh8FhRSfdPcnCd8qDX_9dt1yEHJptj5rvxv6LUFsFn_ve2LEkY2E4sP95bK2qGJo7e7jG1MG ZrJSMCCPxWTepPTDsh4dR0qX5_7iCpgC7k8l.NAdrovi.mQa90r1HFUa5gdtmx6YfQws30rvaVYk l2bdavcj7_fapIssV..VZWsVNZKei_Dcx038PbyGs.cvvS_V_zThVzEx_E1AISyWw_JrK0lgt37O 6FxUPptJBWy7SWjB7MKM5rydgwqvoGNBD8.hGwMGdofxEYTDjxRqQcyYR5ByuR2x3AFMB0wAYX5t HKiChEksgWlaU89t3oJ7jXq38zoJyrBO56pXqzSkuJ2bhUNX9nV5iKae9JWRA0s5n9kVDwN4Tc38 e_qxw0oqkGAmOZA7cBPlcfeUYf4EtRsTDvmvLPUIs5a4eSmyQ0E76HXv6RN7PjhK3tiOPnR_n0Qz cxor964WIb9FCsgTCFmm3mtVbUA78_95V4ypHm6E08XAoqo2k3GGi6BKSxrPHQSEvEhKUi4MbJE6 eu4qhlYszlv_thlZwSt2.wZBm9JBTaXY9K9SNS5aUinVomaDY4EDpDaxLdyfAChOzP8NXP43RQKu 09VqcZ8HNYumeUqgZhG8TV4l9tDOZ_R0ldhbxfPrGpF0IHR8N7K22gQrTak3zSnzV_VjTTanexJg r7W4eFhO8uV8jgCaNwqQau57_XMp1RnAYMkmD6DMVmnSBroh.NzjPVuQxIrD88g8rjIrD8SeOcno JqLkCYguY7kTSpGWVo.QQJO0Cu4IrYDQVwxGRGjw7CWSfzXICeDWGunHWXHqnje_Oa8rnq957kz5 A1vNLnMZxLjNkzNrSV6qs9Z.IjkPCWY.0RcD9uqT8MZMJyqdarvJ6akqhgj4unibDYGy0nVHbZs7 ttwuNPbFRFj4_FxIJyCXcQNd5RBZAOH0u8aIy_4e_um4r1v7c5y00V_GdvkmSODx8r3w1joBACcJ gsufW3q0WbPxPQv64NRgqJ9J3gSGuJbHdgRc_fq2X93sgGgbSn9kILMrBm_MuhD1gYmI.nR1DhuG mZMpCzq0AsrFrqGhQieVOwnbiFR7Notc2lMQTRUTBmYAVv2_OFA48DZpaIcuHBi6x3ScqhBNPdg_ eGublet99JzhOuQxX5yUoU2YvNDQBqfDBI0kgEMK5ocfnDPaCKQQz6jjHwu5MDAHIGtnW_VF96hm el8wNaqHgxtW8CoyQIVH6FQ8d.8vG3vZpTI7RHSFhCh3f809LgZ_aPK6tp4k7wWEe1RyWDWGnw2E _QxndF4xLACL0zvGOW2OYSClEgIWfBsBvtzktF3ZmEpCDddH1.0fVaK.SNxQ7qcCpjjvnsMwRa2J AEulDeks0gOaVa282hd0sxI239JdXcGyoL1V.ycEg9ZxyvLLWvwqABf2R4L0Yblq179bTlq7AElq x_vmN40y3hQSSc6w6XvsabZqqAPf6oS7xbH8rBdSeXTS6PQ9t8Fj28G4XgRKe.n_cOdSgmRTmbh0 Eer.OObh3sNGz.xf8K1mYyBXJm8qCzpdaLqLFntQLNaQ3RcR.a5Hi8fE7LV06zgH7FL6KgBUlLs9 YkXvqgDZIy2pacoUh4YT.D2Ou8qUpF23RytKRrKffQk2V_kxDGeFXo_d2613k.n0edZzK61itQBx kziEppEea8im08SEWntBSe0B0__YAVp598np2WYcXspmF61G6avSrB0YiUpngBzbSKfBpbVs17Ha H7.A- X-Sonic-MF: X-Sonic-ID: 225cd4e5-904d-4d53-9d73-38483c380d42 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Tue, 5 Sep 2023 05:06:59 +0000 Received: by hermes--production-bf1-865889d799-7vf9r (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ccb0e102c847d0bfa14ec0471e6c74a4; Tue, 05 Sep 2023 05:06:54 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> Date: Mon, 4 Sep 2023 22:06:45 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <4E888EC8-4B06-4139-90DF-59AFBA700A5F@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.44 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.94)[-0.941]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.82:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.82:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Rftln6Bvbz3DtK On Sep 4, 2023, at 18:39, Mark Millard wrote: > On Sep 4, 2023, at 10:05, Alexander Motin wrote: >=20 >> On 04.09.2023 11:45, Mark Millard wrote: >>> On Sep 4, 2023, at 06:09, Alexander Motin wrote: >>>> per_txg_dirty_frees_percent is directly related to the delete = delays we see here. You are forcing ZFS to commit transactions each 5% = of dirty ARC limit, which is 5% of 10% or memory size. I haven't looked = on that code recently, but I guess setting it too low can make ZFS = commit transactions too often, increasing write inflation for the = underlying storage. I would propose you to restore the default and try = again. >>> While this machine is different, the original problem was worse than >>> the issue here: the load average was less than 1 for the most part >>> the parallel bulk build when 30 was used. The fraction of time = waiting >>> was much longer than with 5. If I understand right, both too high = and >>> too low for a type of context can lead to increased elapsed time and >>> getting it set to a near optimal is a non-obvious exploration. >>=20 >> IIRC this limit was modified several times since originally = implemented. May be it could benefit from another look, if default 30% = is not good. It would be good if generic ZFS issues like this were = reported to OpenZFS upstream to be visible to a wider public. = Unfortunately I have several other project I must work on, so if it is = not a regression I can't promise I'll take it right now, so anybody else = is welcome. >=20 > As I understand, there are contexts were 5 is inappropriate > and 30 works fairly well: no good single answer as to what > value range will avoid problems. >=20 >>> An overall point for the goal of my activity is: what makes a >>> good test context for checking if ZFS is again safe to use? >>> May be other tradeoffs make, say, 4 hardware threads more >>> reasonable than 32. >>=20 >> Thank you for your testing. The best test is one that nobody else = run. It also correlates with the topic of "safe to use", which also = depends on what it is used for. :) >=20 > Looks like use of a M.2 Samsung SSD 960 PRO 1TB with a > non-debug FreeBSD build is suitable for the bulk -a -J128 > test (no ALLOW_MAKE_JOBS variants enabled, USE_TMPFS=3Dno in > use) on the 32 hardware thread system. (The swap partition > in use is from the normal environment's PCIe Optane media.) > The %idle and the load averages and %user stayed reasonable > in a preliminary test. One thing it does introduce is trim > management (both available and potentially useful). (Optane > media does not support or need it.) No > per_txg_dirty_frees_percent adjustment involved (still 5). >=20 > I've learned to not use ^T for fear of /bin/sh aborting > and messing up poudriere's context. So I now monitor with: >=20 > # poudriere status -b >=20 > in a separate ssh session. >=20 > I'll note that I doubt I'd try for a complete bulk -a . > I'd probably stop it if I notice that the number of > active builders drops off for a notable time (normal > waiting for prerequisites appearing to be why). >=20 >=20 So much for that idea. It has reached a state of staying under 3500 w/s and up to 4.5ms/w (normally above 2ms/w). %busy wondering in the range 85% to 101%. Lots of top showing tx->tx. There is some read and other activity as well. Of course the kBps figures are larger than the earlier USB3 context (larger kB figures). It reached about 1350 port->package builds over the first hour after the 2nd "Buildee started". autotrim is off. Doing a "zpool trim -w zamd64" leads to . . . larger w/s figures during the process. So more exploring to do at some point. Possibly: autotrim per_txg_dirty_frees_percent For now, I'm just running "zpool trim -w zamd64" once and a while so the process continues better. Still no evidence of deadlocks. No evidence of builds failing for corruptions. . . . At around the end of 2nd hour: 2920 or so built.=20 Still no evidence of deadlocks. No evidence of builds failing for corruptions. . . . I've turned on autotrim without stopping the bulk build. . . . At around the end of 3rd hour: 4080 or so built.=20 Still no evidence of deadlocks. No evidence of builds failing for corruptions. Looks like the % idle has been high for a significant time. I think I'll stop this specific test and clean things out. Looks like lang/guile* are examples of not respecting the lack of ALLOW_MAKE_JOBS use. Hmm. The ^C ended up with: ^C[03:41:07] Error: Signal SIGINT caught, cleaning up and exiting [main-amd64-bulk_a-default] [2023-09-04_17h49m28s] [sigint:] Queued: = 34588 Built: 4331 Failed: 12 Skipped: 303 Ignored: 335 Fetched: = 0 Tobuild: 29607 Time: 03:41:05 [03:41:07] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-04_1= 7h49m28s [03:41:19] [95] [00:06:59] Finished databases/php80-pdo_sqlite | = php80-pdo_sqlite-8.0.30: Failed: build-depends [03:41:20] [60] [00:10:53] Finished www/php82-session | = php82-session-8.2.9: Success [03:41:20] [19] [00:06:42] Finished databases/pecl-memcache@php80 | = php80-pecl-memcache-8.2: Failed: build-depends [03:41:23] [62] [00:06:40] Finished = net-mgmt/icingaweb2-module-incubator@php81 | = icingaweb2-module-incubator-php81-0.20.0: Success [03:41:24] Cleaning up exit: cannot open ./var/run/116_nohang.pid: No such file or directory exit: cannot open ./var/run/93_nohang.pid: No such file or directory and JID 253's processes are stuck in the STOP state, along with the related JID 0 processes. These are for x11-toolkits/libXaw . I do not know how long it might have been stuck. /usr/local/libexec/poudriere/sh -e /usr/local/share/poudriere/bulk.sh = -J128 -jmain-amd64-bulk_a -a is stuck in killpg state: 3896 101784 sh - mi_switch+0xbb = _sx_xlock_hard+0x3e1 killpg1+0x193 kern_kill+0x23c amd64_syscall+0x109 = fast_syscall_common+0xf8=20 Most recent process birth time listed-first order for the STOP's: 86826 634820 sh - mi_switch+0xbb = thread_suspend_switch+0xc3 cursig+0x7b9 ast_sig+0x1df ast_handler+0x88 = ast+0x20 doreti_ast+0x1c=20 86825 321240 sh - mi_switch+0xbb = thread_suspend_check+0x260 sig_intr+0x4c fork1+0x186 sys_fork+0x54 = amd64_syscall+0x109 fast_syscall_common+0xf8=20 86550 308525 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = pipe_read+0x420 dofileread+0x86 sys_read+0xbe amd64_syscall+0x109 = fast_syscall_common+0xf8=20 3998 637224 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 3976 298566 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 3974 309336 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 3962 577230 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 3958 635598 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ 0xf8=20 3915 668148 make - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ 0xf8=20 3912 638108 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ 0xf 46142 212631 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_timedwait_sig+0x12 = _cv_timedwait_sig_sbt+0x10c seltdwait+0x75 kern_select+0x95e = sys_select+0x57 amd64_syscall+0x109 fast_syscall_common+0xf8=20 =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Sep 5 07:00:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfxHW5jlbz4sJGv for ; Tue, 5 Sep 2023 07:01:11 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-8.consmr.mail.gq1.yahoo.com (sonic316-8.consmr.mail.gq1.yahoo.com [98.137.69.32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfxHV3dkJz4FfP for ; Tue, 5 Sep 2023 07:01:10 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=Y8mOx4K8; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.32 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693897267; bh=pw1iElHKkMOpMg4Y7INooIt1Qti82KOxdt/SI3j0lzE=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=Y8mOx4K8KVHs8hmQ/32UJKqh09IZjxkpWDGzrsMWSm7BbCeB2WSJA2U2MzBtppsiDsunzfxldVFv4nl4zq4exTrIFJo6VkPpAMiUEta7owGe8GorA4dZg4WQrXB86mbgdLQ7MV09UcJEnE8lzETixKnq3iKM2JhJxbZ03/l8WoDKtdvCcPLYcBVJ+HdPGJyzRqfE8O2FnEYg+mg3S5NtfDNB8GwYTBJ7EkfSHzFqWAYSoEOnguGcEybQ7rA9ZGLh1E+QgkvPvAvDMoZ6B6LI7TiMg+ADAchauUUKvdxcufvlCgKhntrwwIFE3jFfwZnaGoqHqz+OHpfzQOWPQws0nQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693897267; bh=6vv2fQjzKtagdngREFoccdWXzzwtB+0tKhY/ddosAss=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=GJthfjfVnTT5Epa7ReQLTNd7mPtOSnXrzHv3EdRKbkuMCN05JHmS0wHi6GQQO2lbomr4ooHLearIn/NWteiSTxZDWNywkirXOlEsukKfkXEDZDJATlJZ9KPU1HUYegF2hJU8IhhUdpB7z4ThkJrEBq8ds2FiTISPaIgoIOHkKT0Q7mr5l8oy1GaghzrKyGs8on+Zmcgcc7cTEzgDGCxhzHJs6SriKs1AB+8qx+9IjW5KDt57vTlCeelKIFTSbT6DU1R1/0lencI8UKBdnXC70MQHn/LI/MLG4C7OP2hLLFRmeEZk4sLow9SKHIpmlhBEGXt0zFp+dvpapM9nDxDGAQ== X-YMail-OSG: UWGX7a8VM1ngMWLt00TDfCjEm0zBXUhT9xP2gBaaiXRGox_bO1JygZ3e.V8M843 JEWijb4MGnwgu6B4qupXLjoWrDwAxH8H8ut8xfhT8KxOWaguXIMdDTt02pnQwGkKStXN7yX.Ldri 5IhxLeZp_dAHUhXul4EhKImntgVh9YdJ8Ou14zGobFDVDq.qhKNrZ1asKWyHKZcoXMrZnNH5s0kY 8hsYzblKa9leF4NgIJh3S5ldIHT6SbbccWBkON2ZPMnUgahMURhrNGkQsKjaOfcqWnsAAFnUXy7w CdpKu1kjm05P26bHT4mYp0c1ANmqmuRxAG5T_FmBCFySJ4Hjjw_2uP6jKMMfaNrBE49ZzxsrQcv2 ds9EEJRNBFO1_FQY8OAu1LsYgcTAbh13r83bocU5TJ14Kw12HG_0sZMRagBTDJ_LpJZ.q7.hFdQt tlxdWAMwMyAsFA48CLl.8qTQy5fwi17NnisPHQRBqYI966uOyZRDxXj9qST0YRww8_qvefPvsA0c 1u1nwkdtM0rvRbz.TWp9ZxdZi84hDir4pHYa2PzMKFp8hu1A1GugD5EktAGz3zAyXR0XPs_eXyu7 HgaRgWB9l7qFO1W3MFlEUEHKeAM6.VybNQuYN41wQ_B8v1aWWdSjNeFk2kQt3gKTAX23.9tG6C6t WCSW6ivGmyb3UGIZRszaZhAt0kmgGwA.lTrrNzyjPTwE4NQ1E.H79fPMj.Fd4dMUsOPmT6C7gWRP VIwZvPOclfmeLYV7eHaIiN1bkJLfrMRjB47jsxlI7FzR7LlXV_ZCwthjflKX0k9Z8IZI0RJ3vpAA IzQ7jKM70_Kk3.9bzxYRcyrXYxiXAHh09v4LNzuviV_3iQgVL5_izk0juYNHfOZNyI83mDRa5P8C XBoqGIyC70SIkNOUKZ_dGn.nPmM2PyGE2EjyAPAYdA_0LRXUKRJtg25OEe6ckO3XTAGNO28rmsl6 d5LNctd3K5H7HfqePKrEFSj2WzCxqIGlriQThq1mMIuXpoC30bwhMVrYrISLyvoYqrkwfz7zKX.d Mum84UXidMIObPLQqlLkQW6H3Sx5Nw18lsa3w6UhajCpf4XPn1nvyX2_.AKRQlrqIS2xdDvVPnjf pHjA2WMU1Q_ZReFW952WxZMNqdVakiSRggVUr6_QupIES0SlSphpJyN4PPIWFS5XSnqMc4bHpRD6 LoqYLI.5lXhCgElW3Ogv5VSkN6IprQ7LgWsEyuMHTgP9hT1n_uJJ.Ya9_wXPuJSiVQ2OPtTBNIT6 bJB7XcruyP0bM370kPqCo3h1Uo0IYV3xROdF1Z3WhtIvXKK4wJAazsjihYuXhnueohS0peYXqMta seeloelhV7hhK5agdq1VATT.vQvEQc.jKxb7fng72L2g1d53q5uZ.qkQev7PB_3ExZd.Y8O5M8Ao ZDohOW51B7CFtzPpMhJMQ.nuxu3Q9zSEBRthDwTTEUV0Q6PCTu39_wF4GduIU_G0.5ar_pEhRyE0 nrvQoIBs66XLpPGpNZKBdBz43uCalUnTiUKTvAoC61VpGY2NhSrauUQM6uJBs06a.6i56X5TAlKX i0B2AdqvkMhqhckP9rgqt3IQOG1EAFgVWn3TPCToQDAlrn1Uvld59lswK.Mfhsq50Fe8XC9._h12 3PX98IIteRy7srbSc9x9Phj.UzjqvuIorOMYXhE4Rb1DG83DQaZexQFoSRh8v0hz3sG_8Iax4MaF jRiAjSwKGZmXJHJqIE01j6YRfwYaBD.fuu10StqEBPBP91qncnDRhGk8KRBQwRzsImKfxl_v59m_ Vhe09snM4j8wQNMNthXzfsYLk5v6ThM0M9rJXcEocAMfj_IK09kbdlU7cXiSgfkNZfH_oneCO6Aq HLZdbnhho_itCUw7ehctGUJ96.5oF7fSvdX7qRCZOCPAEuEOWkp05jqyPWJqV1Fz8OMTQSKcyp31 GCxn.idLGRnMXembeAo0Fo9rxvZfn.PKW6T25Shb.zQJi5mx976nyHbNNdw7Kj7_Elky0iUNSzhI 2N8EVW0opBjDlx1m2d.y8NVh4tWTK5.pVEbUaLMd0m8Bfhf_Uz1e4oaHXcwYMgcl9bjg50RUA5Ok gqrw4ND4qom5Y85ZonwP5J_zoGGzxZV35AMRnY1cpWTrlmzBwQRVFPUhX6yQSMz4EoADxA5snLMf cqHnk9P8EggmzzumH.PblYEOPKt9ZNZ_DN.p0FeKi09tdOjIqJ_qvm4NHcPPbwxdrx2lrmOvMY7u 4C283snzedLsIxYlgwyC7q63gjwnBtv95Imnk_xxhYNtM7iWNyRx._PVH.cGhOGedYTtuptBpL6j LADU- X-Sonic-MF: X-Sonic-ID: 7f64faff-6bd7-42ab-8b5b-148102c2a526 Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Tue, 5 Sep 2023 07:01:07 +0000 Received: by hermes--production-ne1-7b767b77cc-4t526 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 39c396e6b3ede7e9879b45bd04df2c2f; Tue, 05 Sep 2023 07:01:03 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" that did not go as planned From: Mark Millard In-Reply-To: <4E888EC8-4B06-4139-90DF-59AFBA700A5F@yahoo.com> Date: Tue, 5 Sep 2023 00:00:51 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <6990186B-E85B-4D64-8202-4B9ECBD876FD@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> <4E888EC8-4B06-4139-90DF-59AFBA700A5F@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.49 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.985]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BLOCKLISTDE_FAIL(0.00)[98.137.69.32:server fail]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.32:from]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.32:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RfxHV3dkJz4FfP On Sep 4, 2023, at 22:06, Mark Millard wrote: > On Sep 4, 2023, at 18:39, Mark Millard wrote: >=20 >> On Sep 4, 2023, at 10:05, Alexander Motin wrote: >>=20 >>> On 04.09.2023 11:45, Mark Millard wrote: >>>> On Sep 4, 2023, at 06:09, Alexander Motin wrote: >>>>> per_txg_dirty_frees_percent is directly related to the delete = delays we see here. You are forcing ZFS to commit transactions each 5% = of dirty ARC limit, which is 5% of 10% or memory size. I haven't looked = on that code recently, but I guess setting it too low can make ZFS = commit transactions too often, increasing write inflation for the = underlying storage. I would propose you to restore the default and try = again. >>>> While this machine is different, the original problem was worse = than >>>> the issue here: the load average was less than 1 for the most part >>>> the parallel bulk build when 30 was used. The fraction of time = waiting >>>> was much longer than with 5. If I understand right, both too high = and >>>> too low for a type of context can lead to increased elapsed time = and >>>> getting it set to a near optimal is a non-obvious exploration. >>>=20 >>> IIRC this limit was modified several times since originally = implemented. May be it could benefit from another look, if default 30% = is not good. It would be good if generic ZFS issues like this were = reported to OpenZFS upstream to be visible to a wider public. = Unfortunately I have several other project I must work on, so if it is = not a regression I can't promise I'll take it right now, so anybody else = is welcome. >>=20 >> As I understand, there are contexts were 5 is inappropriate >> and 30 works fairly well: no good single answer as to what >> value range will avoid problems. >>=20 >>>> An overall point for the goal of my activity is: what makes a >>>> good test context for checking if ZFS is again safe to use? >>>> May be other tradeoffs make, say, 4 hardware threads more >>>> reasonable than 32. >>>=20 >>> Thank you for your testing. The best test is one that nobody else = run. It also correlates with the topic of "safe to use", which also = depends on what it is used for. :) >>=20 >> Looks like use of a M.2 Samsung SSD 960 PRO 1TB with a >> non-debug FreeBSD build is suitable for the bulk -a -J128 >> test (no ALLOW_MAKE_JOBS variants enabled, USE_TMPFS=3Dno in >> use) on the 32 hardware thread system. (The swap partition >> in use is from the normal environment's PCIe Optane media.) >> The %idle and the load averages and %user stayed reasonable >> in a preliminary test. One thing it does introduce is trim >> management (both available and potentially useful). (Optane >> media does not support or need it.) No >> per_txg_dirty_frees_percent adjustment involved (still 5). >>=20 >> I've learned to not use ^T for fear of /bin/sh aborting >> and messing up poudriere's context. So I now monitor with: >>=20 >> # poudriere status -b >>=20 >> in a separate ssh session. >>=20 >> I'll note that I doubt I'd try for a complete bulk -a . >> I'd probably stop it if I notice that the number of >> active builders drops off for a notable time (normal >> waiting for prerequisites appearing to be why). >>=20 >>=20 >=20 > So much for that idea. It has reached a state of staying > under 3500 w/s and up to 4.5ms/w (normally above 2ms/w). > %busy wondering in the range 85% to 101%. Lots of top > showing tx->tx. There is some read and other activity as > well. Of course the kBps figures are larger than the > earlier USB3 context (larger kB figures). >=20 > It reached about 1350 port->package builds over the first > hour after the 2nd "Buildee started". >=20 > autotrim is off. Doing a "zpool trim -w zamd64" leads to > . . . larger w/s figures during the process. So > more exploring to do at some point. Possibly: >=20 > autotrim > per_txg_dirty_frees_percent >=20 > For now, I'm just running "zpool trim -w zamd64" once > and a while so the process continues better. >=20 > Still no evidence of deadlocks. No evidence of builds > failing for corruptions. >=20 > . . . At around the end of 2nd hour: 2920 or so built.=20 >=20 > Still no evidence of deadlocks. No evidence of builds > failing for corruptions. >=20 > . . . I've turned on autotrim without stopping the bulk > build. >=20 > . . . At around the end of 3rd hour: 4080 or so built.=20 >=20 > Still no evidence of deadlocks. No evidence of builds > failing for corruptions. >=20 > Looks like the % idle has been high for a significant > time. I think I'll stop this specific test and clean > things out. >=20 > Looks like lang/guile* are examples of not respecting > the lack of ALLOW_MAKE_JOBS use. >=20 > Hmm. The ^C ended up with: >=20 > ^C[03:41:07] Error: Signal SIGINT caught, cleaning up and exiting > [main-amd64-bulk_a-default] [2023-09-04_17h49m28s] [sigint:] Queued: = 34588 Built: 4331 Failed: 12 Skipped: 303 Ignored: 335 Fetched: = 0 Tobuild: 29607 Time: 03:41:05 > [03:41:07] Logs: = /usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2023-09-04_1= 7h49m28s > [03:41:19] [95] [00:06:59] Finished databases/php80-pdo_sqlite | = php80-pdo_sqlite-8.0.30: Failed: build-depends > [03:41:20] [60] [00:10:53] Finished www/php82-session | = php82-session-8.2.9: Success > [03:41:20] [19] [00:06:42] Finished databases/pecl-memcache@php80 | = php80-pecl-memcache-8.2: Failed: build-depends > [03:41:23] [62] [00:06:40] Finished = net-mgmt/icingaweb2-module-incubator@php81 | = icingaweb2-module-incubator-php81-0.20.0: Success > [03:41:24] Cleaning up > exit: cannot open ./var/run/116_nohang.pid: No such file or directory > exit: cannot open ./var/run/93_nohang.pid: No such file or directory >=20 > and JID 253's processes are stuck in the STOP state, along with the > related JID 0 processes. These are for x11-toolkits/libXaw . I do > not know how long it might have been stuck. >=20 > /usr/local/libexec/poudriere/sh -e /usr/local/share/poudriere/bulk.sh = -J128 -jmain-amd64-bulk_a -a >=20 > is stuck in killpg state: >=20 > 3896 101784 sh - mi_switch+0xbb = _sx_xlock_hard+0x3e1 killpg1+0x193 kern_kill+0x23c amd64_syscall+0x109 = fast_syscall_common+0xf8=20 >=20 > Most recent process birth time listed-first order for the STOP's: >=20 > 86826 634820 sh - mi_switch+0xbb = thread_suspend_switch+0xc3 cursig+0x7b9 ast_sig+0x1df ast_handler+0x88 = ast+0x20 doreti_ast+0x1c=20 > 86825 321240 sh - mi_switch+0xbb = thread_suspend_check+0x260 sig_intr+0x4c fork1+0x186 sys_fork+0x54 = amd64_syscall+0x109 fast_syscall_common+0xf8=20 > 86550 308525 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = pipe_read+0x420 dofileread+0x86 sys_read+0xbe amd64_syscall+0x109 = fast_syscall_common+0xf8=20 > 3998 637224 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 > 3976 298566 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 > 3974 309336 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 > 3962 577230 gmake - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 = fast_syscall_common+0xf8=20 > 3958 635598 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ > 0xf8=20 > 3915 668148 make - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ > 0xf8=20 > 3912 638108 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_wait_sig+0x9 _sleep+0x1e3 = kern_wait6+0x51c sys_wait4+0x7d amd64_syscall+0x109 fast_syscall_common+ > 0xf > 46142 212631 sh - mi_switch+0xbb = sleepq_catch_signals+0x2ab sleepq_timedwait_sig+0x12 = _cv_timedwait_sig_sbt+0x10c seltdwait+0x75 kern_select+0x95e = sys_select+0x57 amd64_syscall+0x109 fast_syscall_common+0xf8=20 So I tried 30 for per_txg_dirty_frees_percent for 2 contexts: autotrim on vs. autotrim off where there was 100 GiByte+ to delete after a poudriere bulk run. autotrim on: takes a fair time to delete even 1 GiByte of the 100+ = GiByte vs. autotrim off: takes less time to delete more. The difference is very visible via "gstat -spod" use. autotrim on likely makes things less concurrent, somewhat like USB3 storage having only one command to the device at a time for FreeBSD. autotrim on seems to prevent the larger unit of work from being an effective way to decrease the time required, instead possibly increasing the time requirement. That may be an example of the context dependendency for what value of per_txg_dirty_frees_percent to use to avoid wasting much time. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Sep 5 08:45:06 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rfzbm08pMz4sDHV for ; Tue, 5 Sep 2023 08:45:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-21.consmr.mail.gq1.yahoo.com (sonic313-21.consmr.mail.gq1.yahoo.com [98.137.65.84]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rfzbl1gtvz3HV5 for ; Tue, 5 Sep 2023 08:45:23 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=ul67ek3K; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693903520; bh=EgqBk9IoFF/DKJsohcrIQO9rMyfVoVf/NtClzC7kf5o=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=ul67ek3KRtOALjitMbqMIIDogqPtbyyNdnH/V93M6uxldDnCIzA3BeW1gx/X57Lj8A5Hu71edVQ2cKBEmJpo4O1segVeEr8DinYpx2UlUga6+Pi8NHdmWT9jywH4Ad+FHmrMUtuMyx2glLbjAAp7niFh21C4fMbmbBFpUmk1RYuy4qkw95AZrFmIFtlREHnophTgKI53rFAMmpr0HmxhFhxr6GLGeZF1oTQEP6thBhm8vLeMG2LXnjQrjWSv0ruQLOFoBV1bGks4pUASg7zDw0I0csza0a0ivDa2FgwZWWM3SFsObBxstsId+7V6FYRs92xVv2n1U1kgBHCJ92L7jw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693903520; bh=UEDlHAhZQrEikL7243hgIyixEEcYn3b+0kRqORXBD77=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=rniJHizu4wOwO7hg6edbwAVtB6LCMNK+pt/YT7imA/LQbTMbVk2vyH6m/cr7RUwpOuzt2NVcGibEjkRAgHanoD0UK5yDvUL7XYCmnM6GToZlgq8ObIl6hNV7sogCnJZOvPLOv0PLh+hVyf6pNzIaegkc2PtjWzYVfMvmMJPFGUyJ1IiCaMU3cGzN7J6rJzGCAtqar/7UQERlYFJJqfPomsUzTYncBXMpRh0RjRN79GXVLA6fjbgK1mD7BhPar9Pb35+xKTm7Nq/ol/3wDO1oK/AEFf/xNTsrrXwNfdVbmTS1qkG1R63BIaVH7UzoCp+wXgk0MAKQLVbRF48k2O3KBg== X-YMail-OSG: 4JAPaB0VM1lyLq92D9HUQd5vAHdtmoabBVpBmY5EbUTShs82xiH.3Et2N0c3SJI 5Kipx.Uas0.en0VUn4E3_hoT52x9.JRhAMfZLE2zbFV5jlYZ_RkMOz2FVv8wcvMnT7NjVYjHTqb3 4EVXLzDawDohq03k9kzR9Lt3CMh6TGZpACOWOzYMZBwBgo.QcGr5ZMdZCg25AY.evoEAePsuM2N5 .2XLK4ZpJZGHW2.mM6r7awuLifRwAVbunY8vqghR5RKCi8dK6e9TCIkKjBpUUh0ijYvHRvdjj2kE Nep37jqnbmWB_POBJyH9.Nhqmu4GpqpGqlRDn293KF15gAv7tS.fgKxzwSSKFZ.lMV7m9VL_gkrf Cry34VBseLHLl94eXSmQ5BuE9YogGFP83pzj9Peu9H0B.FdNH7lO9Q87Xwhp5HqBQA4PEbm6kXKR eNOrVLwyLpaaXeVUVpWVwzWXXZPgBqDoljDB9A8yzVcglWrJcF0P5xcoLoUv0nPtszLrSoouEu9f hIwLq7G4210eFJ1u4OY1sQGJAu_lmC08DOcRpuLwCVy9PVF0p1Cp_1C05ShSCbVTng60JKQlEEC0 vUi1ZeM59T7wEz84gMGMZlsfHTdzePjS_r0ulN3m4kLVOlFIMqoWD5wX5AHTn.8MC22w9H6XkYZX MXiaurISmHBbNxEPT9g4YGi.h0GSxo_NO7HBc6YalDzNctKf4O.bZiiAR.uAb_pplPN43GS6twAo ZB.n3AooXrmzotJAnWS.hiDfOS7kjb2H3Y8Sw8iekc5.3KvXOrtgTus7Diq8ElkaFv6zcYFVBSTD XvOy6XFUd9vslL5fSN1Q8yIf65jel0iIDAVj4UiXdgbRgnjYIOQZ0UXerN45n0XFtym1CKnFzEpF LXvzjgsJi0hFtoRkOPRgLQydJ97ZGzUdZ_VUC1nTXj.hv6Ws29X8AO74YKzrMlYdWPymGch.3rKH edC4O.sChKoZlohT1UhPPJRTsJOVkOWS2.uDeXHQDTOU9h92NOevwCmb1bwrWUcm0shQOQxws3bx 0MbDn4VfyHgh.EV3sck4bU5Y44XhU1HfH2hEtCs8eYTkWYE38x8m.IX3DWFnlYHZjWnMiloh4HVo xmqJhJyc8cc6V7TttAh2bPzfKURHcjwly.W0kogS0jk.Hsvo0hIUp82eSH9wL1yJ4iQZrt2Ci1Lk X3cVCB8CcetsNXDByliwqnT8izTqSwyTBz63YT1djn_27pWsr2scBBS1NEKpTOwnoanREw6st1i. 2Uprladkc2D3_FzTUyQ0QDgjgmUb5HOZnYH9kqt_jlmoUvcMZHI2ohewrbJPk9x45gLl8Uqtc7bS .Fgi4EC9IxXhFLfSs0jGz2gnW9jXKiSwCVpht_soDdef17hjfLM7YeJnEkzWt54qieImBSMeMUpS .2TRu97ZrOjs3_q91iSPZU52wl3c6pFQRDE83zGJ09vQFiqKDSxyaCy8Hv_7mSkGD6ehOLDgIoS0 iCw6KjG8jJukYgewA0lid1Uackh4F3aYG6amloFixjz_1cCIY0r.InxYDurGcxvwPvFOW9DCPGex BshfPPuVWG6Tz7HMPfje5UjcS9OCsLMbk20mbotqupOLf3SmvA4QyigPCV10EYDJPEIzaLkijy24 f8e9F.C.S.2glam21eESXyIrvUa5qjl.tipsFd3iSYk3iI.96npKLLAVuKgbkhWObdI2c3PyjiKz LnLxetKxDGM57RWh02rRhiQCKxMuWO74r.qoSKCDmCalwAe1FNEkrrRCxwZC7lfubPLSw5l3B71y ErrW651T6Jl90Ss1WeA2FL0JsR_fqKfv417lfG38p0gA4UTHxek8SX7Ly.JYaFR4y34wMEzj5Yfq 1mXpNh1nnSsrEVCWPK6FSs2PqEBBjv0J6rq8zbFeTU8yajD97iB61xsXOwoI79LXoRJyEzbYClmW PKHthp4utduLWo1ABC9F_BtwV9.PGUthfAauxVp.Kytm_9p53wsKyAWGJITeW9II9MkMbBTo7ma7 LCThyIXQv5B3zqQ56DD34R8An8PinqzXl7FocVKRnHLvwVAaM_WE8nwGO..nw8B8Ubxury6zeEG2 DEMPWs7UQT_yXfk9rjLEQ_duATh3A16hQUN_V4FacObOVAYFQRJ_WOwB2r6TxtU3Zlj7elIpH3Vt gOQXI0DJVd7W.mO9vTxqnziDHtB4jvQqdiRQWIWiNGOfZ7q4YZU_mjHoFPnfmY7QoiI3RuO.oIv0 mTGq2.ury30BeqwRKOfBZ8N0SjOJ4TK4epaZrA.BDU7XONPSBcaEcM0HSJMc4EYZ0Cz1YkONTi57 2 X-Sonic-MF: X-Sonic-ID: 3b2bdd08-0d69-4024-99cb-6989f536a881 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Tue, 5 Sep 2023 08:45:20 +0000 Received: by hermes--production-ne1-7b767b77cc-27nt8 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1abcd3db18bf15272f64f101035350ae; Tue, 05 Sep 2023 08:45:18 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" possible file odd result From: Mark Millard In-Reply-To: <6990186B-E85B-4D64-8202-4B9ECBD876FD@yahoo.com> Date: Tue, 5 Sep 2023 01:45:06 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <28614E14-6C55-4183-9315-A098C392B3AC@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> <4E888EC8-4B06-4139-90DF-59AFBA700A5F@yahoo.com> <6990186B-E85B-4D64-8202-4B9ECBD876FD@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.48 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.979]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BLOCKLISTDE_FAIL(0.00)[98.137.65.84:server fail]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.84:from]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.84:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Rfzbl1gtvz3HV5 On Sep 5, 2023, at 00:00, Mark Millard wrote: > On Sep 4, 2023, at 22:06, Mark Millard wrote: >=20 >> . . . >=20 > So I tried 30 for per_txg_dirty_frees_percent for 2 contexts: > autotrim on > vs. > autotrim off >=20 > where there was 100 GiByte+ to delete after a poudriere > bulk run. >=20 > autotrim on: takes a fair time to delete even 1 GiByte of the 100+ = GiByte > vs. > autotrim off: takes less time to delete more. >=20 > The difference is very visible via "gstat -spod" use. >=20 > autotrim on likely makes things less concurrent, somewhat > like USB3 storage having only one command to the device > at a time for FreeBSD. autotrim on seems to prevent the > larger unit of work from being an effective way to > decrease the time required, instead possibly increasing > the time requirement. >=20 > That may be an example of the context dependendency for > what value of per_txg_dirty_frees_percent to use to > avoid wasting much time. Trying autotrim off with 30 for per_txg_dirty_frees_percent got me the oddity/extra-message (just using 32 builders to match the hardware thread count): . . . [00:03:25] [32] [00:00:00] Builder starting [00:03:43] [01] [00:00:18] Finished print/indexinfo | indexinfo-0.3.1: = Success [00:03:43] [01] [00:00:00] Building devel/gettext-runtime | = gettext-runtime-0.22_1 [00:05:20] [01] [00:01:37] Finished devel/gettext-runtime | = gettext-runtime-0.22_1: Success 23/.p/cleaning/rdeps/gettext-runtime-0.22_1/chemtool-1.6.14_4 copy: open = failed: No such file or directory [00:05:23] [01] [00:00:00] Building devel/gmake | gmake-4.3_2 [00:05:55] [02] [00:02:30] Builder started . . . (Not that I know if the context actually matters and I have no clue if I'll ever get a repetition.) =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Sep 5 08:53:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfznY41Zdz4sJ9d; Tue, 5 Sep 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfznY2mTYz3KtK; Tue, 5 Sep 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e10hmVBwvGRKYSMfMmeX9TfcMd51j6rdL4OXG120Ra4=; b=w/HewTQHNf2lzWSTGXbBIrVz4jWwB2rb66aeX1EnOsrERywNfmLNdh3HyKkYjLjzmrzgXz qf9IHa8jI7WgGjpbMXK6Ypo1UJPMDqNubEAPn4Xme5MsLWzMQ2Ng2XdCg14qiW7CZx298m lCvYrTLaNy6b+tddm6Q+NYNY5eGMeQPyTqQPZj4LsRl4w3SzsAJK+YpuwIHyfJt0Zg+sgP L13aOSm2lKbnbfK+XpS2Dfe+HntV73GCFRMXyzN6+IXi7OWMouqOwQT0Twl41srEmklp1J aH2JM3mbVqj2dKtsy4ZInz9g7uVWaLshTyM2X/WMqRLOJ2e8bpyjYn6GbtereA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693904033; a=rsa-sha256; cv=none; b=tT+gB7061CFcTdkVNSes1Whv8BKOrPacY15gfBwk2xgBz7C3V/r5v/CmzvlkYgiKFEsV+2 Z61C3pzGuCfbt+HBWgnLObQgyMLePNMYL9CEe65G3hsbJSizXvimjnCTd9Yb3Xl+x0G9mB KlNu3g1u5rUHR4gcm452yy1f7hUMRTy0qd5YSVPBtUvjWES2kN+V6PjsN6iaJsMixrM7Xz JBOCUK9ggJD1kuRmTROnAWaLG+ltyav9pGKzzrFilwh3kxCWsOWTN/CJ1ij+ncnyudcCPv GhVu1Qh7Ar8zd5DXL4nzalrVz6/L+dUuSL/eIBmQYb3SOEIRpqrOh/Lz1LpYAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e10hmVBwvGRKYSMfMmeX9TfcMd51j6rdL4OXG120Ra4=; b=ZoQALh4AJ675tRIdETcyINoiqre9idA4T5k1A5NT/R16OZpv4ouZm3kB9nSGK5guW9suLT emrNF0Cn1iMV28zjsjVLWsYagVDs5U5EcMZEW3SR1pxbdmsji5G7mNE2LCyOBYo6vPzg/P 20UsOi5SUAymaaBW0G4osi++UMqQEPz/8nCXMeLy4m8WpWO00bywZ/lTQeIwvytdzQ+UCL TAEesMZwwSFqayycXbuIMxJfECu+7kj6mA9fsL2diJy1DgQnr3s732/uJEr6d5nkUP6eVK ZbmZxKQg5mRISYTvzwo41SkADL7cX+pPv/OfKpjmkZw+WwaGZwrCdAOCSQL/Yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfznY1qYJzC0P; Tue, 5 Sep 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3858rrSG030610; Tue, 5 Sep 2023 08:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3858rrjq030607; Tue, 5 Sep 2023 08:53:53 GMT (envelope-from git) Date: Tue, 5 Sep 2023 08:53:53 GMT Message-Id: <202309050853.3858rrjq030607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 18d1c86788f6 - main - linux(4): Fix listxattr for the case when the size is 0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 18d1c86788f66f42c4e096142f4f8d168f68732c Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=18d1c86788f66f42c4e096142f4f8d168f68732c commit 18d1c86788f66f42c4e096142f4f8d168f68732c Author: Dmitry Chagin AuthorDate: 2023-09-05 08:51:46 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 08:51:46 +0000 linux(4): Fix listxattr for the case when the size is 0 If size is specified as zero, these calls return the current size of the list of extended attribute names (and leave list unchanged). Tested by: zirias MFC after: 1 week --- sys/compat/linux/linux_xattr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_xattr.c b/sys/compat/linux/linux_xattr.c index 74b47f1cbaec..71d7ae58439e 100644 --- a/sys/compat/linux/linux_xattr.c +++ b/sys/compat/linux/linux_xattr.c @@ -173,24 +173,28 @@ listxattr(struct thread *td, struct listxattr_args *args) while (rs > 0) { keylen = (unsigned char)key[0]; pairlen = prefixlen + 1 + keylen + 1; - if (cnt + pairlen > LINUX_XATTR_LIST_MAX) { + cnt += pairlen; + if (cnt > LINUX_XATTR_LIST_MAX) { error = E2BIG; break; } - if ((args->list != NULL && cnt > args->size) || + /* + * If size is specified as zero, return the current size + * of the list of extended attribute names. + */ + if ((args->size > 0 && cnt > args->size) || pairlen >= sizeof(attrname)) { error = ERANGE; break; } ++key; - if (args->list != NULL) { + if (args->list != NULL && args->size > 0) { sprintf(attrname, "%s.%.*s", prefix, keylen, key); error = copyout(attrname, args->list, pairlen); if (error != 0) break; args->list += pairlen; } - cnt += pairlen; key += keylen; rs -= (keylen + 1); } From nobody Tue Sep 5 08:53:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RfznZ4nDnz4sJGJ; Tue, 5 Sep 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RfznZ469bz3LLQ; Tue, 5 Sep 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADadii1cul/gqOB50EUusNmZI8VTwYhx71G7yk88uKs=; b=Yd90OMfaGBSwWBvN9Fk+c0jd3QxjauCNR40KojdFuk1xllrw5QEhLc82xtkLsvzZ6vLDkG 66mur6TWG/H+Mm/NAWtZ1ymD6MjgvZXFVB3NZqmUiGua5djHJ4+8g3Upd5RkBt0r8f8/nb 8AW9HkWnhX8A9g/otxRUFDWW8ZEfQZEmmIAHaEVPRjjtPgJNCfsi5+AuiDpoHtSr2ifDtj WFk8pgeZVjvcsvmyNwP/eI06Cz4PmuDfLwX83javcdY6p6iK2LmMR1YO9V+hPzNEOfi/FZ dNypmSP0XuYDfXfRL4/CauqEPeJosiOOk7bzsdEhxpkEBPVoF7PJhoMUiV+13Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693904034; a=rsa-sha256; cv=none; b=I/cxBLJPUArX6MqzSIW8LNrk3l5ARyiX0LjV/gzpeWzbvG2f7df3j/fxlhvjqOpY+O+iRT Kl+tmHqNIVEr8J7enB+8+Far8KfuijrAvpGRbrsj76MR1Vaoa8f6b3z1Himau2ux4CVZMh xRLfirw8nq1XXECwi1NGzbL5G5NOFDlmyjm9SZU4W+rJ477COmQzJ3X9ZAUutoQivl4hJm 1kqnX6/iLSMQANMmr6o8YkG5QSvL86BNGgSUbTK4R4o9xi1lyvcU4dRdz4aUH5hOyto96/ BcjzxJbVtiOUYbdJtR6L3AQVBLFrkvgbfpjq+nLxizKLTmiHqGbJTs3VlbbHpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADadii1cul/gqOB50EUusNmZI8VTwYhx71G7yk88uKs=; b=fdzPSGFvZW1PbchT6taF81ngaT1WiIFaWzDIu0Rik5CnwhgUySDUdRMEEyABaMMquVIMMj ipHu+RhhVMysUrDzinpu9bVFgwGObnvD0c9Nx7RnEDgAt9oNwj2LGihGRGnHhNbzh1WnxS YeL26rp3f6tNs4ZT7A8UXgBLjKJEw8zCIGthJTTcFz3aOG9S2J9QisJLd1/6W194RdFuke fp70e8OHfY+UnXXavUpsXJeY8+fySrbRyBI7UpOLGk1g6bISlPDaZY5WvUnoXz6wdJFUk6 i4d/76iW9kGuQCyEuMFAZTwkP3vW0DS2tvOEjT+y7TGun9w8yyrJJ1z508Imeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RfznZ2pbhzBVx; Tue, 5 Sep 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3858rsng030661; Tue, 5 Sep 2023 08:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3858rsGi030658; Tue, 5 Sep 2023 08:53:54 GMT (envelope-from git) Date: Tue, 5 Sep 2023 08:53:54 GMT Message-Id: <202309050853.3858rsGi030658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 11e37048db35 - main - linux(4): Return ENOTSUP from listxattr instead of EPERM List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11e37048db35d7fcfc285b867965de1aeefec2c8 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=11e37048db35d7fcfc285b867965de1aeefec2c8 commit 11e37048db35d7fcfc285b867965de1aeefec2c8 Author: Dmitry Chagin AuthorDate: 2023-09-05 08:52:27 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 08:52:27 +0000 linux(4): Return ENOTSUP from listxattr instead of EPERM FreeBSD does not permits manipulating extended attributes in the system namespace by unprivileged accounts, even if account has appropriate privileges to access filesystem object. In Linux the system namespace is used to preserve posix acls. Some Gnu coreutils binaries uses posix acls, eg, install, ls, cp. And fails if we unexpectedly return EPERM error from xattr system calls. In the other hands, in Linux read and write access to the system namespace depend on the policy implemented for each filesystem, so we'll mimics we're a filesystem that prohibits this for unpriveleged accounts. Reported by: zirias Tested by: zirias MFC after: 1 week --- sys/compat/linux/linux_xattr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linux/linux_xattr.c b/sys/compat/linux/linux_xattr.c index 71d7ae58439e..6979fff9c82d 100644 --- a/sys/compat/linux/linux_xattr.c +++ b/sys/compat/linux/linux_xattr.c @@ -165,6 +165,8 @@ listxattr(struct thread *td, struct listxattr_args *args) error = kern_extattr_list_fd(td, args->fd, attrnamespace, &auio); rs = sz - auio.uio_resid; + if (error == EPERM) + break; if (error != 0 || rs == 0) continue; prefix = extattr_namespace_names[attrnamespace]; From nobody Tue Sep 5 08:53:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rfznb5gClz4sJGQ; Tue, 5 Sep 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rfznb5BGQz3LPM; Tue, 5 Sep 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZHeqT0vCf9Zqr6m6btufzlcA6D1DA2yJOVU012o9q0c=; b=YZ3FZFQY6XzHzlnIfrhlQN3NRqHbdu2+g7gwxbUO0lKrI/mtN9GtMZzL7h/08SnrQxNQJ1 8rd/vBlCJoIEWLV0HGmmnKg3UgfVpm2GRarz/kS49tDQmdgyhTZazLUnCDRQH4QFJsi9TO HJ8n2QQXUdIW1JMhr61MSBP9nvPgN8kwXyMemHUTaJ7tendYk3qkYiyk+4htaKIyLsXxLx f+SspnzRK+nUzzzhZhYD1Xzo9lcPemTuPRUoCCBIm34lxu2d+qbJyVIu7gsOwRBiZYkLQ0 JWsZ3/0EKX1nI9TTH9jyMIzmoy29SjMGz2NnF+3FTWUXpNaWF+/+7gvNB7Z/PQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693904035; a=rsa-sha256; cv=none; b=Zypn05QyhV7MgJO5Ak/uMws54s69dJN5JA7SCV2r1cUjPs1S1fWraVlmRs2PqlpbIbR6FX X6lDAuMrnOvj5ayTq3ByMKySaKkyUfDseRFVJ3OeELtAx32KmIQPrfcstkvaDk6ELHuTie uA9KvuOtL7RVF4zYPhvmjTv0lntQJb25bDvv03xCYspMC7kqnyLDoGcQsevVavsEhRrH3f aWWZbaCMY0ICi3Udf/kz+h27Bi/F3j0vuCsu98rFWIHfl8kpFLYrlTUYKHWe9Ip+Yv7tEg hHAqF/ivFaPnD/VTTrx58/4ALQhfLf8byzs4aP6qLOzUFUGqSHBSJ7d5FvURGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693904035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZHeqT0vCf9Zqr6m6btufzlcA6D1DA2yJOVU012o9q0c=; b=dbROlGMC45tzHPFSLwKD6rGrNagT8c5wCExFleGHP+qmKFMLjDMZJIlRYG1HLWD8I8x/KD q5qIN1dNpeHm0iWQdm4yXof3/lO9YAjULDciWzwHbqCr48/2eVchUw5VMf/sAhPJY9Xequ 42KUraVUptTNkrDau6c1X7uZxLYQofsrXJ1KGQ+JrHFnRHBF1DwKkpLJ8nGmnESXNWsYdX dm/XFU9XHP/z3a+eNn9eblBZQEFYE9Pe+rjzikjuKhmk3EVjsiEaP8ljHEGTUoYlzorRKh BjOi4W08iY01+HtIYBAsKPkEppkiKLJKmIQxnTXBsrtpAMWq/nOkjI3hhJlgAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rfznb3nY1zC0Q; Tue, 5 Sep 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3858rtoO030706; Tue, 5 Sep 2023 08:53:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3858rtbE030703; Tue, 5 Sep 2023 08:53:55 GMT (envelope-from git) Date: Tue, 5 Sep 2023 08:53:55 GMT Message-Id: <202309050853.3858rtbE030703@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: aadc14bceb4e - main - linux(4): Convert flags in timerfd_create List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aadc14bceb4e94f5b75a05de96cd9619b877b030 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=aadc14bceb4e94f5b75a05de96cd9619b877b030 commit aadc14bceb4e94f5b75a05de96cd9619b877b030 Author: Vico Chen AuthorDate: 2023-09-05 08:53:02 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 08:53:02 +0000 linux(4): Convert flags in timerfd_create The timerfd is introduced in FreeBSD 14, and the Linux ABI timerfd is also moved to FreeBSD native timerfd, but it can't work well as Linux TFD_CLOEXEC and TFD_NONBLOCK haven't been converted to FreeBSD TFD_CLOEXEC and TFD_NONBLOCK. Reviewed by: dchagin, jfree Differential revision: https://reviews.freebsd.org/D41708 MFC after: 1 week --- sys/compat/linux/linux_event.c | 9 +++++++-- sys/compat/linux/linux_event.h | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_event.c b/sys/compat/linux/linux_event.c index 816c68a90f1d..e88791659f1f 100644 --- a/sys/compat/linux/linux_event.c +++ b/sys/compat/linux/linux_event.c @@ -611,13 +611,18 @@ int linux_timerfd_create(struct thread *td, struct linux_timerfd_create_args *args) { clockid_t clockid; - int error; + int error, flags; error = linux_to_native_clockid(&clockid, args->clockid); if (error != 0) return (error); + flags = 0; + if ((args->flags & LINUX_TFD_CLOEXEC) != 0) + flags |= O_CLOEXEC; + if ((args->flags & LINUX_TFD_NONBLOCK) != 0) + flags |= TFD_NONBLOCK; - return (kern_timerfd_create(td, clockid, args->flags)); + return (kern_timerfd_create(td, clockid, flags)); } int diff --git a/sys/compat/linux/linux_event.h b/sys/compat/linux/linux_event.h index fa63371b5170..8c6758fefcc9 100644 --- a/sys/compat/linux/linux_event.h +++ b/sys/compat/linux/linux_event.h @@ -54,4 +54,7 @@ #define LINUX_EFD_SEMAPHORE (1 << 0) +#define LINUX_TFD_CLOEXEC LINUX_O_CLOEXEC +#define LINUX_TFD_NONBLOCK LINUX_O_NONBLOCK + #endif /* !_LINUX_EVENT_H_ */ From nobody Tue Sep 5 10:01:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg1Hj4QPgz4srp0; Tue, 5 Sep 2023 10:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg1Hj3vlTz3fpd; Tue, 5 Sep 2023 10:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693908097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i425ELrn29YJb6tP9pw4vOhZfW1ev1zHnSt2A8zuHJU=; b=sFya6fdVVz8k/IzJxZWi9KhJJ40PSbkbyNe4i2ek3Aeto5m2xy5OiFUkN8A3uUeRpsJ2Rv EwjOSLH9scNJi/WJrj91Edl/s+4G7RLN5v5MOQtDClZLHHCt6Aft3ANmYe3b70Tb07OeQD UPwW2lNYOC74Cca+NxonyyEchwlcDBGEtWY2xzEWdRytUfYLcz7ucXzJCp3HB39YhyfGCK xklkPYBea5VJ2BrqgevcwyTzdrL6ZwsYWeDoAusXxLCYHELdKdBzBIqUJQCSgUGeiJwD7S fzZqtcZ4epGFVlp/Cw/lzKhHNRJQwhZiJmLDEbWCBBqkL67civxvZxbp/dijEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693908097; a=rsa-sha256; cv=none; b=nvODUFdL4sw0Lt2aZxNhUDyazn9jarLAkaulL421IjtqN3+y4vlCNADfyaXjL7jXv9oIE1 pgqo3mJ5dx2wVf/CvWLR4emnrfhbHxSfG2Ffz5/Jxtu877JTTTqndWy73jwTGZxIqsGgGE 6piwkbfTRP8YncSk058X4pB4fDgi7ucsWTYA/ZTGriFioKGBi+hV9iFsfzvPC907caEFA+ xZEM+AO3yPqXFLwxbFdJK5spM6P6oFYM7ttwIGTO6pmewirFKcls2GFb5HWdR+p8qgBZd3 bmZyHRZy2o3ZWiIkh0+weWYOjsC9wXak2k0TmV4Ft7rLf8vZ6zKcMAgq8ibCsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693908097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i425ELrn29YJb6tP9pw4vOhZfW1ev1zHnSt2A8zuHJU=; b=pScRAQKTux3ODHb+QC4t99UkPnHGyzmFPclANKHsIlsmxWcfJpgbuR9u5AabVDSm2G7h+a Xjq4F84tkh9dvm9YjcnK27gnxrrUVU8wl8YMFWmj7Mn4BudmeBA/npQKnXMwcArVY334EI loQIVKynSba5ogx2M4JIU/f9qSz9GZI/9dLPiD21R9HWS3E0AKbiyz+Gbjpsmy895lsX2E GYn84MDxhYlq71lSjAfP2d3WoCUunoXb8CR04N4aUtXRL9IRpvsldDa+RGIk/ZgQyUaxK/ RwOeX8CyMwqgtGOcHivEq1W0ZKvzD7ndUdVw03SgkAk/qZz9YOomCWT8SjWs0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg1Hj30qyzTKW; Tue, 5 Sep 2023 10:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385A1b7C046483; Tue, 5 Sep 2023 10:01:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385A1bwV046480; Tue, 5 Sep 2023 10:01:37 GMT (envelope-from git) Date: Tue, 5 Sep 2023 10:01:37 GMT Message-Id: <202309051001.385A1bwV046480@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 3a02df5e27d2 - main - getdirentries.2: Reference directory(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a02df5e27d2eeabffd761ff5cb79496a6d796ea Auto-Submitted: auto-generated The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=3a02df5e27d2eeabffd761ff5cb79496a6d796ea commit 3a02df5e27d2eeabffd761ff5cb79496a6d796ea Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-09-05 09:37:14 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-09-05 09:39:39 +0000 getdirentries.2: Reference directory(3) MFC after: 3 days --- lib/libc/sys/getdirentries.2 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libc/sys/getdirentries.2 b/lib/libc/sys/getdirentries.2 index 38d5c1e525b0..1c623fa59124 100644 --- a/lib/libc/sys/getdirentries.2 +++ b/lib/libc/sys/getdirentries.2 @@ -27,7 +27,7 @@ .\" .\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95 .\" -.Dd April 11, 2022 +.Dd September 5, 2023 .Dt GETDIRENTRIES 2 .Os .Sh NAME @@ -197,7 +197,8 @@ Directory unlinked but still open. .El .Sh SEE ALSO .Xr lseek 2 , -.Xr open 2 +.Xr open 2 , +.Xr directory 3 .Sh HISTORY The .Fn getdirentries From nobody Tue Sep 5 10:01:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg1Hk5pWPz4srWm; Tue, 5 Sep 2023 10:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg1Hk5Gwlz3gD8; Tue, 5 Sep 2023 10:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693908098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Yy1eVL9ZIFg+3kblrfQo1cK36NtUGuyXNDCQpOqMyM=; b=sr0b2SXDT9cUQ9NxqeesD6qpzKAfJTlIlAEPmw6TNj48r4uK6Az4vwSQKg2seKCsfwfTWU RLkxbSM1elbpxiVtlvYNnXBQwO5+RVq/oy0laT0SpqSByDSnd5GUDRN4zSoLn/FFzMLOb1 1deUtYgRp4qyavL+qlw00i+4w+DJEYbrNrTU4K/hXwKCSNachmSPnF7/AqKfa8c+1WAfmO Y5NL46L8gFZhBYRcqTJpVtOv6AwXX08UaVbcQHPdIkXzBX3J7MM+QVvyv+WZxZO4vnc4th LowN6ObK+vyaUhuBdFMwiB/40Rfd8Zphwso2JUSN8M5vicS1/N3oHYreR89YmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693908098; a=rsa-sha256; cv=none; b=iV0iwCWUVN7yJFvX+bYcncXnC7ABkYn/NYYkDq++NkdE7E3I09PxeIoVb2kQRBeYYT7q3V vAoohfsnq/TI9xyLp9j6eLOQkZ5+HPF0CqcNm+o/BlmsD8i5e9P77G3mkG20ljO1m3T7r8 csFLbosyLmH6HjW4dW2QHhVCM5dBsIMH2RGuRNhvUmmiPfabvWkvmv2ty8SvU+ZDqd6Lrv zy9ayVtkyYaFClREUL9nuoNvf0RJ2/mUhf1Na4glO6H8Jl+DqxcNyGDYIcmkG+wAmtl5FR L6wAesPF97l9GvEmgBUTZpHh4VkpyrzXvHHooTcfGymFvRzhrxYDtkAOiT264Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693908098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Yy1eVL9ZIFg+3kblrfQo1cK36NtUGuyXNDCQpOqMyM=; b=DTW+sqXdde5gr9uB7dms1adFP6t2JhJEZasMXhNtI69DgJystJcGe1lIJeiWy5njFrvC2s I37k1KYeCpAxLT2d+amvupRuXYk07JguZUTYwG/NCy19ZHLfv4YRZzzj8wcdIxkqAdUKHe jymb20Z/lgsgLN+9ftcSo5/u2TH+r6uZDNPZvQD8jmHNPhDlw1h//4A/c5TuMrvQyQ1XJm lR1AMKN7X4QQa7JfI29SgnjeAwzh8SQMuNCCLk8rvpwO4WlfCRREW45RSZ9oO3V5mRLYdr BSfSoki2b7ijf5KfeI7Ec/fQtDLvN6OydDT4ujxetfQj+ksJsgz7+JjRKU+oBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg1Hk3sKvzTV7; Tue, 5 Sep 2023 10:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385A1cra046529; Tue, 5 Sep 2023 10:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385A1cwr046526; Tue, 5 Sep 2023 10:01:38 GMT (envelope-from git) Date: Tue, 5 Sep 2023 10:01:38 GMT Message-Id: <202309051001.385A1cwr046526@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: e8fc6a9980d9 - main - extattr.9: Improve the fragment about jail(8) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8fc6a9980d9367f6fd4fee795a35e104104397e Auto-Submitted: auto-generated The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=e8fc6a9980d9367f6fd4fee795a35e104104397e commit e8fc6a9980d9367f6fd4fee795a35e104104397e Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-09-05 09:59:35 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-09-05 09:59:35 +0000 extattr.9: Improve the fragment about jail(8) Fixes: 315d7bbbb4e4 extattr(9): Mention system namespace restrictions MFC after: 1 week --- share/man/man9/extattr.9 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/share/man/man9/extattr.9 b/share/man/man9/extattr.9 index dc919bf4e056..3ee2ed5e2e83 100644 --- a/share/man/man9/extattr.9 +++ b/share/man/man9/extattr.9 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 1, 2023 +.Dd September 5, 2023 .Dt EXTATTR 9 .Os .Sh NAME @@ -54,9 +54,10 @@ attribute data is protected according the normal discretionary and mandatory protections associated with the data in the file or directory; system attribute data is protected such that appropriate privilege is required to directly access or manipulate these attributes. -By default processes in a +By default, processes in a .Xr jail 8 -can not access to the system attribute data unless allow.extattr +cannot access the system attribute data unless the +.Va allow.extattr configuration parameter is specified. .Pp Reads of extended attribute data may return specific contiguous regions of From nobody Tue Sep 5 13:36:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg63J5FfXz4sWnG; Tue, 5 Sep 2023 13:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg63J4lmlz3Wcs; Tue, 5 Sep 2023 13:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693920972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M1Jr6AajYin1GZ7q34tIZgjSSqiqmWVCJQ5Vh+MWZ3E=; b=TLfBJPXsZ02dkKxU0SX8C3rWP9x65qjyn+sj4LEgGnfLl6qoRWiXy/WiVun2qw9bLu8g/a kzyPwEannL+/nIDPRFEiEP7phq7X7bSa7e0MyaE33Rf3rHwa3Ncc57/IGeb3urHX24fIqa 5haWJbp5zAv5myUf7pO02aLFVgxTt7/OFlTKV0/C9jaF/v2o2E3oVZPSZt+mpxAaoufGJx pRS5aRkI/CIakhVEuK8ToFUOsAR+NSBVIXqZPxjGfVNk7budEK1oCuujKjoEvv5qGmVCDR QE3OpzqQBLs58gZ/Pxilt0XdM5cw90n5orgXzqc5pupm+P8GbWqnJzanLYD/mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693920972; a=rsa-sha256; cv=none; b=c4vs+WUhoY+7a5puiJZn1HIwfMFHECmCWvvuTVQOIQbkzqpwDisIVxikrp+cfqXMTv75TM NWv25DrEklGzAPNR9M3JqOhV/qpfquWDHmKtACQM9lddWWtV0f8H/TxpAw6D3SWaCaC+n1 apaJ/m8w5fTLNKdc3ZL5FjC65tZms3lr6E1CXQ+6kevQaiJZhImIGNK/h4XBpjv5tHuJBa KqmbKU/TPB2l7UbVnZPg2YldWlo5jcs6erQwoKo74IIfWICeN/bUEQEUYImmR1E0zwqNZ5 SSgfchY6IQgZ4bAeEu0CpVq3xh7+3KF9A6EotUSrDfTzUMZLapR+y29JAu5ayg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693920972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M1Jr6AajYin1GZ7q34tIZgjSSqiqmWVCJQ5Vh+MWZ3E=; b=Qzn7Lgo9vA6zv8VpJJnYArK96c2w/NgUSAaBwDfuo0OlOrK0YMnxy2m3U+bYsx5PLW9XjI 8F03ScKgQSh2IpAXakTvYPJrqnvzT/VTCYMPkzam9pZWfWvqWK3qAmBnQKjEMjzpG5Lbtg WlweOYdAovlBqlgStAjE+ekimUydVBF/UY7hoRiigJQiSeaOVWCJiXa84Gwvr01ZmMxKfQ RfPDcj7vakKrIG7hVKeUBTOQCC05+CgsEkjLPL4mF35tFwanrypchRm9411+Ce8JP6n2Rn NHmh8LYXvzHP1cCfYjyG6rROANpkeOWBGhfN0kYb3VjgOAg96XYShtK34B2BtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg63J3WMpzbXW; Tue, 5 Sep 2023 13:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385DaCUF094164; Tue, 5 Sep 2023 13:36:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385DaCuW094161; Tue, 5 Sep 2023 13:36:12 GMT (envelope-from git) Date: Tue, 5 Sep 2023 13:36:12 GMT Message-Id: <202309051336.385DaCuW094161@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: d41afb814612 - main - */string.3,arch.7,environ.7: add cross-references to simd(7) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d41afb814612ce005d93d2f8d127dcf6ea751cc4 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=d41afb814612ce005d93d2f8d127dcf6ea751cc4 commit d41afb814612ce005d93d2f8d127dcf6ea751cc4 Author: Robert Clausecker AuthorDate: 2023-09-02 14:27:23 +0000 Commit: Robert Clausecker CommitDate: 2023-09-05 13:33:12 +0000 */string.3,arch.7,environ.7: add cross-references to simd(7) With the new simd-dispatch framework documented in simd(7), add cross-references to the new man pages to appropriate places. Sponsored by: The FreeBSD Foundation Approved by: emaste MFC to: stable/14 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41697 --- lib/libc/string/string.3 | 5 +++-- share/man/man7/arch.7 | 5 +++-- share/man/man7/environ.7 | 12 ++++++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/libc/string/string.3 b/lib/libc/string/string.3 index a164aae01eec..b389c58acc07 100644 --- a/lib/libc/string/string.3 +++ b/lib/libc/string/string.3 @@ -29,7 +29,7 @@ .\" .\" @(#)string.3 8.2 (Berkeley) 12/11/93 .\" -.Dd December 11, 1993 +.Dd September 2, 2023 .Dt STRING 3 .Os .Sh NAME @@ -132,7 +132,8 @@ for size limitations. .Xr strsep 3 , .Xr strspn 3 , .Xr strstr 3 , -.Xr strtok 3 +.Xr strtok 3 , +.Xr simd 7 .Sh STANDARDS The .Fn strcat , diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 8e89203e4003..14c6af612087 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 12, 2023 +.Dd September 2, 2023 .Dt ARCH 7 .Os .Sh NAME @@ -431,7 +431,8 @@ it is unused outside of that scope. .El .Sh SEE ALSO .Xr src.conf 5 , -.Xr build 7 +.Xr build 7 , +.Xr simd 7 .Sh HISTORY An .Nm diff --git a/share/man/man7/environ.7 b/share/man/man7/environ.7 index 7e3437e7c6d4..8a927c0f9f3d 100644 --- a/share/man/man7/environ.7 +++ b/share/man/man7/environ.7 @@ -27,7 +27,7 @@ .\" .\" @(#)environ.7 8.3 (Berkeley) 4/19/94 .\" -.Dd August 5, 2020 +.Dd September 3, 2023 .Dt ENVIRON 7 .Os .Sh NAME @@ -66,6 +66,13 @@ are documented in the section of the appropriate manual page. .Sh ENVIRONMENT .Bl -tag -width LD_LIBRARY_PATH +.It Ev ARCHLEVEL +On +.Em amd64 , +controls the level of SIMD enhancements used. +See +.Xr simd 7 +for details. .It Ev BLOCKSIZE The size of the block units used by several disk-related commands, most notably @@ -305,7 +312,8 @@ built-in command in .Xr setlocale 3 , .Xr system 3 , .Xr termcap 3 , -.Xr termcap 5 +.Xr termcap 5 , +.Xr simd 7 .Sh HISTORY The .Nm From nobody Tue Sep 5 13:51:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg6P849Jwz4sd8G; Tue, 5 Sep 2023 13:51:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg6P83lPQz3ZT2; Tue, 5 Sep 2023 13:51:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693921900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54S6fzH/FFQftuOrILaNmJg4JBzIU1geR64DqLb8PzE=; b=T6rUHUwuyWuPE64yYWX/Wl8q4szOWuHU671nEUo8MpR81hqP6Sg1+Y1Zcg5NevNO9hf9X9 4Snbsi3NS0TH8r/N89MyjcoJ2bgdlrYvypq1gbm3YaknuG9qvg5V63R1IpGGrmu0xPao0x us5cjUQrTOLe/ceHd/mOwjJ7bj2gegRS7Sw4rny+80BZcXwj/JW6IBet1RqUQQbY8gQS08 DqjukIUVrq51a0tqAq3aEci1eqK6CbC3aDb7OQcPSXE+wh5j+JKEc/u5HTmpJEB+1ZPt9G pnNjuMoeeEeWULQtudl2RkZw2KCtNPoG0Uo53MMqvvs20ZacrOruBwF5o6fAog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693921900; a=rsa-sha256; cv=none; b=QORV29OUv67mAfguscr8doqf4r6hoHYb8kDJDm7yKJmgiAp3dFSf86LGZ+qRYdY5fKMAZm lvelZBwGgyyIcqfviEwhsXq50Xmkx1ZQiwnNWbnbmvbPId+nN5+2o8LwLzRw8u4r13ZZhI dpN/WiaXh6zeRTALdxRaEhZorsP2a0b/yQIgnkZmT1PlelxAR2ugTYu/GNpu4VXFjsLYrD c9RBsF0YmkGudwAFx3rDelpKQz0uVzJQp6qfZzaTM4ugbcxih0iq8WQEa3seqieNw84P3X +zZueQjJXzZLqJktFMdv41miPrIED5uN/LfFvSP5RhoyYjaV5J8N8o/gWDBM7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693921900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54S6fzH/FFQftuOrILaNmJg4JBzIU1geR64DqLb8PzE=; b=pMHbMQ2I11tGVC8fdUuKYZ3Kc0vhrsDiU6pq7TRfFwH24tIJB05Ca2MNiEoLGNAK6ndej9 EjH6IiVoyVqM+Zhr5hhY6K/v2k3GlK4/zLmAgaJQaaqf91g5KHgd7PJZycuejGKfETJIsT jOs9HFBkqV54lFNHIfOaUFhkRpJlyetL5eEtLyLURoKEgpLdPnrZNdoc9MmhbOSc9pY9I4 YnSUnwX4xL6QcrNn47J+VvW4hL+vy2NUqVuxmE6Qx/WvnrOW1j5wyieAT9j65sj31VCGEC SIVO5cM8WjP1UK4Ydbd30Lu5qG/vJyme/eU9JIg/lLEvFTVMz41Vj6FDkv7jUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg6P82hf5zbGJ; Tue, 5 Sep 2023 13:51:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385Dpe5o025925; Tue, 5 Sep 2023 13:51:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385Dpe2H025922; Tue, 5 Sep 2023 13:51:40 GMT (envelope-from git) Date: Tue, 5 Sep 2023 13:51:40 GMT Message-Id: <202309051351.385Dpe2H025922@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 52d374a06700 - main - getdirentries.2: Improve readability of dirent members List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52d374a067002fc42409b32059ec8b8506a70429 Auto-Submitted: auto-generated The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=52d374a067002fc42409b32059ec8b8506a70429 commit 52d374a067002fc42409b32059ec8b8506a70429 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-09-05 13:41:47 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-09-05 13:50:45 +0000 getdirentries.2: Improve readability of dirent members MFC after: 3 days --- lib/libc/sys/getdirentries.2 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libc/sys/getdirentries.2 b/lib/libc/sys/getdirentries.2 index 1c623fa59124..0a06cd6b947e 100644 --- a/lib/libc/sys/getdirentries.2 +++ b/lib/libc/sys/getdirentries.2 @@ -70,12 +70,12 @@ The data in the buffer is a series of .Vt dirent structures each containing the following entries: .Bd -literal -offset indent -ino_t d_fileno; -off_t d_off; -uint16_t d_reclen; -uint8_t d_type; -uint16_t d_namlen; -char d_name[MAXNAMLEN + 1]; /* see below */ +ino_t d_fileno; +off_t d_off; +uint16_t d_reclen; +uint8_t d_type; +uint16_t d_namlen; +char d_name[MAXNAMLEN + 1]; /* see below */ .Ed .Pp The From nobody Tue Sep 5 13:51:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg6P95G2Kz4sdQD; Tue, 5 Sep 2023 13:51:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg6P94W37z3Zkr; Tue, 5 Sep 2023 13:51:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693921901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OC8RFAC7sMhlnlUyIRFJ/oC0Azbkec8M+qJjzkxHqZU=; b=WZOj7SedBkFj6ZEVTO7/KiQ/3wjE5pL67xBCFMh8OKMjCePmXa2z83K8MNnsC6OS+qzVgS u0Wmll94Esl+Sjo0qRbHfaYqRmP8snSWeIlTvLcAedQHLnW8uIxCTVqIbgTUDz7Vb42vv9 y4DrP+JDYocYP85VQj59Sr0eboK8dcupG7h4O9EHrCCNUvgOZnZYPWxd/M3hQt0iCjXS4L Nv/SGoapGT11RuPQ7Tv8cpHGVc3q9IeOlB4ugLqcj12TE8VxwLFQu8xOzqhLncdBWLPcof mcmAalFAKJ5NtvbXtjKIx9beG1k5yxM16FRQHg6LHF3Ck7NuFnUvwFHxYKRJKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693921901; a=rsa-sha256; cv=none; b=iaYs+453MDBn+1D06Wd8FoJ8lYTrjbjFunfhGsi0PHezv4NflYhutA4uPbW7sdZXcQ6wBV iw6qsDU8KZy1UIFAhfYgB1fTYleBXzL6a/KjqwT3Dt2hYMOS8H2AvIyLewIqmvXcYi6q52 9goQo5Z2u8eLJ/SvBhAgwOfvfxxKQcGGvKtKsCyTDVAC4QBf3uZm43pwMZF/XrtTM8tczB NJBvFbLEktJx0cdAjxDUrZ2hPz9ru4f3CwfVaMzdvS8H8GJCjB/GwZwOUr5f3B7i+Yraqo CUmE7Ya10NE8YLPvVqyQtCed8wPRSBn1tkXPHl9SFGHKMylKh0NwgJ5fXFKpZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693921901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OC8RFAC7sMhlnlUyIRFJ/oC0Azbkec8M+qJjzkxHqZU=; b=jiy47dYDLvVMc6VgFaXoXhtb0NvZzTVt6qmtiMJw4gglAEXjYlapbHcxJnoomrr10HwTGq V96jJaRdvRkMO+DkDe618/AdnQoWYCnhBwU2rWuVwTzLOvWuEwPxy3oM5ixpTfyTfu1Php W7FS02IsK7cIuPizMarDInbAiydfDGdT+sGVXb0SoIybW6upMwYyNFALsIJnXmOQHN0vnm zS3bspItx6LA1Wfv3pBNTLdQaQFzaNvvhpJYNyBYMIPXUIMV6GXBsmKV/WHFQj6dqbreNo yXvq9L4hphpladWM3Ul6vs72GI0+awEMH3b2fMh2XYqWpkPVaC51l8RSECv2UQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg6P93TNDzbGK; Tue, 5 Sep 2023 13:51:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385DpfFC026187; Tue, 5 Sep 2023 13:51:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385DpfHc026184; Tue, 5 Sep 2023 13:51:41 GMT (envelope-from git) Date: Tue, 5 Sep 2023 13:51:41 GMT Message-Id: <202309051351.385DpfHc026184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 5b7a776f4818 - main - getdirentries.2: Reference dir(5) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b7a776f481891f10820a0b4838d0e0feb60b8ad Auto-Submitted: auto-generated The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=5b7a776f481891f10820a0b4838d0e0feb60b8ad commit 5b7a776f481891f10820a0b4838d0e0feb60b8ad Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-09-05 13:48:57 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-09-05 13:50:45 +0000 getdirentries.2: Reference dir(5) As a note, parts of manual pages getdirentries(2) and dir(5) should probably be consolidated. MFC after: 3 days --- lib/libc/sys/getdirentries.2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libc/sys/getdirentries.2 b/lib/libc/sys/getdirentries.2 index 0a06cd6b947e..74fd57f9d74f 100644 --- a/lib/libc/sys/getdirentries.2 +++ b/lib/libc/sys/getdirentries.2 @@ -198,7 +198,8 @@ Directory unlinked but still open. .Sh SEE ALSO .Xr lseek 2 , .Xr open 2 , -.Xr directory 3 +.Xr directory 3 , +.Xr dir 5 .Sh HISTORY The .Fn getdirentries From nobody Tue Sep 5 16:00:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg9FR50P7z4sFN6; Tue, 5 Sep 2023 16:00:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg9FR4V4rz4dT5; Tue, 5 Sep 2023 16:00:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693929611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QRBBHY2OvWTcHMjZ4TX0EWED6RZgmj16p4pdTz+CUhY=; b=T1IIcxXrw+jaZdVSxk79Wsh4y4WVYqCeQ/DaL3/B/YN5aRS7IklW3s+4RZaLMi3oQ9/Atw t3WDhRkOHrGqF7zbMMfxBKs1y4liBlOdg6Mu/NeYQco3BNa6nkN9Y1Z+gT26/SPkd3yNuw adYqTU2hvdtszap7d2syCUxUiaDTo9A2LlF8BJ4oQZ2fqdwJISAbLHtvBZnbFgfwNRnd3l 9u6KaxKwoDFT88dd4ipgDNPjyKGZwKgcuzi/iMYdmB11B6OoI7+gFYvGGEonwYb+5fpMOv oYxMgWpqu4JlgLFd1UqpI6TkY88P6prXoyTefBOtAYpBdDGcbbqLGXchBCcbGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693929611; a=rsa-sha256; cv=none; b=EuBAyaxiAp+Ud6cOiLZsiPtl5WIWOB13EK6McqRskbn7dhHG/lpCPDDRc4QSX9toBJOqt3 g7pDlIx8Bv027gfhh9bqWelHPk6hbPJz/u8AfY7EJBnUEJDU6f9F8YxZmFyLI1/vXyq6zS 2z9bIl0Mpbu9+OQudYLm2WiGbccuOF7380B8Uf0RctqdPTRaSt4CoIGlXGZEzEdENsd3bc mju33J+Sn7eR15LvfO2alKtZBq0MhJqE9S80McsPWhYsnWqfAZ6HAa5rwcf9KEFaEbDFpc 9qBoi/2m+MOuY4r1kismdasxunLMJ/lDIG9MBZjJxC5xS61GpNg5GbDvmJWGsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693929611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QRBBHY2OvWTcHMjZ4TX0EWED6RZgmj16p4pdTz+CUhY=; b=Jjal3yVbz+RjIghHK+Qad7S13QekFYnFKym5zmg/5Q2UStFockVQdWCzdT/fWKaAA3vz+4 N1T/8IGiU/R3iKbdE3qOpZhBnhmaw9ZGSdq1u/jCvSngaybSpuvAXuN/SKthTAjS/NLAwD nzdMxpugbO6YCfCGmfN0OrMTi+kgm5uLZbGW1Z7qfVm8p2ixQRwzstagpVM6NVmK5Qxcd5 MvwWFSlRTuARHGj/f2fZhKk1CQRVK+YsJCKhLKJ1WYPVq1N9E0E95WFRxWC3O/VM86lOdn cXqA0dzN7Cnn3UaA6FBUXcfa9KhVnGet3ME77Dw2I878Out3tvE0X4HGmw+HzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg9FR3Z53zfdG; Tue, 5 Sep 2023 16:00:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385G0BO1031843; Tue, 5 Sep 2023 16:00:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385G0Bmk031832; Tue, 5 Sep 2023 16:00:11 GMT (envelope-from git) Date: Tue, 5 Sep 2023 16:00:11 GMT Message-Id: <202309051600.385G0Bmk031832@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f1c5a2e3a625 - main - virtio_random: Pipeline fetching the data List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1c5a2e3a625053e2b70d5b1777d849a4d9328f2 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f1c5a2e3a625053e2b70d5b1777d849a4d9328f2 commit f1c5a2e3a625053e2b70d5b1777d849a4d9328f2 Author: John-Mark Gurney AuthorDate: 2023-09-05 15:59:43 +0000 Commit: John Baldwin CommitDate: 2023-09-05 15:59:43 +0000 virtio_random: Pipeline fetching the data Queue an initial fetch of data during attach and after every read rather than synchronously fetching data and polling for completion. If data has not been returned from an previous fetch during read, just return EAGAIN rather than blocking. Co-authored-by: John Baldwin Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D41656 --- sys/dev/virtio/random/virtio_random.c | 73 +++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 30 deletions(-) diff --git a/sys/dev/virtio/random/virtio_random.c b/sys/dev/virtio/random/virtio_random.c index c02b5c98cece..d54e2e6b70d4 100644 --- a/sys/dev/virtio/random/virtio_random.c +++ b/sys/dev/virtio/random/virtio_random.c @@ -54,6 +54,8 @@ struct vtrnd_softc { struct virtqueue *vtrnd_vq; eventhandler_tag eh; bool inactive; + struct sglist *vtrnd_sg; + uint32_t *vtrnd_value; }; static int vtrnd_modevent(module_t, int, void *); @@ -67,6 +69,7 @@ static int vtrnd_negotiate_features(struct vtrnd_softc *); static int vtrnd_setup_features(struct vtrnd_softc *); static int vtrnd_alloc_virtqueue(struct vtrnd_softc *); static int vtrnd_harvest(struct vtrnd_softc *, void *, size_t *); +static void vtrnd_enqueue(struct vtrnd_softc *sc); static unsigned vtrnd_read(void *, unsigned); #define VTRND_FEATURES 0 @@ -138,12 +141,17 @@ static int vtrnd_attach(device_t dev) { struct vtrnd_softc *sc, *exp; + size_t len; int error; sc = device_get_softc(dev); sc->vtrnd_dev = dev; virtio_set_feature_desc(dev, vtrnd_feature_desc); + len = sizeof(*sc->vtrnd_value) * HARVESTSIZE; + sc->vtrnd_value = malloc_aligned(len, len, M_DEVBUF, M_WAITOK); + sc->vtrnd_sg = sglist_build(sc->vtrnd_value, len, M_WAITOK); + error = vtrnd_setup_features(sc); if (error) { device_printf(dev, "cannot setup features\n"); @@ -174,6 +182,8 @@ vtrnd_attach(device_t dev) sc->inactive = false; random_source_register(&random_vtrnd); + vtrnd_enqueue(sc); + fail: if (error) vtrnd_detach(dev); @@ -185,6 +195,7 @@ static int vtrnd_detach(device_t dev) { struct vtrnd_softc *sc; + uint32_t rdlen; sc = device_get_softc(dev); KASSERT( @@ -197,7 +208,13 @@ vtrnd_detach(device_t dev) sc->eh = NULL; } random_source_deregister(&random_vtrnd); + + /* clear the queue */ + virtqueue_poll(sc->vtrnd_vq, &rdlen); + atomic_store_explicit(&g_vtrnd_softc, NULL, memory_order_release); + sglist_free(sc->vtrnd_sg); + zfree(sc->vtrnd_value, M_DEVBUF); return (0); } @@ -251,49 +268,45 @@ vtrnd_alloc_virtqueue(struct vtrnd_softc *sc) return (virtio_alloc_virtqueues(dev, 0, 1, &vq_info)); } +static void +vtrnd_enqueue(struct vtrnd_softc *sc) +{ + struct virtqueue *vq; + int error __diagused; + + vq = sc->vtrnd_vq; + + KASSERT(virtqueue_empty(vq), ("%s: non-empty queue", __func__)); + + error = virtqueue_enqueue(vq, sc, sc->vtrnd_sg, 0, 1); + KASSERT(error == 0, ("%s: virtqueue_enqueue returned error: %d", + __func__, error)); + + virtqueue_notify(vq); +} + static int vtrnd_harvest(struct vtrnd_softc *sc, void *buf, size_t *sz) { - struct sglist_seg segs[1]; - struct sglist sg; struct virtqueue *vq; - uint32_t value[HARVESTSIZE] __aligned(sizeof(uint32_t) * HARVESTSIZE); + void *cookie; uint32_t rdlen; - int error; - - _Static_assert(sizeof(value) < PAGE_SIZE, "sglist assumption"); if (sc->inactive) return (EDEADLK); - sglist_init(&sg, 1, segs); - error = sglist_append(&sg, value, *sz); - if (error != 0) - panic("%s: sglist_append error=%d", __func__, error); - vq = sc->vtrnd_vq; - KASSERT(virtqueue_empty(vq), ("%s: non-empty queue", __func__)); - - error = virtqueue_enqueue(vq, buf, &sg, 0, 1); - if (error != 0) - return (error); - - /* - * Poll for the response, but the command is likely already - * done when we return from the notify. - */ - virtqueue_notify(vq); - virtqueue_poll(vq, &rdlen); - if (rdlen > *sz) - panic("%s: random device wrote %zu bytes beyond end of provided" - " buffer %p:%zu", __func__, (size_t)rdlen - *sz, - (void *)value, *sz); - else if (rdlen == 0) + cookie = virtqueue_dequeue(vq, &rdlen); + if (cookie == NULL) return (EAGAIN); + KASSERT(cookie == sc, ("%s: cookie mismatch", __func__)); + *sz = MIN(rdlen, *sz); - memcpy(buf, value, *sz); - explicit_bzero(value, *sz); + memcpy(buf, sc->vtrnd_value, *sz); + + vtrnd_enqueue(sc); + return (0); } From nobody Tue Sep 5 16:12:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg9X14d9dz4sM4q; Tue, 5 Sep 2023 16:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg9X148GYz4j16; Tue, 5 Sep 2023 16:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jfHHl5LzJYzs7KBdG67nTE3G+8lU5XQsNehjaGVjRhM=; b=pGvbciaDzAWLj/iIVfNTgInY4JNYuhrdNEdyh2HRcPXoUlufaPRf7+OtMnTptyQFdv/JF9 ZFzB2uHz+UudGjGD60od2skNWFkbKnPqQQsuym2eNGUcohqNGNW6s2Nv56nUiNBwswDphy OqLL2eyY1p6Qt7SNvrAqQYWQOCv0W+bPWNM97PFGJ+zAwRN1Y8vUZk3Vwbi+c1l8x0de90 ofHc1yh0SAThYxWCLpEPE5e3r9rTnRXuceto9OWgTS9sD172AOTXrZ0s+ruYD0GWQJZ0sE Xp0TGRRzFTu58fcMdSgubqDVDKBy1bvoFVX4mSFD0Auhi5OQkg3tBlT2oae4Cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693930369; a=rsa-sha256; cv=none; b=DZTsUpltGHJbeq+Lykxnj0msvuEtjz7ShGJXmwAPJjs/4yOMOpvFxFdnqlC8jZ+ryj47sw M+GyD2hfEgsA0t+FApSUXLP0yzkLhuPa5MHAa3vgzlFpxHee0iH8+MF60douMS66KOCC2e y6D/SDGyo4I4ncwQ9m9LplwIAYJlkh5K1jJS5rrpYKOOuur6FWiWBLjWd2rp7ovonxoiH+ 12ThSwkmzui1ZipQCKqsTHTpOrUcSjjxO+UZD1zZ7xoXHrfm7ABGfIbax60Rbw6JSHiS7O xfiM9OLcnvndsvVkk6PcmSh+jSowt7+7VmlBmNvaL/TEn1ucAuZvw3NrFZkGyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jfHHl5LzJYzs7KBdG67nTE3G+8lU5XQsNehjaGVjRhM=; b=yVi8TUY3sF4afinirHmSvFt4PiMKOHp9/Aq5+LWWtBFnP3XfSW1UGM4C1IJ6xcILMZozP7 tJdKvaq+OobXRn0JN7aD2nlup0PsOkmqvfGbe3lkXa5WmhHacwblOaasNuiqVYWX2a0Sl1 Y2wVRjA0BZxSmgZGksPiG/72/zXWeFQ1rj6g6pIpjVCpQm/HaDFLo0X4q1M37p3EJSzOZ2 nBhkloWfpwjrnv9s9qsW2r1rbkPc/3hhrPeddR0mHvpbo1exyIzs9gNKDWgn2GW0byTFl3 eCxGcSlrBt8xZjRRBy+CjHe/p1lwsAsbqKq5egeDqp2G0Wx+OIIaOxo8R/NvAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg9X13DS2zftp; Tue, 5 Sep 2023 16:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385GCnAG058938; Tue, 5 Sep 2023 16:12:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385GCncx058935; Tue, 5 Sep 2023 16:12:49 GMT (envelope-from git) Date: Tue, 5 Sep 2023 16:12:49 GMT Message-Id: <202309051612.385GCncx058935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3b35d2a8af43 - main - riscv: Save gp in the trapframe in both modes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3b35d2a8af43c2e3ea8cb5e1363ac87ec5eadeaf Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3b35d2a8af43c2e3ea8cb5e1363ac87ec5eadeaf commit 3b35d2a8af43c2e3ea8cb5e1363ac87ec5eadeaf Author: John Baldwin AuthorDate: 2023-09-05 16:04:54 +0000 Commit: John Baldwin CommitDate: 2023-09-05 16:04:54 +0000 riscv: Save gp in the trapframe in both modes Similar to d95fbf4e1a12565908b04b442263fe60c9e890b4, always save gp in the trapframe even though it is only restored when returning to user mode. This is mostly a debugging aid so that dump_regs() doesn't print out random stack garbage as the value of gp for kernel faults (e.g. sysctl debug.kdb.trap=1) as well as keeping kgdb's trapframe unwinder from reporting bogus values of $gp for lower frames. Reviewed by: mhorne, jrtc27, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41699 --- sys/riscv/riscv/exception.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/riscv/riscv/exception.S b/sys/riscv/riscv/exception.S index 1aee009a4e00..8acb5cd691d4 100644 --- a/sys/riscv/riscv/exception.S +++ b/sys/riscv/riscv/exception.S @@ -43,9 +43,9 @@ sd ra, (TF_RA)(sp) sd tp, (TF_TP)(sp) + sd gp, (TF_GP)(sp) .if \mode == 0 /* We came from userspace. */ - sd gp, (TF_GP)(sp) .option push .option norelax /* Load the kernel's global pointer */ From nobody Tue Sep 5 16:12:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg9X25sLSz4sLnL; Tue, 5 Sep 2023 16:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg9X25J4Dz4hvV; Tue, 5 Sep 2023 16:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rgd5t/Kx2Pm/nHyI3c7NRMQQG0eDpAnIUZwR+LU/1F4=; b=w2ixLp5gmbM14v2L0A/wjSacrROZvbqUUIWzmuYv24AS6yPwBkccewZpTzUsBWW6QqbW/L 5JfqbAGsmaFY5KL+JQE0oUzKBW95KZfqNpnU7y7rYKGkif/295x6pkKOBAOII32lkazwBf Yi1AyBYnYpXdacYont+R3MOJ0MLfNi3P6iOIYJTst1em+1wLwxrMMGvJFJoRANHZjQHL0x arJZiFYkT9a5UWyxxfMpsVtfNCNt5HfnhYhZTIzFDBnTLW546PR3UxYxsneRemXO+OMClE xYiNm+IOUAw031Z/FbTnfzE8/bTi57bvPDxgzfY27BK09QHoaFWLxPhm80xc7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693930370; a=rsa-sha256; cv=none; b=TqX39/Xvngdb6lLMtJL6MTH7/iGWaVEIPtM1Ns7ZxTOgC8bhJandELCSfdv8N0PXLbrgGK QG5JWEPYc33cFTgQAHZ1g6VfxD/bxIU45om9CuNfwDG4MwvoL9Jr9TVzz/Czxy1dRy/NIj 4+JKhEMQfj75ijcmGZ3GL3q559NJULAHe4mX+L5vaxUMNbygVtjnJzhIx51ALK9Sz42/YF omIBXqpYoK7P0zoSWsWwpL65SqYso1Kp7N7L0ylUJw47fWgWmqoPB/KTqgGt4W1tUjxOWn DgnP42nYKA71A7WkXlfDY3zNW2n/rJjqz+P8C6yI5GBQfdhHwM9JhhwZ0ul4fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rgd5t/Kx2Pm/nHyI3c7NRMQQG0eDpAnIUZwR+LU/1F4=; b=Yf1GMYXecxWc6H39d/24p9lSSxnexMEevsP/pBRfnayyyhTVHPRZqZVEpXkx8pvhNPXELn rlPtvG9H0yRCGbT9V0qJ8+DaUwFfrSit/ZmBpqNhhmEwkfOnSTFzfWWkFFgKmDSgMptnwx ggWPainCRNT+/I2HLvhMRCxoJN+Ju50cErrzPmytfnpEXrmnsmkCsarMbkCOdySHX2TuTe oD0RCg0La+mz95evsOykwpuyZhSi5tX6fHD/d8uIhN/Ep9Y3kSe+IBrT/0iTbzPEBam/Zs 2FtMbIBy64bKbvw4LAo0B45feWxf3jDe7FsQd6oXfHpAwa1jc5jIYdOTxFByGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg9X24LKwzg5l; Tue, 5 Sep 2023 16:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385GCo5U058992; Tue, 5 Sep 2023 16:12:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385GCoLc058989; Tue, 5 Sep 2023 16:12:50 GMT (envelope-from git) Date: Tue, 5 Sep 2023 16:12:50 GMT Message-Id: <202309051612.385GCoLc058989@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 25b58f9a4a69 - main - ObsoleteFiles.inc: Add libclang_rt libraries for riscv64 for LLVM 14/15. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25b58f9a4a69012b5c1729a3895f9fb3369e2b5d Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=25b58f9a4a69012b5c1729a3895f9fb3369e2b5d commit 25b58f9a4a69012b5c1729a3895f9fb3369e2b5d Author: John Baldwin AuthorDate: 2023-09-05 16:12:12 +0000 Commit: John Baldwin CommitDate: 2023-09-05 16:12:12 +0000 ObsoleteFiles.inc: Add libclang_rt libraries for riscv64 for LLVM 14/15. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D41701 --- ObsoleteFiles.inc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index b901dd2874c1..98644685d83e 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -389,13 +389,17 @@ OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-riscv64.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-riscv64.so OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan-x86_64.so OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.asan_static-x86_64.a @@ -427,6 +431,7 @@ OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-i386.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-powerpc.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-powerpc64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.profile-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.safestack-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.safestack-i386.a @@ -435,11 +440,13 @@ OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.stats_client-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.tsan-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.tsan-x86_64.a @@ -449,16 +456,19 @@ OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-riscv64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.xray-aarch64.a OLD_FILES+=usr/lib/clang/15.0.7/lib/freebsd/libclang_rt.xray-arm.a @@ -893,7 +903,10 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-riscv64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-riscv64.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-aarch64.a @@ -902,6 +915,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-powerpc64.a @@ -939,6 +953,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-i386.a @@ -949,6 +964,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a @@ -956,6 +972,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-powerpc64.a @@ -971,6 +988,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a @@ -978,6 +996,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a @@ -985,6 +1004,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-riscv64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a From nobody Tue Sep 5 16:12:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg9X36hCrz4sM6v; Tue, 5 Sep 2023 16:12:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg9X36Cp7z4jBs; Tue, 5 Sep 2023 16:12:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=De+ymqUmLz7OanCA98pqgFLgMKd2e4H1KfRCmtEyC7g=; b=burb3IaqRBC4w4SSElxUPaDni4E9AnJsgAObFdFxoVZfGrSVBH7j4VZAARjSTFYfNAKw5p otJEg87OF+c27CTLta86OocvlqUUCPB4rkDhlicr7k6+U+o4wFBJ/TYzOpZ6DGfNDMmwBq f6Pojb1QsYuexpca6dOuefcTNdFaUDoLYhf8cDtjwN+lQrWknODKI0pndoGPNlDFbk15/1 1iKzfXlh5gIQfaVL6PWiyeXFaBxBsdkkCn/OnhpXsKDdTZcIq7mer0dgn035Vs64LFeWug g/5ne9py++ISK8YuPjsmVxL6PmexZEtSnTxQLihfBlEW6f4FcEAVCR2ZdQ6rtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693930371; a=rsa-sha256; cv=none; b=ucbN33LInBEnOEIck82P5uVMZTsGfgFrYOUqN3XCCgrmQIlZre/rD7xgGz1O9ZdrSGjaj9 8ZyQiv0FcDYq8e1YPRMiGVduuuuuvP3YmuqGzYeVPd0wnCWDLIhYV3DdbCEm+QhTvuN+it CZEaabVyDrUWbQdizcZjcDwEc/2QTc5cKTQl1FdpAU4tu86ai6svapizMS4R7Vb90OaH7J nVuvRu0x4UsqLY0gU/U7Wtoh+UhfOAqmRkiwhdhM5P82ClSJ9rYfaAERV6qnVX+4BKqpxk rKBrX+9AjlvW2hj8oeJPEiq4zKEA2h/9wuScGLWia+NDxaNuHqzulfnM/jrvqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693930371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=De+ymqUmLz7OanCA98pqgFLgMKd2e4H1KfRCmtEyC7g=; b=NPzHP4L8TNvLl2+rTSTNeZxtUnu91rA7pUXBMsa1lQHopDn4fH62p8Xac95OGERuV5YABn m2q7lfaxwQ4/GfMtIlyRRM87iuqOtu/L0m3YGSWNxcaOObDwyVbtmyZR+PNKhGhFVMWQ56 tNUkK1o54v5RQ0fJmvlLyu2qP6D8wGaHtoKsfmYlpcKieRJ0tdoDwCC7UjFLBl/Sp7Qmyq KwDSSGx342UkeU4x44xY1ghrQlCMxiCtVng4CyYloxQg2jWgPivhNe6KCu0+b63pSIbX9K XlF2U9pf9HO9TRUT2kvr4KWJ/Qm0PHUobkYTE9UpRXuWXgZkbtHEEdONsomdRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg9X35JG0zgBN; Tue, 5 Sep 2023 16:12:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385GCpdE059043; Tue, 5 Sep 2023 16:12:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385GCpLv059040; Tue, 5 Sep 2023 16:12:51 GMT (envelope-from git) Date: Tue, 5 Sep 2023 16:12:51 GMT Message-Id: <202309051612.385GCpLv059040@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ba675bb94870 - main - riscv: Don't print zero offsets for register addresses List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba675bb94870fcb1a07018920433e9468003364c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ba675bb94870fcb1a07018920433e9468003364c commit ba675bb94870fcb1a07018920433e9468003364c Author: John Baldwin AuthorDate: 2023-09-05 16:12:27 +0000 Commit: John Baldwin CommitDate: 2023-09-05 16:12:27 +0000 riscv: Don't print zero offsets for register addresses This matches the behavior of db_printsym. Reviewed by: mhorne, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41702 --- sys/riscv/riscv/trap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/riscv/riscv/trap.c b/sys/riscv/riscv/trap.c index e454beeb5245..bde402c1cc16 100644 --- a/sys/riscv/riscv/trap.c +++ b/sys/riscv/riscv/trap.c @@ -149,7 +149,10 @@ print_with_symbol(const char *name, uint64_t value) sym = db_search_symbol(value, DB_STGY_ANY, &offset); if (sym != C_DB_SYM_NULL) { db_symbol_values(sym, &sym_name, &sym_value); - printf(" (%s + 0x%lx)", sym_name, offset); + if (offset != 0) + printf(" (%s + 0x%lx)", sym_name, offset); + else + printf(" (%s)", sym_name); } } #endif From nobody Tue Sep 5 16:30:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rg9wd2YC6z4rmmx; Tue, 5 Sep 2023 16:30:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rg9wc6Y2wz4nQv; Tue, 5 Sep 2023 16:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693931440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8jIUYeaPX7PyVfgS1kpARedemRm7ZCgKFUSyf11X1I=; b=QWBpArbh5W4GmoU0yJ0OgZvoJRveohMaqgzgnhSWuB69SgTi/WMMD6QC/72Jvz2PQI1Az8 jiZh0fiRVtpvbk99QEPw77QCUOjrbEb+Hhj8w6LrRhJ8RtohZpQsS8VKZjoxON4skkshDY PYA/E4ft8Q7JfIjPqwRMxhZpBH66bw5o3ZJtZTMQvZwIwfJ0kTXRfpBFpbReMoJ7D43YZ2 WwGHAk/1iJMSdVJuqc7GkcLTp0WzFgzCzTOrWSx9qcCcxjUulUTCmvk9/1X3AXLzYFIad1 2tbKhPuyV3LzbH583iboEXbOgH01wwBcJEkvgrJQaoPDtTeIjVcwaznMDOLuWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693931440; a=rsa-sha256; cv=none; b=J5gTUvr1QHLuDnbCh7FJqAhylzGDtCGgqAbYHcVzQpEkM2Wmb7aeh5VbaSL0GD51TjnKfM 0GTqjdDiXS77Zxthamo/OCqYc9vfk9N5/yeA/FZzROB0JOGngjCavopVkNg8AmIzAtUNWk d+Zi1WmeIl1tZOv7p3oINtYFTLgZV2O0iR+inb4PKk6LHyGI/C5qqCAqVS96BBkEuDPZTH LL0yn7Lvvr6dOpLTf36ZFcTy0ic4X5S3gjfQUNra/A6WaLGCm7p+mQMX0S3IONarF+A/aC FIuCY84VoUDWdA7j52HytPbaD03vxfVYGJZu7iYBHmatBUESH0064xQPB8R6Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693931440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8jIUYeaPX7PyVfgS1kpARedemRm7ZCgKFUSyf11X1I=; b=cQ558o3U5DUj9D976KNfj3wxb0txxaYCNAYHtjkXz9IHP9/bC3hnMmX5B5wb5QczBwhSgX SqWHxEES7AVmKsLTOLGeaschyT6XBvxK84dWQRG5CzcMGbjD3D5npXqK2hYn+op0wHFdLl hydyvdoCOO+m/Wt1TgzWvzc+a6fK/XRRrDNjc9FTSQFxBjNiI2X/Uu7VMbIpOoQdI9IHI+ myPJ2K2c27WTgb0vElBVqxAl+fwdT7moKCP6s2XkwGmof9irmXSXf2oLrNb75v6X3HVJWg ED3M4ch0avCD+9iBCqFSwdiHYLomuBsVYPUwjmpPYsxFNMsYp99ERY8bUG2tNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rg9wc5WWqzgRh; Tue, 5 Sep 2023 16:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385GUe7U085816; Tue, 5 Sep 2023 16:30:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385GUeis085813; Tue, 5 Sep 2023 16:30:40 GMT (envelope-from git) Date: Tue, 5 Sep 2023 16:30:40 GMT Message-Id: <202309051630.385GUeis085813@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 963629923308 - main - kthread_add(): do not allow to attach the thread to a dead or dying process List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96362992330894787a4485f0adc5e867879c5893 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=96362992330894787a4485f0adc5e867879c5893 commit 96362992330894787a4485f0adc5e867879c5893 Author: Konstantin Belousov AuthorDate: 2023-09-05 10:54:36 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-05 16:30:08 +0000 kthread_add(): do not allow to attach the thread to a dead or dying process Reported by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/kern/kern_kthread.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index 5e32aea1f56d..6f7fd8b3d555 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -281,6 +281,10 @@ kthread_add1(void (*func)(void *), void *arg, struct proc *p, return (ENOMEM); PROC_LOCK(p); + if (p->p_state == PRS_ZOMBIE || (p->p_flag2 & P2_WEXIT) != 0) { + PROC_UNLOCK(p); + return (ESRCH); + } oldtd = FIRST_THREAD_IN_PROC(p); bzero(&newtd->td_startzero, From nobody Tue Sep 5 18:13:43 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgDCx3sYsz4shCn for ; Tue, 5 Sep 2023 18:14:05 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-20.consmr.mail.gq1.yahoo.com (sonic313-20.consmr.mail.gq1.yahoo.com [98.137.65.83]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgDCw1CcJz3dql for ; Tue, 5 Sep 2023 18:14:04 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=Aphb3V11; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.83 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693937642; bh=bK5YbA9fY0FnlE5hU8xOHJP+HlR3hDaLwvWGihi+X0Y=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=Aphb3V11iPviQlFkDU33bm6r4Q+1pyr/FE+Hjv/fUrY6PZAdvPmJfOAa+d34olUnHyiuYX9hBmboUlxs8Bmj+SPeiFpfZY8BGE8U/txaWSjFP5DKpbTcuseoPLCHnobYboXzhzcfkVBkNn9+oc+dJXdepGxUiVTdxfP7ZYD69z7SAccHJiLdMEVEOfdnNZHZEYFTvHdvMzZpO9b3SkaYz8AnAzdVD9PvrJXFA/hkava4bUi1oksOZHaxWlCB8s4Va0GyHUaGyYTrSfBl0Zqq2bNTxCKR8oFkQJIJ5aFvJDzB/7nE9u6j/JqX7aPEmC4OQiHptQnLS9hankkx4fCuzQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1693937642; bh=7EgNkSnxaslDmGnukWcV7GKVDaYZyID/BpGT8tQw5/k=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=rB31uTUbvDQXpwGYnPe8g/6uvDn+qfwbcxwzb7QdMm7BBddaMWbTYfsc2Py3xbU+6e+3G5d/4GeHi3AnhenX6g/xetxjj1wVTrgBXWQrQSaOHOSLJZ4WpjfD5PXswCz0RdOcjk7lkLtFR1R3joxd5+CNNEmYHTCRhHhNt+pDaift7B9B+KtQy5E5EnaPAEwi31AKJgEEAlcg2gj/q4+xVoLx34Hy9dSYdY10lA/J+DfFjnr6FF9RFntbc5gOzqkczZ9zDZXW1wsM78gTl/gsQTv8pezINWTm6lsvFHcl3vlgHQSNAtWKxInVw8vz58I5gN4XZUz+/xWY7Mvz57NzgA== X-YMail-OSG: mljiUMgVM1k15KMLN335gwn0JKTs9heo_LTG9EZ5nDvjsJ2WlZv5T8qO1FqlJ5h f0wO5Ay2ai5mkeCw8lRXt9Vw3slJRCCvnl4DhWxdQ6ivYnn0mQiWZ2HVpk.UYmFVKyUANMIMt_zX JAdIQUbo7joV8FZ4Sy26rczK2AxOQHq2xckrovRTW_Zr5p3gqnz43WDzvJDYUaIv72ewAlM3ektM _Jdz9VMqHe4i3g4ijxUYZK7dCmCuEw7S63xw3YWbaFNjNe5KLkTwScLh0K9.DRv25Ot_NqHwbSI. DKCH_2xYwZces9_M7mXIFjaTYbT1f8H_hOQyoz8dAgnXQujAZKpnP3a30Qil_nBXOHpul.aWUmF7 3n7TIhHmOn51y431w.TT4yluMlZ6Jk40_qtBh_9GDAewHzFSzoBKQDJpTNrUiv1zEuoLzrb12_Lv GojDthUjliMujFVhtn6PpTEqniW_ZZOtnrMhCTEOOIPRQ.IG0x_vJrvM.iRZSLAKjYBCwSiIP2yJ 2vKSkI5QIZrd6yBe5nGmmy5Ess7PCagagtoJ8jXxOiSRiohDegZz0lFVsnnZx6JwTwVcGrarW3Hw YEW0nzVXTDuD65hxpRXxet7_7qVlDC3UuMmK5PXPGPX3d_wnusyrkXkofDfERCecHa5ypca.ScNe 2.gN7WAgFaNBaDa.ewF59.8TDQtxB0Pql.1CpK5cj9y7w722Mg3eQAdfpiQKEVlCKDmxdKANvqge YiFpEZSIGL79fIPaGx337tBz0BMzg4s.sJI1ReQ7P5SrwuP65azLpvx1_gjzc_Jz3Qu8_HMYzRr9 6ZX8QucgOTjab9M5BiBzIdYzzdepoGceU7nxPO1sX5Kce0H8Ec_3L.BmGaSZInvrbz7xBrvSVMQh iGCKGit7HcyapwAS1yYGkrglZcRqYuDpXozB365_kUIbwRbaE.gFvqfVnyO.JSXkya0Wk57551Dt C.dSMCWHLnlskAplFnCHhPPr6XwJEI5Kk.fuBSGOjbP5qcIW1xfVDHfd6oiCljwS6rT3AsmMTA8B 0ii_jTRMoPjZx4E4AqUoH4ETjQ38.PcMgr0jQptGK8iBDf8Eau5er0aE9NSxdsU73Tpbz_uq3mza Df7npTG1Gwzc6Z1Zqbk1ODSupoAcqkcyEhWtv5obVrpdNPlDTTSsKye5muDzJfrxwEOKxzsxPeNI b8IlWM1jAf..aSocjWrhAEGKioDVLRifLyOatAJAFxNNv7iLdEcqvmjkE2uhrzAYnmAUexRJ7VmC pEomw3QurZkObohO9nPIKHhdHsJ_Ia0OwgF5Y91bF8YyphnNp4sAcYaTLIiSKlsc.GNh3u5GTVnS AmGJgD5MwrW9nCTIr96U_Z.0Qf9yg.mZu7CpDw.XaLnZUcYhdf0XPHzKJ8gesGfopA2Gt4XCjvvW qnml7uKToULQNu2WK6d7x9vdCOC27z9Qd5Ko8Lr5.adLpyXOYer5hQU8djvZ6gbb4FxMu.SJI3Z1 U.TigBtw7elRNYLUnGjGVtDgzjEUzKtt0aHyqwMDA0epf4ix0nWS7mePrMuK42teIhg.MVVNSIMR dnjQzOQgjx5AqKVbG_SDZE5Q3FfQm.tl7Bc2_SmEla29SiZvBi3nPd1QaFH6tfaMpSZqmQ4mBl.Q gFP_iDWEUaGeTbZD1z4UL5Yd0xS.hjieZZ2pH4CQwo5ThMNpapVSP84Y1fWCAWwZDA1uFJ4GnDzH iyHK0we5Pe1d5FFrCgEueP4QowH1AYK6jscs1J2Lku5iBgwlCoWBeEYzv2qFyZwENqy8rQw4FgdO FanFc2Vl8IeMGNrK8t5l1ZpAzJmf0v.9HprH.z7y3ysr7FpHXXKe6YhbsQOwIK4sGGzaUl2OzUd7 ufbjzsbYvQkMpmE8BW5gYTHWazG3Tmlz0gqC4nZoa.uYXnKXGGVZC56jmkG.Uxq78QcIFTPpBk3f yJR2clmp0FQPh4CrSF8G.M9E7Ti.0xcwOMx8mtjzDu1eK7bKsH9_W9fr9ZbVLU.habQIb.M3hsTE 0ktGkysue2WO2v7fwDzR5__f2a_McTLfil_xNBJLRoo3PvM667K6FwWh8IIICT3gHStu_4wJUJdK ckCaD16VxPgkhoyFeIjv2Z6DkhyzKJM_Sueip8TdGfeKrLUC4yc4oVFze9NE_Y0MnViNaYlGYfuc eeHYfnaWAAP0953CoI3tmLdcetvJLyb0tCEfbR8u21RuX6bU26XfsYNExZS0ms4CY2VFE_8UKyMf xb7SLjeAh5oz2vZ0S5.lDqJNvi24l3oM6OQBIpS5rdU06kYtzIi0cXl3R5N2GoXMXTP4_QOsdVpm c X-Sonic-MF: X-Sonic-ID: 8414f0fe-f7ea-4da1-b92d-d7f069140a72 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Tue, 5 Sep 2023 18:14:02 +0000 Received: by hermes--production-ne1-7b767b77cc-84nnk (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 5a4ca8194b93390995b68eadfb6e18b4; Tue, 05 Sep 2023 18:13:56 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: An attempted test of main's "git: 2ad756a6bbb3" "merge openzfs/zfs@95f71c019" possible file odd result From: Mark Millard In-Reply-To: <28614E14-6C55-4183-9315-A098C392B3AC@yahoo.com> Date: Tue, 5 Sep 2023 11:13:43 -0700 Cc: dev-commits-src-main@freebsd.org, Current FreeBSD Content-Transfer-Encoding: 7bit Message-Id: <6A693136-8F3B-482D-A8B3-4179683061D6@yahoo.com> References: <673A446E-6F94-451E-910F-079F678C5289@yahoo.com> <2BDD30B5-6248-4EC3-83C8-0499E0717D1D@yahoo.com> <69028684-c2cd-8f0c-617f-d0763c08dbe4@FreeBSD.org> <8D832756-6754-4D1E-AE8D-E716FE08F747@yahoo.com> <5605506b-5059-fb72-3e5a-741863d54444@FreeBSD.org> <5724006A-F4C4-42CA-98A9-90C5EB914F5E@yahoo.com> <4E888EC8-4B06-4139-90DF-59AFBA700A5F@yahoo.com> <6990186B-E85B-4D64-8202-4B9ECBD876FD@yahoo.com> <28614E14-6C55-4183-9315-A098C392B3AC@yahoo.com> To: Alexander Motin X-Mailer: Apple Mail (2.3731.700.6) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.38 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.88)[-0.879]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.83:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.83:from]; DKIM_TRACE(0.00)[yahoo.com:+]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RgDCw1CcJz3dql Just FYI: For the specific machine/storage media combination used for the openzfs import testing, the following combination seemed to work well relative to the subject of the "odd result": A) /etc/sysctl.conf having "vfs.zfs.per_txg_dirty_frees_percent=30" B) autotrim off but use of "zpool trim -w zamd64" first, after any freeing of space by deleting files. (Probably again after the build and any cleanout of the tempprary results.) C) Avoid having more poudriere builders than hardware threads. Of course, the combination does not apply to media that does not have trim accessible (USB3, for example) --and that may not support trim in some cases (Optane, for example). By contrast . . . In a USB3 context, vfs.zfs.per_txg_dirty_frees_percent=30 did not work well because of the delete sequence when a builder is to be reused for its next build. vfs.zfs.per_txg_dirty_frees_percent=5 allowed more overall progress on that aarch64 system. The big cleanout of all the builders at the end is not the only consideration in setting vfs.zfs.per_txg_dirty_frees_percent (for at least some systems). === Mark Millard marklmi at yahoo.com From nobody Tue Sep 5 18:19:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgDLY5dWSz4skdZ; Tue, 5 Sep 2023 18:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgDLY57b1z4BYx; Tue, 5 Sep 2023 18:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kFu48XvBQo+tsZ30m/VoWV69jQy0mAYthsDpIZB8tg0=; b=gMvKGhfPpO3L+kfoGNSYv3nfn5K1X5dz/mn2y8iWyi8BwDQ2bnVdWmrOBVpm781N4dwzcy czpKHNXE5AUoK3B/y6+qMDeBLgXscz3seeWaI/U47K47ryPjMZdkr3yWKN1ipd95uNm9Wa VjAE6lAS4VJsu9dCnVtKydqFHPEJEacv2Zltio33fbauROnltLs1iio5I/PqSb/R7lnZcE jhhVGnqJg9wKuXJXyaBeU6zTnkN4Ne2xB3yPJmv8QdB3QMV8ensB7GhaRM+q/95dWOEVTi 4dsFaw4AJS8K0gntbNdDcKL146f6mu7HS1hkKn+9crHB7jrXjj/vS5FITmDJfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693937989; a=rsa-sha256; cv=none; b=GPLUESZS6Tw5D1vuSAqFeLDmLKjZ61ceLo+dtjYV1HV8aQPm9XMjc1DaTB6Pwpjlh/4oQe 3e3w74iFi7efnn9zj2YBU1fcXOobTeOBGtRIshKbmcd7cT2QKVR3FO42MWMrkrdY3YFon1 N7KsCNho7CnViLsX9r6k11qibBhMJImmegNEZNAAr6/r+JxOMTIQnXr22h4SINPbaX3LCp AJfyTJ1L6y9JI8C9hK5vT7gv2PhdrL3oN0bqUJY/bQfoukDrMHDsvrPpn6JSdVVLq1G5ws Z7Cz1CQ+Lc0nf1CT8789+Oy1grxWiwZF78HOIDQUvLUo3aa4P/E6TELlwCR5KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kFu48XvBQo+tsZ30m/VoWV69jQy0mAYthsDpIZB8tg0=; b=PkPgOxTCmjWy42b1YKbAnmK8nebnMe73u3aubZ+3TxrHPbgaMUEw+xSD5hQGIvETvFQMfu Q6DWF/Xz1fHd39pJy/94FqXoEU/dx8WEWEDjXaXbDhaQP8StoVQiXP/TRRTOeI5dH/szxH 4alc2Jeoy4/KghzJJyg7kRBj+zjgUxbYNnjiIRy31ZLqE1MSQaftuXqRR+o8qHqrfauBNs ZWa0sY6s4B1A5h3BSmlbA3X5eYJP4Mfv9EIBaCbrJMgvhGxuwiF6E6PX5ZF72VG97k0cpb FhzzzMEyWZZE53XKbD/X8BjdDpMVXD7+NN9ZKMD6XyLew3P+i9oAYFY1rLzWPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgDLY4512zjxk; Tue, 5 Sep 2023 18:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385IJnvO058389; Tue, 5 Sep 2023 18:19:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385IJngI058386; Tue, 5 Sep 2023 18:19:49 GMT (envelope-from git) Date: Tue, 5 Sep 2023 18:19:49 GMT Message-Id: <202309051819.385IJngI058386@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 553b1a4e4eb4 - main - linux(4): Deduplicate mprotect, madvise List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 553b1a4e4eb426d2c29a033b284c13bfbab30334 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=553b1a4e4eb426d2c29a033b284c13bfbab30334 commit 553b1a4e4eb426d2c29a033b284c13bfbab30334 Author: Dmitry Chagin AuthorDate: 2023-09-05 18:15:52 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 18:15:52 +0000 linux(4): Deduplicate mprotect, madvise MFC after: 1 week --- sys/amd64/linux/linux_machdep.c | 14 -------------- sys/amd64/linux32/linux32_machdep.c | 15 --------------- sys/arm64/linux/linux_machdep.c | 15 --------------- sys/compat/linux/linux_misc.c | 17 +++++++++++++++++ sys/i386/linux/linux_machdep.c | 14 -------------- 5 files changed, 17 insertions(+), 58 deletions(-) diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 2d2c5bb55ac8..7da1dccd6b45 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -97,20 +97,6 @@ linux_mmap2(struct thread *td, struct linux_mmap2_args *args) args->flags, args->fd, args->pgoff)); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - - return (linux_mprotect_common(td, uap->addr, uap->len, uap->prot)); -} - -int -linux_madvise(struct thread *td, struct linux_madvise_args *uap) -{ - - return (linux_madvise_common(td, uap->addr, uap->len, uap->behav)); -} - int linux_iopl(struct thread *td, struct linux_iopl_args *args) { diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index f6b14d8e4653..fb088ae37b26 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -62,7 +62,6 @@ #include #include #include -#include #include #include #include @@ -345,20 +344,6 @@ linux_mmap(struct thread *td, struct linux_mmap_args *args) (uint32_t)linux_args.pgoff)); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - - return (linux_mprotect_common(td, PTROUT(uap->addr), uap->len, uap->prot)); -} - -int -linux_madvise(struct thread *td, struct linux_madvise_args *uap) -{ - - return (linux_madvise_common(td, PTROUT(uap->addr), uap->len, uap->behav)); -} - int linux_iopl(struct thread *td, struct linux_iopl_args *args) { diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index 9c9d56ca9949..b9548387315b 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -77,21 +77,6 @@ linux_mmap2(struct thread *td, struct linux_mmap2_args *uap) uap->flags, uap->fd, uap->pgoff)); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - - return (linux_mprotect_common(td, PTROUT(uap->addr), uap->len, - uap->prot)); -} - -int -linux_madvise(struct thread *td, struct linux_madvise_args *uap) -{ - - return (linux_madvise_common(td, PTROUT(uap->addr), uap->len, uap->behav)); -} - int linux_set_cloned_tls(struct thread *td, void *desc) { diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 5e692fea1ea7..b9c67d513cd3 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include @@ -348,6 +349,22 @@ linux_msync(struct thread *td, struct linux_msync_args *args) args->fl & ~LINUX_MS_SYNC)); } +int +linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) +{ + + return (linux_mprotect_common(td, PTROUT(uap->addr), uap->len, + uap->prot)); +} + +int +linux_madvise(struct thread *td, struct linux_madvise_args *uap) +{ + + return (linux_madvise_common(td, PTROUT(uap->addr), uap->len, + uap->behav)); +} + #ifdef LINUX_LEGACY_SYSCALLS int linux_time(struct thread *td, struct linux_time_args *args) diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c index 8dbcbcd2609e..7f1738cda845 100644 --- a/sys/i386/linux/linux_machdep.c +++ b/sys/i386/linux/linux_machdep.c @@ -332,20 +332,6 @@ linux_mmap(struct thread *td, struct linux_mmap_args *args) (uint32_t)linux_args.pgoff)); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - - return (linux_mprotect_common(td, PTROUT(uap->addr), uap->len, uap->prot)); -} - -int -linux_madvise(struct thread *td, struct linux_madvise_args *uap) -{ - - return (linux_madvise_common(td, PTROUT(uap->addr), uap->len, uap->behav)); -} - int linux_ioperm(struct thread *td, struct linux_ioperm_args *args) { From nobody Tue Sep 5 18:19:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgDLZ6Q7pz4skMd; Tue, 5 Sep 2023 18:19:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgDLZ5c84z4BNq; Tue, 5 Sep 2023 18:19:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+Mh4pnAkl11m79imP4/gwtIZr4R55IXw/dcia42cqM=; b=FVnr2ON47u33qvXgxm3EqbDVkPS+trVORKpT2SVCnQLB7tfxQCWArxOQuacRbdEbsAU9va jokeCdYK1q1i5G4ivq4ViXKLCej8T/Z8Gk2HNVBNzXVrUUxp1kt+AyW5SshqPKQ73A4Uv4 hWr+xRWmHUXa6h4iUx0J1TQblTuZxa1EtWGVmPUhiBfWCEI7LZW2JoVxtMXVloBl8p5Wu/ +ao8fUJcs8nv87FQQxfV6UMh2+S4n3LWhDmF77m2236usaJMvTeV7VsfC4eub9WC0PxygW USFVzvx4iO+36q79W/bx/D+od/SaumrOaZBCA55GsRyB0c92x9jcyG+V4iBvjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693937990; a=rsa-sha256; cv=none; b=aat7HNOqXtvpG+kqo68E+4N0utnrhZQ6LPgJsHnAJx+Q6KjQN1ZfQKCjoP/kt28cP+KieP ZipzOKZVaPCz8h7lsHTmXLH5DQ+cBs0pnE+8YkJVFsT3t+DjH5g9RjBFXUvj0ittDI7Sw9 +9nZNjWxaLTxl1+HSQJAK24SFpa1oiHvtYjQPKTxZokbPZHpAhu8wfESlLUJAC6/OyfGIn n8UGSPNkTZG9Mj2xpl0F3owFxI6fFLp5DxXGxjOx1OFhx9v05maLwFcmepVi2uCZ/3bYxT BtxsT6BdC3QnC7PSrabXminBggkZpNZuC9upV+qHHLoimGznruMjclH/T6DDug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+Mh4pnAkl11m79imP4/gwtIZr4R55IXw/dcia42cqM=; b=x4dxJnj6sA1ogncJARg8MBVUTABw227zynhPssKBDOaIKr2o/X++O8gXcuskbhj1YxrQVT wO2CwiKOvKmjazgb9SgONO/HfHtZzv/nxgvUrrrej/X3LvlgR1W4UcWRB42KIjOunCjKcl PuVHMa3F9DO7CbeU/WyES6AeTK4Fh0W49HVLyoUYoIuwiQkVxxMy2Ms02OyoPfoOKEhybd D+KXxhWnTnrN9IzNrM4HZvH8DksWH9GPt1dxXhhS40/T7KfftSZ3rcOAFneI8BGnli6k5M ohIrx2ZuTiXQwA5IAklwibzQX9lDNRKhCGfC7NGmrvvgaGuEzqCg5Z0jWuSkqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgDLZ4jWzzk5s; Tue, 5 Sep 2023 18:19:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385IJoMZ058431; Tue, 5 Sep 2023 18:19:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385IJoRF058428; Tue, 5 Sep 2023 18:19:50 GMT (envelope-from git) Date: Tue, 5 Sep 2023 18:19:50 GMT Message-Id: <202309051819.385IJoRF058428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2a1cf1b6b55c - main - linux(4): Deduplicate mmap2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a1cf1b6b55c8326bbe85d0fdf17b0f2fb9b34ce Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2a1cf1b6b55c8326bbe85d0fdf17b0f2fb9b34ce commit 2a1cf1b6b55c8326bbe85d0fdf17b0f2fb9b34ce Author: Dmitry Chagin AuthorDate: 2023-09-05 18:16:39 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 18:16:39 +0000 linux(4): Deduplicate mmap2 To help porting the Linux emulation layer to a new platforms start using Linux names for conditional builds instead of architecture-specific ifdefs. MFC after: 1 week --- sys/amd64/linux/linux_machdep.c | 9 --------- sys/amd64/linux32/linux.h | 4 ++++ sys/amd64/linux32/linux32_machdep.c | 9 --------- sys/arm64/linux/linux_machdep.c | 18 ------------------ sys/compat/linux/linux_misc.c | 17 +++++++++++++++++ sys/i386/linux/linux.h | 2 ++ sys/i386/linux/linux_machdep.c | 9 --------- 7 files changed, 23 insertions(+), 45 deletions(-) diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 7da1dccd6b45..33ce902a45bd 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -69,7 +69,6 @@ #include #include #include -#include #include #define LINUX_ARCH_AMD64 0xc000003e @@ -89,14 +88,6 @@ linux_set_upcall(struct thread *td, register_t stack) return (0); } -int -linux_mmap2(struct thread *td, struct linux_mmap2_args *args) -{ - - return (linux_mmap_common(td, args->addr, args->len, args->prot, - args->flags, args->fd, args->pgoff)); -} - int linux_iopl(struct thread *td, struct linux_iopl_args *args) { diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 395548b3c93f..5542df1b3185 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -46,6 +46,10 @@ #define LINUX32_MAXSSIZ (64 * 1024 * 1024) /* 64MB */ #define LINUX32_MAXVMEM 0 /* Unlimited */ +#define LINUX_ARCHWANT_MMAP2PGOFF 1 /* 32-bit off_t want offset + * represented in multiples + * of page size. */ + /* * Provide a separate set of types for the Linux types. */ diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index fb088ae37b26..e10502f9bd80 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -320,15 +320,6 @@ linux_set_upcall(struct thread *td, register_t stack) return (0); } -int -linux_mmap2(struct thread *td, struct linux_mmap2_args *args) -{ - - return (linux_mmap_common(td, PTROUT(args->addr), args->len, args->prot, - args->flags, args->fd, (uint64_t)(uint32_t)args->pgoff * - PAGE_SIZE)); -} - int linux_mmap(struct thread *td, struct linux_mmap_args *args) { diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index b9548387315b..3ba5683941b5 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -32,25 +32,17 @@ #include #include #include -#include #include #include #include -#include #include #include -#include #include #define LINUX_ARCH_AARCH64 0xc00000b7 -/* DTrace init */ -LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); - -/* DTrace probes */ -LIN_SDT_PROBE_DEFINE0(machdep, linux_mmap2, todo); int linux_set_upcall(struct thread *td, register_t stack) @@ -67,16 +59,6 @@ linux_set_upcall(struct thread *td, register_t stack) return (0); } -/* LINUXTODO: deduplicate arm64 linux_mmap2 */ -int -linux_mmap2(struct thread *td, struct linux_mmap2_args *uap) -{ - - LIN_SDT_PROBE0(machdep, linux_mmap2, todo); - return (linux_mmap_common(td, PTROUT(uap->addr), uap->len, uap->prot, - uap->flags, uap->fd, uap->pgoff)); -} - int linux_set_cloned_tls(struct thread *td, void *desc) { diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index b9c67d513cd3..cb781f3bad75 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -365,6 +365,23 @@ linux_madvise(struct thread *td, struct linux_madvise_args *uap) uap->behav)); } +int +linux_mmap2(struct thread *td, struct linux_mmap2_args *uap) +{ +#if defined(LINUX_ARCHWANT_MMAP2PGOFF) + /* + * For architectures with sizeof (off_t) < sizeof (loff_t) mmap is + * implemented with mmap2 syscall and the offset is represented in + * multiples of page size. + */ + return (linux_mmap_common(td, PTROUT(uap->addr), uap->len, uap->prot, + uap->flags, uap->fd, (uint64_t)(uint32_t)uap->pgoff * PAGE_SIZE)); +#else + return (linux_mmap_common(td, PTROUT(uap->addr), uap->len, uap->prot, + uap->flags, uap->fd, uap->pgoff)); +#endif +} + #ifdef LINUX_LEGACY_SYSCALLS int linux_time(struct thread *td, struct linux_time_args *args) diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 643c240f8e37..914dc9c9ae84 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -38,6 +38,8 @@ #define LINUX_DTRACE linuxulator +#define LINUX_ARCHWANT_MMAP2PGOFF 1 + /* * Provide a separate set of types for the Linux types. */ diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c index 7f1738cda845..b5d42dc22162 100644 --- a/sys/i386/linux/linux_machdep.c +++ b/sys/i386/linux/linux_machdep.c @@ -308,15 +308,6 @@ linux_set_upcall(struct thread *td, register_t stack) return (0); } -int -linux_mmap2(struct thread *td, struct linux_mmap2_args *args) -{ - - return (linux_mmap_common(td, args->addr, args->len, args->prot, - args->flags, args->fd, (uint64_t)(uint32_t)args->pgoff * - PAGE_SIZE)); -} - int linux_mmap(struct thread *td, struct linux_mmap_args *args) { From nobody Tue Sep 5 18:19:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgDLc06kLz4skHP; Tue, 5 Sep 2023 18:19:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgDLb6h9Jz4CVM; Tue, 5 Sep 2023 18:19:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3rY4iK98Sao7vRvCuOc+Xz/OVx8UkhskYA93F9mZ6A0=; b=VG699LQviH4Mu7OSHMCULaD82kmj74M/vU21roC962Tb/ocHskN6SYWrxcC/HR/UqfYFQo 1bwJ8KQPREDqz6p6/QKTorJHgmBK+u2nZTXVxwkcxyIwTcq7y7kVkUImkirp3gAzXJ1Lvy JPU3LHK7vqOGbJmOCuUq60uKXw8wOCoi26WUEOaHHPlioJBCfmezstRCAQAiwzF2x9MISw 95pbHTbVeHibFc5pXeFxs8VqrrHesL4giJKfxSUBiMnoI0ZYF9hqdLh0zq1DwXtx794ddc 5cx5OdxjaqSCtNspe1cRCOCj01r5QEnhOldNdpk3zlmqnoGGC8s34R0dRHb18Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693937991; a=rsa-sha256; cv=none; b=vCoZ5oPqLSkOnDCCU9n7hKSqMJO1dA7cMOHNPRz+f6wJ6w5DG1fr0p8NZur5VPTm2lD0UA l20OpWipaTy91nM8y/5ft3m7INPo6BsUNXT1oVJ3ugrpQyMQmCD4pdja9ahPhqAfDP8dV8 KR9aMjir9F4rADzPh5/0E2ELZRnR/okZyLR4g75Mf79JGxdl5irqB2dcYrmHdru2PRtLym qI/Mx9EoRZNwovYMXBvDL4F9typjKhSxxwyl40dn8HJypGq+Ek/ilvocodxv9/112+CTZV 6mWV527AbhNFloR9RUlRCLnUfyBBGd47mOnu9Eo8BXeNMO/yx3IMeveY1UWNmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693937991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3rY4iK98Sao7vRvCuOc+Xz/OVx8UkhskYA93F9mZ6A0=; b=IazZuERV9tB+G4QCLve3A1eZvJE0wyLuwsmPYu8znrOSoKYS35cBxrYYYoI/kwotU89aCM R/AhwvEQelZ4U+8O5lG8O/oTCerqCGGgITxeCbWGzWZ4ONAvLZsBWVQsUjJIlU8ptCIuEE 5H2FHdIX/tU0/lPCwuSG/rEq96CTHqzV5RHY3s3YCeN4ylg2VloMsYaDVYdhxH+EAj4gwv xQMs/oIIlmSKrNsk+nJBZ0C9ijz8cMKQGcuJhfWef4ZU3K51thhc+E/+ijqicn3XPmymwY LMiUFS+kFoBei8+orND1f4uDmOyWDGavPKgc3dwfT7rqiWL7JBRaz/hWN/orhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgDLb5hV3zk5t; Tue, 5 Sep 2023 18:19:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385IJph9058477; Tue, 5 Sep 2023 18:19:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385IJpLW058474; Tue, 5 Sep 2023 18:19:51 GMT (envelope-from git) Date: Tue, 5 Sep 2023 18:19:51 GMT Message-Id: <202309051819.385IJpLW058474@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 20845a6994c5 - main - linux(4): Validate exec_setregs on arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20845a6994c548977874d1f413044d43c8474f0a Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=20845a6994c548977874d1f413044d43c8474f0a commit 20845a6994c548977874d1f413044d43c8474f0a Author: Dmitry Chagin AuthorDate: 2023-09-05 18:19:08 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-05 18:19:08 +0000 linux(4): Validate exec_setregs on arm64 The lr register is cleared at the beginning of the _dl_start and _start, so there is no need to initialize it. Gnu libc _start takes an rtld_fini pointer in x0 which is set by ld.so for __libc_start_main, the kernel does not register any atexit pointers. While here fix whitespaces. MFC after: 1 week --- sys/arm64/linux/linux_sysvec.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 885ac4657380..3072732de768 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -51,7 +51,6 @@ #include #include -#include #include #include #include @@ -107,12 +106,6 @@ static void linux_exec_sysvec_init(void *param); static int linux_on_exec_vmspace(struct proc *p, struct image_params *imgp); -/* DTrace init */ -LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); - -/* DTrace probes */ -LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo); - LINUX_VDSO_SYM_CHAR(linux_platform); LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); LINUX_VDSO_SYM_INTPTR(__user_rt_sigreturn); @@ -178,19 +171,9 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, struct trapframe *regs = td->td_frame; struct pcb *pcb = td->td_pcb; - /* LINUXTODO: validate */ - LIN_SDT_PROBE0(sysvec, linux_exec_setregs, todo); - memset(regs, 0, sizeof(*regs)); - /* glibc start.S registers function pointer in x0 with atexit. */ - regs->tf_sp = stack; -#if 0 /* LINUXTODO: See if this is used. */ - regs->tf_lr = imgp->entry_addr; -#else - regs->tf_lr = 0xffffffffffffffff; -#endif - regs->tf_elr = imgp->entry_addr; - + regs->tf_sp = stack; + regs->tf_elr = imgp->entry_addr; pcb->pcb_tpidr_el0 = 0; pcb->pcb_tpidrro_el0 = 0; WRITE_SPECIALREG(tpidrro_el0, 0); From nobody Tue Sep 5 19:09:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgFRj3Hj6z4rvVQ; Tue, 5 Sep 2023 19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgFRj2s4Bz4QkM; Tue, 5 Sep 2023 19: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=1693940961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAXXQ6aUA7cqOuglqweBZ84dtWX7DJX/tlyPc1B4tN4=; b=Rb9denQEwci5JhXs0MCJlukQ1qd/JXTvovqL0kbSaTKFZlyjICnftYSaQABtKy+hdzzZMh royQkwIHX+kocr08z1sGFVHd2J9LEpcf+mb2F0wnv2PACg19wRrSxixnoFwVfbjXyYRNtU ogPZY+6hEM7w1GYYyp6adv7cTv8q6q9/itYc1kqhmsCnxeCGrdInzSIxZXpZMlXUV5k8/c tK1X1JQiDsTy6OfA6XbBwxucE+LDu6iq+gi74gHQ4IOk4ut+A3kpVejpmkR4VbjjV9Uh0h Bo+CRyCkblFMpE95blOYhFUWIm5S4fpX1KbfJ2ocuvtcmWNJ93dQHB9Sp7UWqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693940961; a=rsa-sha256; cv=none; b=t8jO7MfTDKIRx/9+f2/AB6nlEmkaRNf40y+fH+SMRf9jpNyLazUchdMjFVoruNjYs0wQlf DuigoOS/t7Y/kxKvjVVtEJWSHLvD9CScLqEaD8oHttx7Ll7Am3tHc0z5AbVeFdu9fO6zrF nyTjDt8yMpIXvu4NYwynKGhQBOT8BaDlxqhunzvDytAqtuFUHJObsJzI72QkRwYUhxOv6l lLZ32SQcCbMZNRN1t7otOsf1QygegFPoN2Gq8o0t3F6k+krItGCF6uPCwAkDy56J65Gmh1 sBTwqlbasfulFQy+pFgwUt2z70EIo2M3Kmd2VjgK1lpd+kGWXmX6XkleFquJ3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693940961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAXXQ6aUA7cqOuglqweBZ84dtWX7DJX/tlyPc1B4tN4=; b=kcEWeIA2jRu3N5N5YbUDHFTfa0zrSMot6+jl4923vihCjNNYIaFOdbosZuYKCisFOQc8D/ e1bEdEjgXMi94nOPrC4+iqF9q7u9LErN/gsGGG2iBgji4OvTNX/B0bTdf9BdY/QP3Uve3A k6UnsMv0FT/0mLvRAzFkSvStUQVlQsyTQUfThCg1HrP2kl6e6y2Eb6SjfC9mLdPha2ksrm tmkutDMbw1p6z4sGOMFnv9Xt8YhZ3xMi1D7Qt4cwv2pHxatFGPFFFhnUOzLz5LopTyeghs BEoBv7IP2/UI/2R1GrF5StNFj5dOa67MnFgRA79hTdP6kJKtV/vWradixSV02w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgFRj1qX0zlbZ; Tue, 5 Sep 2023 19:09:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385J9LmE042176; Tue, 5 Sep 2023 19:09:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385J9Lnf042173; Tue, 5 Sep 2023 19:09:21 GMT (envelope-from git) Date: Tue, 5 Sep 2023 19:09:21 GMT Message-Id: <202309051909.385J9Lnf042173@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 3a7ffe206ce7 - main - localedef: expand the default charmap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a7ffe206ce7e4741fae26432f6d6e5159207f45 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=3a7ffe206ce7e4741fae26432f6d6e5159207f45 commit 3a7ffe206ce7e4741fae26432f6d6e5159207f45 Author: Kyle Evans AuthorDate: 2023-09-02 06:13:02 +0000 Commit: Kyle Evans CommitDate: 2023-09-05 19:08:59 +0000 localedef: expand the default charmap POSIX defines a number of other control characters as well as alternative aliases for some that should be provided in the default set, so let's go ahead and add those. Reviewed by: bapt, yuripv Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D41692 --- usr.bin/localedef/charmap.c | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/usr.bin/localedef/charmap.c b/usr.bin/localedef/charmap.c index 44b7e3292eae..1da4d8921ecb 100644 --- a/usr.bin/localedef/charmap.c +++ b/usr.bin/localedef/charmap.c @@ -70,13 +70,49 @@ static const struct { int ch; } portable_chars[] = { { "NUL", '\0' }, + { "SOH", '\x01' }, + { "STX", '\x02' }, + { "ETX", '\x03' }, + { "EOT", '\x04' }, + { "ENQ", '\x05' }, + { "ACK", '\x06' }, + { "BEL", '\a' }, { "alert", '\a' }, + { "BS", '\b' }, { "backspace", '\b' }, + { "HT", '\t' }, { "tab", '\t' }, - { "carriage-return", '\r' }, + { "LF", '\n' }, { "newline", '\n' }, + { "VT", '\v' }, { "vertical-tab", '\v' }, + { "FF", '\f' }, { "form-feed", '\f' }, + { "CR", '\r' }, + { "carriage-return", '\r' }, + { "SO", '\x0e' }, + { "SI", '\x0f' }, + { "DLE", '\x10' }, + { "DC1", '\x11' }, + { "DC2", '\x12' }, + { "DC3", '\x13' }, + { "DC4", '\x14' }, + { "NAK", '\x15' }, + { "SYN", '\x16' }, + { "ETB", '\x17' }, + { "CAN", '\x18' }, + { "EM", '\x19' }, + { "SUB", '\x1a' }, + { "ESC", '\x1b' }, + { "FS", '\x1c' }, + { "IS4", '\x1c' }, + { "GS", '\x1d' }, + { "IS3", '\x1d' }, + { "RS", '\x1e' }, + { "IS2", '\x1e' }, + { "US", '\x1f' }, + { "IS1", '\x1f' }, + { "DEL", '\x7f' }, { "space", ' ' }, { "exclamation-mark", '!' }, { "quotation-mark", '"' }, From nobody Tue Sep 5 19:09:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgFRk3wSxz4rvjW; Tue, 5 Sep 2023 19:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgFRk3RX2z4QvQ; Tue, 5 Sep 2023 19:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693940962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/gdkH7TDP2RW+IjmkxHalXrjSCwBNTdfVWSLOnoWX/4=; b=iaNOstNrLqNZQvUUfa179+Td8vBLCVu2W1SOu4mFnwlMI41FLpVEsP9GA8NmVevydEjhlM c2Tgx1yslq9E+zrC3OELHcY7Y/NiZTZkH6CoGwpd9RCT1b0NL+Q/JDOxJWe8tQ1EBhaGXw qaexeTYxPiRoq2mMdcTkcQa4prwVHvJjj2xDD0NzaEmQqCu9BC2WOiX72AYiM9nQiPOhlk 15IA7ADQV9OKHcis/8qXAk/BNt7tjIDOXxWbeeiCypurLf0vElnBFGcTzgXtdqNgYsqbMA eNF7b+2ZpA0UKvd8gsrgv/kmu8q6Ayuf5dCcut3eYxtti1zAG7MJyJNL4bWfqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693940962; a=rsa-sha256; cv=none; b=oRRjHZlJNm50NwEZkL69OCbQGmn+Zu/1G2G0cA/0St0XA267wXYSFOWlGJW++1mek7T4QW W9h1MriQj4UJgDg9xobTmn5+OrRBNVYV/YJTkXxTlMT6p9HSL1P/xedJ3HBeU9y5WZB8el BnNb2RgrVpHGuNj1MxwlIA5WBfuHW6yPY1FL8ryXC0WwXnlBlUXhU34ECa60xhFTiG9Dnt Xy8BEP9eA76WVgYM6iV4+mhBS5kism2L5yi56A0Hq1MecDiVKHqXTUgyjWCGEqTcCKecQZ 5thhR5uglMVaZsBBn2S8ajphE6XXXRFoIcYD+Lv7hdF70o1BCoat/Y/YuAxGPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693940962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/gdkH7TDP2RW+IjmkxHalXrjSCwBNTdfVWSLOnoWX/4=; b=ISX6fnaS1GPblWZr/OTEi32SH98tbg4NlQCWZ+7L9Na1FyS9dYy4kDlI+DLFvleGc/tNnH hTLAVHbp/BydJmvSh/k7rjVivwplSSqXhijcn23BiGcxFJGhyC2jfprdjWsvaDr9tAifjg UHzBS8eFQLUBItOerHzNRu9C7LupsaFoLC64CAOt1yaj4PXmuqJLey/x4Z0LX8AiDnVQN9 C0WE2qJaFNRR1EEEBfx/7r0S/Yo+IuzsjHFMKuy7lXflVs1PdNdsivOHv0O7yIF1wyse+9 PL5298blxpppA54feSOfu3NkBz1konhGlIeVjLV7DNO7loPR1YHDKdEqDVeR1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgFRk2TLZzlYS; Tue, 5 Sep 2023 19:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385J9MQi042223; Tue, 5 Sep 2023 19:09:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385J9Mi0042220; Tue, 5 Sep 2023 19:09:22 GMT (envelope-from git) Date: Tue, 5 Sep 2023 19:09:22 GMT Message-Id: <202309051909.385J9Mi0042220@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 3141e51d2e38 - main - localedef: add newlines to error messages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3141e51d2e38fa7b9e6d81477dfa860d087c514d Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=3141e51d2e38fa7b9e6d81477dfa860d087c514d commit 3141e51d2e38fa7b9e6d81477dfa860d087c514d Author: Kyle Evans AuthorDate: 2023-09-02 06:24:34 +0000 Commit: Kyle Evans CommitDate: 2023-09-05 19:08:59 +0000 localedef: add newlines to error messages These won't be added elsewhere, so add a little bit of room to make these messages a little easier to read. The existing set is a mixed bag, there are somewhere in the ballpark of 45, 46 printfs to stderr and 19 of those had newlines. Reviewed by: yuripv Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D41693 --- usr.bin/localedef/collate.c | 34 +++++++++++++++++----------------- usr.bin/localedef/localedef.c | 4 ++-- usr.bin/localedef/localedef.h | 2 +- usr.bin/localedef/monetary.c | 4 ++-- usr.bin/localedef/numeric.c | 2 +- usr.bin/localedef/time.c | 8 ++++---- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/usr.bin/localedef/collate.c b/usr.bin/localedef/collate.c index d76c2c2c08b2..2a080773a95e 100644 --- a/usr.bin/localedef/collate.c +++ b/usr.bin/localedef/collate.c @@ -272,7 +272,7 @@ new_pri(void) maxpri = maxpri ? maxpri * 2 : 1024; prilist = realloc(prilist, sizeof (collpri_t) * maxpri); if (prilist == NULL) { - fprintf(stderr,"out of memory"); + fprintf(stderr,"out of memory\n"); return (-1); } for (i = numpri; i < maxpri; i++) { @@ -333,7 +333,7 @@ resolve_pri(int32_t ref) if (pri->pass == pass) { /* report a line with the circular symbol */ lineno = pri->lineno; - fprintf(stderr,"circular reference in order list"); + fprintf(stderr,"circular reference in order list\n"); return (-1); } if ((pri->pri < 0) || (pri->pri >= numpri)) { @@ -494,7 +494,7 @@ define_collsym(char *name) collsym_t *sym; if ((sym = calloc(1, sizeof(*sym))) == NULL) { - fprintf(stderr,"out of memory"); + fprintf(stderr,"out of memory\n"); return; } sym->name = name; @@ -541,7 +541,7 @@ get_collundef(char *name) if ((ud = RB_FIND(collundefs, &collundefs, &srch)) == NULL) { if (((ud = calloc(1, sizeof(*ud))) == NULL) || ((ud->name = strdup(name)) == NULL)) { - fprintf(stderr,"out of memory"); + fprintf(stderr,"out of memory\n"); free(ud); return (NULL); } @@ -565,7 +565,7 @@ get_collchar(wchar_t wc, int create) cc = RB_FIND(collchars, &collchars, &srch); if ((cc == NULL) && create) { if ((cc = calloc(1, sizeof(*cc))) == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return (NULL); } for (i = 0; i < NUM_WT; i++) { @@ -687,7 +687,7 @@ start_order(int type) /* this is used to protect ELLIPSIS processing */ if ((lastorder == T_ELLIPSIS) && (type != T_CHAR)) { - fprintf(stderr, "character value expected"); + fprintf(stderr, "character value expected\n"); } for (i = 0; i < COLL_WEIGHTS_MAX; i++) { @@ -728,7 +728,7 @@ start_order_char(wchar_t wc) int i; if (wc < ellipsis_start) { - fprintf(stderr, "malformed range!"); + fprintf(stderr, "malformed range!\n"); return; } while (ellipsis_start < wc) { @@ -776,7 +776,7 @@ start_order_ellipsis(void) start_order(T_ELLIPSIS); if (lastorder != T_CHAR) { - fprintf(stderr, "illegal starting point for range"); + fprintf(stderr, "illegal starting point for range\n"); return; } @@ -792,12 +792,12 @@ define_collelem(char *name, wchar_t *wcs) int i; if (wcslen(wcs) >= COLLATE_STR_LEN) { - fprintf(stderr,"expanded collation element too long"); + fprintf(stderr,"expanded collation element too long\n"); return; } if ((e = calloc(1, sizeof(*e))) == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } e->expand = wcs; @@ -816,7 +816,7 @@ define_collelem(char *name, wchar_t *wcs) /* A character sequence can only reduce to one element. */ if ((RB_FIND(elem_by_symbol, &elem_by_symbol, e) != NULL) || (RB_FIND(elem_by_expand, &elem_by_expand, e) != NULL)) { - fprintf(stderr, "duplicate collating element definition"); + fprintf(stderr, "duplicate collating element definition\n"); free(e); return; } @@ -932,7 +932,7 @@ add_order_subst(void) if (s == NULL) { if ((s = calloc(1, sizeof(*s))) == NULL) { - fprintf(stderr,"out of memory"); + fprintf(stderr,"out of memory\n"); return; } s->key = new_pri(); @@ -976,7 +976,7 @@ static void add_subst_pri(int32_t ref) { if (curr_subst >= COLLATE_STR_LEN) { - fprintf(stderr,"substitution string is too long"); + fprintf(stderr,"substitution string is too long\n"); return; } subst_weights[curr_subst] = ref; @@ -1040,7 +1040,7 @@ add_weight(int32_t ref, int pass) return; if ((w = calloc(1, sizeof(*w))) == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } w->pri = srch.pri; @@ -1214,7 +1214,7 @@ dump_collate(void) RB_COUNT(temp, substs, &substs[i], n); subst_count[i] = n; if ((st = calloc(n, sizeof(collate_subst_t))) == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } n = 0; @@ -1245,7 +1245,7 @@ dump_collate(void) RB_NUMNODES(collelem_t, elem_by_expand, &elem_by_expand, chain_count); chain = calloc(chain_count, sizeof(collate_chain_t)); if (chain == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } n = 0; @@ -1265,7 +1265,7 @@ dump_collate(void) RB_NUMNODES(collchar_t, collchars, &collchars, n); large = calloc(n, sizeof(collate_large_t)); if (large == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } diff --git a/usr.bin/localedef/localedef.c b/usr.bin/localedef/localedef.c index ae0bd052b40c..5ff146d6f655 100644 --- a/usr.bin/localedef/localedef.c +++ b/usr.bin/localedef/localedef.c @@ -167,7 +167,7 @@ copy_category(char *src) } if (rv != 0) { - fprintf(stderr,"source locale data unavailable: %s", src); + fprintf(stderr,"source locale data unavailable: %s\n", src); return; } @@ -182,7 +182,7 @@ copy_category(char *src) (void) mkdir(dirname(category_file()), 0755); if (link(srcpath, category_file()) != 0) { - fprintf(stderr,"unable to copy locale data: %s", + fprintf(stderr,"unable to copy locale data: %s\n", strerror(errno)); return; } diff --git a/usr.bin/localedef/localedef.h b/usr.bin/localedef/localedef.h index 2aece1543d5b..4b141ac8dc09 100644 --- a/usr.bin/localedef/localedef.h +++ b/usr.bin/localedef/localedef.h @@ -174,4 +174,4 @@ const char *get_wide_encoding(void); int max_wide(void); //#define _(x) gettext(x) -#define INTERR fprintf(stderr,"internal fault (%s:%d)", __FILE__, __LINE__) +#define INTERR fprintf(stderr,"internal fault (%s:%d)\n", __FILE__, __LINE__) diff --git a/usr.bin/localedef/monetary.c b/usr.bin/localedef/monetary.c index 659c495a71fe..7a77ac7e256c 100644 --- a/usr.bin/localedef/monetary.c +++ b/usr.bin/localedef/monetary.c @@ -93,7 +93,7 @@ add_monetary_num(int n) (void) asprintf(&str, "%d", n); if (str == NULL) { - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); return; } @@ -167,7 +167,7 @@ add_monetary_group(int n) (void) asprintf(&s, "%s;%d", mon.mon_grouping, n); } if (s == NULL) - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); free((char *)mon.mon_grouping); mon.mon_grouping = s; diff --git a/usr.bin/localedef/numeric.c b/usr.bin/localedef/numeric.c index 358355fe96ae..5533b7c10e1a 100644 --- a/usr.bin/localedef/numeric.c +++ b/usr.bin/localedef/numeric.c @@ -93,7 +93,7 @@ add_numeric_group(int n) (void) asprintf(&s, "%s;%d", numeric.grouping, n); } if (s == NULL) - fprintf(stderr, "out of memory"); + fprintf(stderr, "out of memory\n"); free((char *)numeric.grouping); numeric.grouping = s; diff --git a/usr.bin/localedef/time.c b/usr.bin/localedef/time.c index 2de922a8eb12..7a56e244c921 100644 --- a/usr.bin/localedef/time.c +++ b/usr.bin/localedef/time.c @@ -104,7 +104,7 @@ add_list(const char *ptr[], char *str, int limit) return; } } - fprintf(stderr,"too many list elements"); + fprintf(stderr,"too many list elements\n"); } void @@ -137,7 +137,7 @@ add_time_list(wchar_t *wcs) } else if (tm.pm == NULL) { tm.pm = str; } else { - fprintf(stderr,"too many list elements"); + fprintf(stderr,"too many list elements\n"); free(str); } break; @@ -180,11 +180,11 @@ check_time_list(void) case T_ALT_DIGITS: return; default: - fprintf(stderr,"unknown list"); + fprintf(stderr,"unknown list\n"); break; } - fprintf(stderr,"too few items in list (%d)", last_kw); + fprintf(stderr,"too few items in list (%d)\n", last_kw); } void From nobody Tue Sep 5 20:37:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgHPQ332sz4sg1m; Tue, 5 Sep 2023 20:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgHPQ2W8mz3MTC; Tue, 5 Sep 2023 20:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693946250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yok/EQP09prjdpmpsb2WwhiEs3wlcQkFABn1mms6BCw=; b=pJ7JEcBgil8tnw8OUV6be5iYrKLozVsFN9/8himhlFLyLQ1CG5lQwS4shbowp7s4can6UX riXVY0wfvTY5KKpUPQiTjomM0uVdRlCB7APNpxwpdCuDEH5XxOSTKcRsbq/UKhSRPokNed QzZczYF7iNlgGypIUoi4YtRY2le4aTCiGPMC7GuzCoZlly1NVOhUzf/X02ciAdSw2peBZ0 x+hXCjaUi4K3qhR2pzCHZZrv2CIW4HrJcefDVuU4Y874QncqWlIfQ8O62wCoaHzsx/4nwg DrATVCrPuEjmOdd5C7GSVIa5JN2+aTpVPkVabe0HTDQL+1volgxc3Ur6Df1b+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693946250; a=rsa-sha256; cv=none; b=FoAd5gykHQuC2FrcKfxIfZ1O3Lxv6ghpjntOEcTySMnOX6TpnQKKOuwOC5XcmlSv2S4SN5 0govI60QvdcB02bBkdBZSpU135+fkTPn5dPLaxiiLQOq1LLvidn6aKZw276k5m6lm0rkHZ YZZmR+FVfUUV/KpI/GlC0S8wCo7AR/YKvK6o0YqgElK1iKonE3HvVGF9kGpZB8vnIpdSij W5zzPAqJv71TL1DI4yT+Yq0cyK406j5RoVhsLMZHppev3idJwAQSWAYqJFLgSz01ojz90T JVGvEd2vKmUEBeK4zjfIh2iV31iAZ4z/rfFvtO5dPyh9xbu3Hu0HZIG+VFvnIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693946250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yok/EQP09prjdpmpsb2WwhiEs3wlcQkFABn1mms6BCw=; b=sttYknPE/qJRwo4hWN/ERcbexyJ+YxloCv0gL1/mmKG/j2xFk+IhiCrU/nczdXHXln1wCM Z7wrFRBKCzqBYf8xcyoZRyX0/TMK7rXgpdSwoTbRfLo91vdAwyNrdGzlg6I/rr1PNct150 Otl7u7dpuGi1nT9qXbukQ92DyhZyECNlwqlHUeNrj49xEqRXrMjSEFXSmSbqUbRCX1S3k+ FQ6hJDZCePvOyh+nDdkvSJQIEXzjx0nhWItz+rH9Rf7asThS0Cti2XEVN2/syIO3CWztTD Q3EPplNDl/pPiCh0W+rLqWEPXyGd3VcDuxLlthEjtv/d/OBiXZilF3P3IjR8Ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgHPQ1SnRznpT; Tue, 5 Sep 2023 20:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385KbU5H090759; Tue, 5 Sep 2023 20:37:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385KbUph090756; Tue, 5 Sep 2023 20:37:30 GMT (envelope-from git) Date: Tue, 5 Sep 2023 20:37:30 GMT Message-Id: <202309052037.385KbUph090756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 165234d55274 - main - jail.conf(5): Fix and expand description of ".include". List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 165234d5527440b7755b01554ff7633e33c0d285 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=165234d5527440b7755b01554ff7633e33c0d285 commit 165234d5527440b7755b01554ff7633e33c0d285 Author: Jamie Gritton AuthorDate: 2023-09-05 20:35:54 +0000 Commit: Jamie Gritton CommitDate: 2023-09-05 20:35:54 +0000 jail.conf(5): Fix and expand description of ".include". Escape a period that caused a line not to be includesd. Also mention that glob(3) patterns may be included, and a consequence of that. PR: 273561 Reported by: crest@rlwinm.de Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41723 --- usr.sbin/jail/jail.conf.5 | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/usr.sbin/jail/jail.conf.5 b/usr.sbin/jail/jail.conf.5 index 33a66c85e7ea..0b82a972020c 100644 --- a/usr.sbin/jail/jail.conf.5 +++ b/usr.sbin/jail/jail.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd Jun 3, 2023 +.Dd September 5, 2023 .Dt JAIL.CONF 5 .Os .Sh NAME @@ -164,11 +164,22 @@ and .Ss Includes A line of the form .Bd -literal -offset ident -.include "filename"; +\&.include "filename"; .Ed .Pp -will include another file in the configuration. The filename must be -a literal string, and cannot contain variable expansions. +will include another file (or files) in the configuration. +The filename should be either absolute, or relative to the +configuration file's directory. It cannot contain variable +expansions, but may contain +.Xr glob 3 +patterns. +.Pp +The included file must exist, though a filename glob may match zero or +more files. This allows inclusion of any/all files in a directory, +such as +.Dq /etc/jail.conf.d/*.conf , +or conditional inclusion of a single file, such as +.Dq jail.foo[.]conf . .Ss Comments The configuration file may contain comments in the common C, C++, and shell formats: From nobody Tue Sep 5 21:16:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgJGp0SDnz4s2FV; Tue, 5 Sep 2023 21:16:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgJGn72KKz3Yg5; Tue, 5 Sep 2023 21:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9uiBEK+AK7wAq1x08CIA2ltQpSdB04ho9Rus5B1nPLs=; b=MIkSyrl9Z6RSWdlT9h99I8AuFO46yC1cZu6BykMqerMqohK8k8v14qKkXp5Y2cgyC+O3iR u8nj8enxKlN5DWn7hh5rtDuTPOgLLLYUa5S6Hep8G0aGOGWxi0FyLJse/HknduJtqMeR0a a2CNYOL4Aox3RiekE/YaDV7EWKQEAB0t6VA0EPDqguUzikA+7VSLR87iqxCXsO4lLexiHK SGOiZ9KAkzxAzTWTrXJifMGZvM/Wg7/pHrT2vxXmkEWZYNdckANgt2yyveH9fOOrNpPW5z Au3MQ+o0GI35v4ggs3IqxPDux4dwe54uxKIYvFF9zw0j9mPTG7lE+Yu+Uy7v4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693948610; a=rsa-sha256; cv=none; b=dHL3/6nbRqTRwg6RiIgb0e08i7qDr87EPT3XvRBdizbFnGFPZRh+hpwC4xyIRZJjnt40zr dU110SeT6WxdI5rLj+hicqH1axy0BD/hUvIeF8ASIOXRkR0D8QzBQ5ZlQCL669NOjZoThV pnpIf+a9hOdJsl8eTL6HW5/T3edkEZsz5r1K5XQ+JioxU90bT9NdZq/MBwzwNgRH5mJxC3 3F9TgzwC7zxutey3uLCtxjbK+S2TK3NvtBeAjJ7AyR4iy1psAEjPfrw/i3nAyDQUpSSjCW dv+ccqbQhEupPVRyiwhDySHVRCJfd9qaukZtrIT2DIlg8ROHF/iI+xrI6CVjzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9uiBEK+AK7wAq1x08CIA2ltQpSdB04ho9Rus5B1nPLs=; b=lghF7NBP6DWtkhAnPbtWKwIrQMp1f5nd40b6hCE2N12qJap5+n5P00CSqJdisK/ie1IXdn nsHGyte9GnKjNMKfpdWnWCnWQ977AYgHSC4bbyX832ndNj6z4CuhxOg+tzaO7lUqbmIz2v 06czALJl8onvdyAWt+Sn3yy3k0yQ4c6+FE3sMKDL++zkjt6K4+cPJ7OMF7MewjXzVJvZ5l qlhlUx/2yvW7Lghbu2mqTOgtnNiQGJMcix0mvJRWLDy3AYtaetslfFSUbkA32bfGVD9Cus qxnxZdkI+E6cjyQc14VBnEfulQBKES9D4Qpl4OVvhftFbuHGfU4iQFWWljyVmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgJGn5Y0rzpb7; Tue, 5 Sep 2023 21:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385LGnnI059738; Tue, 5 Sep 2023 21:16:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385LGnxM059735; Tue, 5 Sep 2023 21:16:49 GMT (envelope-from git) Date: Tue, 5 Sep 2023 21:16:49 GMT Message-Id: <202309052116.385LGnxM059735@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: aece2a4fb1b3 - main - rtw88: detach firmware from build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aece2a4fb1b3e4904b7980947c2a89a96d07f6ba Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=aece2a4fb1b3e4904b7980947c2a89a96d07f6ba commit aece2a4fb1b3e4904b7980947c2a89a96d07f6ba Author: Bjoern A. Zeeb AuthorDate: 2023-06-08 21:24:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-05 21:13:18 +0000 rtw88: detach firmware from build Firmware is kept in ports now and fwget will find the right one to install. MFC after: 20 days X-MFC: will see about 14/13 --- sys/modules/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 4b98c7ed6e0d..3eff75312fd3 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -339,7 +339,6 @@ SUBDIR= \ ${_rockchip} \ rtsx \ ${_rtw88} \ - ${_rtw88fw} \ rtwn \ rtwn_pci \ rtwn_usb \ @@ -567,9 +566,6 @@ _iwlwififw= iwlwififw .endif _ossl= ossl _rtw88= rtw88 -.if ${MK_SOURCELESS_UCODE} != "no" -_rtw88fw= rtw88fw -.endif _vmware= vmware .endif From nobody Tue Sep 5 21:16:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgJGq1CRvz4s2MD; Tue, 5 Sep 2023 21:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgJGq0pPKz3YPT; Tue, 5 Sep 2023 21:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eVBJASkxTUweSqYIVNmJBhTqDwIRGlt/fZ6jXCcK5Hk=; b=dZxGu7sw2h7A7W59dDJ7MUhElUeBoMrT5vOxoG/aP4UEvN8uKn7Z5mS17phvvYKnFFog67 pOhiZG5BUcDVHsmnCwm0nW2M+l6A2eyBhlzDixOCXU8I5ulfhMPybquUotYLN2SM/k96ZH tKRRybw4TRtB2n7cRj2vgWOqjOZtsLVuvSMIjx0p3J8YyFSQToDXHz0Bt19EyPzwjZ9t8j 05G//kpJsvX82SFayyAV+0LuYsoHdcjUPQl/KHnpr1wz5aPyTvY6tiocBVJY8u25I69kV0 p61KYOyIV814u89pTAeFKhwVInyhbdL5jmMvdnZWyntdx0+cs6doRJ4DhO94KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693948611; a=rsa-sha256; cv=none; b=mAnGldN4ps5y9GcdWoRxIGVMzKXKl/A8jfJJLaJhZwtotLgctRum4MHVhY/QhtUApdi4OG 6Fls07T997XTn9vIFEPAzn91z/z+yH4BJ0RAFDBoZR7kQgeXDwnt+M9itJ7H0mXE+JZGZX V0DT75LhO3t1y8vZ8gW+6rGkBDRQ/Nh3Q/nj4RvSHAp2XB1s3dqHdYrJ2hcoTqjwSjyb/R YElHn2RqUQ1ClvmS2QziyHhuxq54bSBJ7KI84/AuqM2D16tBkiO3EJ+Plrb4JPcsmSMNm8 cVukIl42QQawwe4TAt+OqdVdS0PU8cwdrFTh0Kt4Wcc8VbF/hvJPtC9FEE5ezA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eVBJASkxTUweSqYIVNmJBhTqDwIRGlt/fZ6jXCcK5Hk=; b=lcO9XwkUisRz7XYNLMsnD3YXlemTsa+mkTJkGgrO0rit9M4FV6R65tGXua32scxesfNaF4 64FLOO+3xHwO9iYn7X+lY/8Tlqoe305Ckc1QgRsPlYodWXdsy5gfDNdrO1mPPwTaacZ4DA ccMfvWxr3MGDwaWN3weJp6hnd+98gyACvQ0Enzs6NKSuROD7uswZFRaDqmsa6kPx1lMk99 ZtRbwn5gKffhCjb6DWq9ARSOKq84mMOpoJDaLLlLxCtoSsUsjJMEaKEtoOa650TkytEC1p MIgvEFz2XLeMFALwTDRCK9fZ9gUDYrSBdN+VTzIZBoKpOB+rc5fqyl8WcrAnfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgJGp6cvfzpb8; Tue, 5 Sep 2023 21:16:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385LGoKH059787; Tue, 5 Sep 2023 21:16:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385LGoau059784; Tue, 5 Sep 2023 21:16:50 GMT (envelope-from git) Date: Tue, 5 Sep 2023 21:16:50 GMT Message-Id: <202309052116.385LGoau059784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf94672363d6638b7268c05b4628b62bbfc8dbe5 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 Author: Bjoern A. Zeeb AuthorDate: 2023-06-08 21:35:09 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-05 21:13:18 +0000 rtw88/rtw89: remove local firmware. Remove firmware from src/ in favor of the ports/packages and fwget(8). This will allow us to shrink the size of src (and installed modules). Update the rtw88 man page to reflect the change. MFC after: 20 days X-MFC: will see about 14/13 --- ObsoleteFiles.inc | 3 ++ share/doc/legal/Makefile | 3 +- share/doc/legal/realtek_rtw88/Makefile | 6 --- share/man/man4/Makefile | 1 - share/man/man4/rtw88.4 | 21 ++++++-- share/man/man4/rtw88fw.4 | 54 --------------------- .../dev/rtw88fw/LICENCE.rtlwifi_firmware.txt | 39 --------------- sys/contrib/dev/rtw88fw/README | 34 ------------- sys/contrib/dev/rtw88fw/WHENCE | 19 -------- sys/contrib/dev/rtw88fw/rtw8723d_fw.bin | Bin 28884 -> 0 bytes sys/contrib/dev/rtw88fw/rtw8821c_fw.bin | Bin 138984 -> 0 bytes sys/contrib/dev/rtw88fw/rtw8822b_fw.bin | Bin 150984 -> 0 bytes sys/contrib/dev/rtw88fw/rtw8822c_fw.bin | Bin 200312 -> 0 bytes sys/contrib/dev/rtw88fw/rtw8822c_wow_fw.bin | Bin 145224 -> 0 bytes .../dev/rtw89fw/LICENCE.rtlwifi_firmware.txt | 39 --------------- sys/contrib/dev/rtw89fw/WHENCE | 8 --- sys/contrib/dev/rtw89fw/rtw8852a_fw.bin | Bin 1423232 -> 0 bytes sys/contrib/dev/rtw89fw/rtw8852c_fw.bin | Bin 1340192 -> 0 bytes 18 files changed, 20 insertions(+), 207 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 98644685d83e..55a198db4d04 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230905 +OLD_FILES+=usr/share/doc/legal/realtek_rtw88_firmware.LICENCE + # 20230828 MOVED_LIBS+=usr/lib/librt.so.1 diff --git a/share/doc/legal/Makefile b/share/doc/legal/Makefile index 3a17e2f614e5..8e674019e9a2 100644 --- a/share/doc/legal/Makefile +++ b/share/doc/legal/Makefile @@ -4,8 +4,7 @@ SUBDIR= intel_ipw \ intel_iwlwififw \ intel_iwn \ intel_wpi \ - realtek \ - realtek_rtw88 + realtek SUBDIR_PARALLEL= diff --git a/share/doc/legal/realtek_rtw88/Makefile b/share/doc/legal/realtek_rtw88/Makefile deleted file mode 100644 index fa98e7c6094e..000000000000 --- a/share/doc/legal/realtek_rtw88/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -FILES= ${SRCTOP}/sys/contrib/dev/rtw88fw/LICENCE.rtlwifi_firmware.txt -FILESDIR= ${SHAREDIR}/doc/legal -FILESNAME= realtek_rtw88_firmware.LICENCE - -.include diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 148670072757..98fdfe428d99 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -471,7 +471,6 @@ MAN= aac.4 \ rtnetlink.4 \ rtsx.4 \ rtw88.4 \ - rtw88fw.4 \ rtwn.4 \ rtwnfw.4 \ rtwn_pci.4 \ diff --git a/share/man/man4/rtw88.4 b/share/man/man4/rtw88.4 index 6036ad62d84d..01572af8cbd3 100644 --- a/share/man/man4/rtw88.4 +++ b/share/man/man4/rtw88.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 22, 2023 +.Dd June 8, 2023 .Dt RTW88 4 .Os .Sh NAME @@ -42,10 +42,6 @@ to manually load the driver as a module at boot time: kld_list="${kld_list} if_rtw88" .Ed .Pp -The driver should automatically load any -.Xr rtw88fw 4 -firmware needed for the particular chipset. -.Pp It is discouraged to load the driver from .Xr loader 8 . .Sh DESCRIPTION @@ -61,6 +57,20 @@ the following chipsets: .It Realtek 802.11ac wireless 8822ce (RTL8822CE) .El .Pp +This driver requires firmware to be loaded before it will work. +The package +.Pa wifi-firmware-rtw88-kmod +from the +.Pa ports/net/wifi-firmware-rtw88-kmod +port needs to be installed before the driver is loaded. +Otherwise no +.Xr wlan 4 +interface can be created using +.Xr ifconfig 8 . +One can use +.Xr fwget 8 +to install the correct firmware package. +.Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. .Em linuxkpi_wlan @@ -102,6 +112,7 @@ section above. .Sh SEE ALSO .Xr rtw88fw 4 , .Xr wlan 4 , +.Xr fwget 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY diff --git a/share/man/man4/rtw88fw.4 b/share/man/man4/rtw88fw.4 deleted file mode 100644 index 529d283b4697..000000000000 --- a/share/man/man4/rtw88fw.4 +++ /dev/null @@ -1,54 +0,0 @@ -.\"- -.\" Copyright (c) 2022 Bjoern A. Zeeb -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd March 31, 2022 -.Dt rtw88fw 4 -.Os -.Sh NAME -.Nm rtw88fw -.Nd Firmware modules for Realtek rtw88 wireless network driver -.Sh SYNOPSIS -The -.Xr rtw88 4 -driver should auto-load any firmware needed. -It is discouraged to load the driver or firmware manually from -.Xr loader 8 . -.Sh DESCRIPTION -Multiple modules provide access to firmware for the various chipset -models supported by the -.Xr rtw88 4 -driver. -.Sh FILES -A copy of the -.Xr rtw88 4 -firmware license is installed at -.Em /usr/share/doc/legal/realtek_rtw88_firmware.LICENCE . -.Sh SEE ALSO -.Xr rtw88 4 , -.Xr firmware 9 -.Sh HISTORY -The -.Nm -firmware modules first appeared in -.Fx 14.0 . diff --git a/sys/contrib/dev/rtw88fw/LICENCE.rtlwifi_firmware.txt b/sys/contrib/dev/rtw88fw/LICENCE.rtlwifi_firmware.txt deleted file mode 100644 index d70921f49379..000000000000 --- a/sys/contrib/dev/rtw88fw/LICENCE.rtlwifi_firmware.txt +++ /dev/null @@ -1,39 +0,0 @@ -Copyright (c) 2010, Realtek Semiconductor Corporation -All rights reserved. - -Redistribution. Redistribution and use in binary form, without -modification, are permitted provided that the following conditions are -met: - -* Redistributions must reproduce the above copyright notice and the - following disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of Realtek Semiconductor Corporation nor the names of its - suppliers may be used to endorse or promote products derived from this - software without specific prior written permission. -* No reverse engineering, decompilation, or disassembly of this software - is permitted. - -Limited patent license. Realtek Semiconductor Corporation grants a world-wide, -royalty-free, non-exclusive license under patents it now or hereafter -owns or controls to make, have made, use, import, offer to sell and -sell ("Utilize") this software, but solely to the extent that any -such patent is necessary to Utilize the software alone, or in -combination with an operating system licensed under an approved Open -Source license as listed by the Open Source Initiative at -http://opensource.org/licenses. The patent license shall not apply to -any other combinations which include this software. No hardware per -se is licensed hereunder. - -DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 -COPYRIGHT OWNER 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. diff --git a/sys/contrib/dev/rtw88fw/README b/sys/contrib/dev/rtw88fw/README deleted file mode 100644 index 01449ca72e4c..000000000000 --- a/sys/contrib/dev/rtw88fw/README +++ /dev/null @@ -1,34 +0,0 @@ - - rtw88 firmware -================ - -This repository contains firmware images supported by Realtek's wireless -driver rtw88. And some of the devices run with more than one firmware -file. Basically, a "normal" firmware is necessary to be downloaded to -the device. -And another is called "wowlan" firmware, it should be loaded when a -device is going to suspend. Which means driver will "re-download/swap" -the firmware image. The wowlan firmware contains wake up functions that -can recognize specific events and send a wake up signal to device if -needed, and the system will resume to running state. During resume, -driver will then swap the normal firmware back, return to running state. - -If any distros or platforms do not require wowlan feature, they can -_only_ pick the normal firmware. And everything still works fine, -except that the device cannot be waken from the wireless NICs. - -Currently supported devices with corresponding firmwares: - -RTL8822BE - rtw8822b_fw.bin - -RTL8821CE - rtw8821c_fw.bin - -RTL8822CE - rtw8822c_fw.bin - rtw8822c_wow_fw.bin - -RTL8723DE - rtw8723d_fw.bin - diff --git a/sys/contrib/dev/rtw88fw/WHENCE b/sys/contrib/dev/rtw88fw/WHENCE deleted file mode 100644 index 71cb61f86a1f..000000000000 --- a/sys/contrib/dev/rtw88fw/WHENCE +++ /dev/null @@ -1,19 +0,0 @@ -Driver: rtw88 - Realtek 802.11ac WLAN driver for RTL8822BE and RTL8822CE - -Info: Sent to Larry Finger by Realtek engineer Yan-Hsuan Chuang -File: rtw88/rtw8822b_fw.bin -File: rtw88/rtw8822c_fw.bin -File: rtw88/rtw8822c_wow_fw.bin -File: rtw88/README -File: rtw88/rtw8723d_fw.bin -File: rtw88/rtw8821c_fw.bin - -Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. - - These firmware should be put under /lib/firmware/rtw88/ - And note that the rtw88 driver is able to support wake-on-wireless LAN - for RTL8822C devices, after kernel v5.6+. So, make sure the firmware - rtw88/rtw8822c_wow_fw.bin is also packed, otherwise the firmware load - fail could be a problem. - Although RTL8723D devices are 802.11n device, they are also supported - by rtw88 because the hardware arch is similar. diff --git a/sys/contrib/dev/rtw88fw/rtw8723d_fw.bin b/sys/contrib/dev/rtw88fw/rtw8723d_fw.bin deleted file mode 100644 index ac2b9250c39e..000000000000 Binary files a/sys/contrib/dev/rtw88fw/rtw8723d_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw88fw/rtw8821c_fw.bin b/sys/contrib/dev/rtw88fw/rtw8821c_fw.bin deleted file mode 100644 index 8264e3480cc8..000000000000 Binary files a/sys/contrib/dev/rtw88fw/rtw8821c_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw88fw/rtw8822b_fw.bin b/sys/contrib/dev/rtw88fw/rtw8822b_fw.bin deleted file mode 100644 index 0934ffcc77a3..000000000000 Binary files a/sys/contrib/dev/rtw88fw/rtw8822b_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw88fw/rtw8822c_fw.bin b/sys/contrib/dev/rtw88fw/rtw8822c_fw.bin deleted file mode 100644 index af894bc10185..000000000000 Binary files a/sys/contrib/dev/rtw88fw/rtw8822c_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw88fw/rtw8822c_wow_fw.bin b/sys/contrib/dev/rtw88fw/rtw8822c_wow_fw.bin deleted file mode 100644 index 1ce74fda8bff..000000000000 Binary files a/sys/contrib/dev/rtw88fw/rtw8822c_wow_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw89fw/LICENCE.rtlwifi_firmware.txt b/sys/contrib/dev/rtw89fw/LICENCE.rtlwifi_firmware.txt deleted file mode 100644 index d70921f49379..000000000000 --- a/sys/contrib/dev/rtw89fw/LICENCE.rtlwifi_firmware.txt +++ /dev/null @@ -1,39 +0,0 @@ -Copyright (c) 2010, Realtek Semiconductor Corporation -All rights reserved. - -Redistribution. Redistribution and use in binary form, without -modification, are permitted provided that the following conditions are -met: - -* Redistributions must reproduce the above copyright notice and the - following disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of Realtek Semiconductor Corporation nor the names of its - suppliers may be used to endorse or promote products derived from this - software without specific prior written permission. -* No reverse engineering, decompilation, or disassembly of this software - is permitted. - -Limited patent license. Realtek Semiconductor Corporation grants a world-wide, -royalty-free, non-exclusive license under patents it now or hereafter -owns or controls to make, have made, use, import, offer to sell and -sell ("Utilize") this software, but solely to the extent that any -such patent is necessary to Utilize the software alone, or in -combination with an operating system licensed under an approved Open -Source license as listed by the Open Source Initiative at -http://opensource.org/licenses. The patent license shall not apply to -any other combinations which include this software. No hardware per -se is licensed hereunder. - -DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 -COPYRIGHT OWNER 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. diff --git a/sys/contrib/dev/rtw89fw/WHENCE b/sys/contrib/dev/rtw89fw/WHENCE deleted file mode 100644 index 496ef115ef0b..000000000000 --- a/sys/contrib/dev/rtw89fw/WHENCE +++ /dev/null @@ -1,8 +0,0 @@ - -Driver: rtw89 - Realtek 802.11ax WLAN driver for RTL8852A - -File: rtw89/rtw8852a_fw.bin -File: rtw89/rtw8852c_fw.bin - -Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. - diff --git a/sys/contrib/dev/rtw89fw/rtw8852a_fw.bin b/sys/contrib/dev/rtw89fw/rtw8852a_fw.bin deleted file mode 100644 index 00d139b3f2f1..000000000000 Binary files a/sys/contrib/dev/rtw89fw/rtw8852a_fw.bin and /dev/null differ diff --git a/sys/contrib/dev/rtw89fw/rtw8852c_fw.bin b/sys/contrib/dev/rtw89fw/rtw8852c_fw.bin deleted file mode 100644 index 86b634aeb69f..000000000000 Binary files a/sys/contrib/dev/rtw89fw/rtw8852c_fw.bin and /dev/null differ From nobody Tue Sep 5 21:16:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgJGr2fRHz4s2MG; Tue, 5 Sep 2023 21:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgJGr1rGMz3YfK; Tue, 5 Sep 2023 21:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mz9RXJjCIuC5l9z36DbgJIphms6pba+k+gliaQ6WRrA=; b=fUiv27s4Bi7ICfHi7ajzxzCmmv4x5Z72yUfovY5t80a+F+6Z9L2Z7RyDY1/9fSWMulhiCt 2AwzU5N3bNDDmuLD5mKFkDi9gUzhULflvj073vwG7Lpi8tx/VEsCovgmdTtRB+sxD73Ed9 of1IAHw8jMTT+aaL24ieFNkZpo57hVbHZZhOCQKDe/CjjSiPMpaYcCz9Tl396fix9uzSfk ze+KDFlgRWNS1gNymDpX5lsmLt+gJjAskUq9G7ggQSymYMwbqMWeg4BR6EWegya2c8/oX0 RZPclsbCY3bB+UBdF9SIAUn5BWWuHngQSuP7MioURQIzPbJ/Q6x2fzpgvCGyyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693948612; a=rsa-sha256; cv=none; b=eX7wFUgDaTh+sZLT7vLYIsaS+2KAoB7TdHXqR0lFYlraKpWPO3rZwRpiha/kgeQ8ilZ0Do +1zin7Xuhr6odj02BOSV6YpH/XRSSofTzb8Vox/6iPUwJiqGtQ06kTX51w2UqslxnndwUD 5XrBTadiFE1S4ysT5e/NEfIlWrOROxCe3u3yLGOyRru2kdzI2Pj4N4NdnzaAm9CBO4gaNq lCfvIkLqs5ChWNFQIX/OrpVUkpWYoaML5iW12KDutK/FCgXWGOnQLkk8HZlEPTknPEtUyp u3Qg6zrZ3b+B2QBwL75Y+e/r4I53FIiM/5SdKWV/EXsjVnYGumgCdMKSr6rl4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mz9RXJjCIuC5l9z36DbgJIphms6pba+k+gliaQ6WRrA=; b=goUTMoh4WuDYcC82g3dEorjVvvZBAzslKg9g99bhyFVGACzKEUGuugjugOuoIWk+H22eR8 0Igp2/eWZUjGpEHnCUX/WxIDB8eBiYyVmasG5Uxuur92QhYcIt9xCoKPvLiCc5i+I6Q4JZ y+Vn7F6NmgxnrT+aJhKebB/ETelc4iYV3GUnczW10bCEwi9TUQ45xAQfUHrrGXBxlKO673 3orQeK8w8JCjJyE8jPtl21L7iy70V08T+/z6Fjm5mnT7DpB3+94ziHzMAQfmEdTVuO4IdL K5PF4h1HDeyfkpf8YZ3auUwsBEGQtsY9xPt/GfL+0v/byOHkqtC+T1Pfskgkzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgJGr0pJKzpb9; Tue, 5 Sep 2023 21:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385LGqU8059832; Tue, 5 Sep 2023 21:16:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385LGqMn059829; Tue, 5 Sep 2023 21:16:52 GMT (envelope-from git) Date: Tue, 5 Sep 2023 21:16:52 GMT Message-Id: <202309052116.385LGqMn059829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 712468443df1 - main - rtw88: temporary disconnect from build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 712468443df1130db8f893a5e2ce5c6a8dbf5cde Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=712468443df1130db8f893a5e2ce5c6a8dbf5cde commit 712468443df1130db8f893a5e2ce5c6a8dbf5cde Author: Bjoern A. Zeeb AuthorDate: 2023-09-05 17:34:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-05 21:13:19 +0000 rtw88: temporary disconnect from build As announced on freebsd-wireless [1] disconnect rtw88 from the build. Add a note to the man page about the current state but leave the man page in place for now as this is supposed to be temporary. [1] https://lists.freebsd.org/archives/freebsd-wireless/2023-September/001377.html MFC after: 20 days X-MFC: will see about 14/13 --- share/man/man4/rtw88.4 | 6 ++++-- sys/modules/Makefile | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man4/rtw88.4 b/share/man/man4/rtw88.4 index 01572af8cbd3..24baf6a5194f 100644 --- a/share/man/man4/rtw88.4 +++ b/share/man/man4/rtw88.4 @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2022 Bjoern A. Zeeb +.\" Copyright (c) 2022-2023 Bjoern A. Zeeb .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -22,13 +22,15 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 8, 2023 +.Dd September 5, 2023 .Dt RTW88 4 .Os .Sh NAME .Nm rtw88 .Nd Realtek IEEE 802.11n/ac wireless network driver .Sh SYNOPSIS +.Sy The driver is temporary disconnected from the build. +.Pp The driver will auto-load without any user interaction using .Xr devmatch 8 if enabled in diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 3eff75312fd3..d2c5cc44705a 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -565,7 +565,7 @@ _iwlwifi= iwlwifi _iwlwififw= iwlwififw .endif _ossl= ossl -_rtw88= rtw88 +#_rtw88= rtw88 _vmware= vmware .endif From nobody Tue Sep 5 21:16:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgJGs3LB1z4s2ZC; Tue, 5 Sep 2023 21:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgJGs33d0z3Yxq; Tue, 5 Sep 2023 21:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VwNvz73sg7uWjF6kRIfpIMlOOvWNq+epY17nRaznwGg=; b=ITnpQqAStJAFi+90NZnYwhIM1EGWDcQP3lA9ezzy73aqTNavEY9Mo6SsoOA6RhU6raasS6 w+efgxIrVNLC/4Te4J8qIL+SE06RultfdOB4e9b/u62k2qOLuT/EzaJjgw2Ij7WONy+Lco 7RaDTKLR20fXJQzzDjEIufNK0qRpV6M+qYZgoFxufkaI4tFcfFqhzpLEWsNAqO9ZljPdE8 MDzFozNXryZQxh+NivupfRGwO0YK9OB/t7Hgs2eMkbFzAbgkzRf7ltP0M3OQqerSBiu6nu HwV1VdjQn0NAZeRmfChLRhlQlMDn5voRFpPhYoJZDvW91KghpfyWWT13P+JkkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693948613; a=rsa-sha256; cv=none; b=U9EJeM+B8rgcYwXgiq1X4n3Qqb2+2mJkdUs1ML9eXsd97bl/zTv0Zoq+O5+dEhosvYCCDJ bkTqxKba3zV87WKlagp+rWAxtpY4DxqdWUhcvSMdTpuP0KjbVgxjKG38fMfIT5653Ws1ni GK8+098n1pleebsnqhvJGtueI/LaG3jwHRUc5RNa7uErRCLKnop+Ke2cpX6Ngxz9jZrlp2 mbpJPLl2BUCw2CWYJknr9HEmweOqDMzIJ0SpkSPHCvspng6/RkuKBK/8s7BPG+CJPNfYME whkekzNe4u9m+uBGkiOuUlJ/bDaFDilUiQxeSnSAZknAYY+1N5jmw+rMasQ60g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VwNvz73sg7uWjF6kRIfpIMlOOvWNq+epY17nRaznwGg=; b=WUYboxtePLLfil6X7d2sTD1tEdMxXb+uu1Alo1UXFi7qyhtsTurA/AtvgpMlWeYObubRJE La7VH8ZMBXTkcxQ2XTVZJqAn2U6YS0kIOLqJcw/ZhgSk9eccjxf+/P8GX6YCXct/eiWj0D +3Lk+RV7wMaRePQ29/vaZDTz6+qAdJoaSdGQ8jcUQ4dNCpHrOACLy8LCGo4fp6AnJcFbXj X6KCFPgpkYQ6iTNVgZ4YDvjlDzgJfzjQ6MKmFIYz1NEPSrCblutG4G98vb/AZ+ymObUnkn 9gdUDIwwAsC+pz63BfRgY5o0KKUMq98/4ZK+hFf4ownramt0Ey5EC9ad0093Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgJGs21hzzpKk; Tue, 5 Sep 2023 21:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385LGrGW059877; Tue, 5 Sep 2023 21:16:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385LGrHC059874; Tue, 5 Sep 2023 21:16:53 GMT (envelope-from git) Date: Tue, 5 Sep 2023 21:16:53 GMT Message-Id: <202309052116.385LGrHC059874@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 90aac0d83bc9 - main - rtw88: update driver from upstream List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90aac0d83bc9645f51ef0c2aeae6f9c0540bb031 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=90aac0d83bc9645f51ef0c2aeae6f9c0540bb031 commit 90aac0d83bc9645f51ef0c2aeae6f9c0540bb031 Author: Bjoern A. Zeeb AuthorDate: 2023-05-16 23:19:34 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-05 21:13:19 +0000 rtw88: update driver from upstream This is a combined version of updates of the rtw88 driver based on wireless-testing (wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1), (wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5), (wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3), (wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4). This update follows other currently disconnected LinuxKPI based wireless drivers to lift them all to a same version in case someone else wants to work on this driver in parallel to predominant iwlwifi efforts. MFC after: 20 days --- sys/contrib/dev/rtw88/Makefile | 78 +++ sys/contrib/dev/rtw88/bf.c | 17 +- sys/contrib/dev/rtw88/coex.c | 93 ++- sys/contrib/dev/rtw88/coex.h | 14 +- sys/contrib/dev/rtw88/debug.c | 85 ++- sys/contrib/dev/rtw88/debug.h | 1 + sys/contrib/dev/rtw88/efuse.c | 4 +- sys/contrib/dev/rtw88/fw.c | 220 ++++-- sys/contrib/dev/rtw88/fw.h | 47 +- sys/contrib/dev/rtw88/hci.h | 9 +- sys/contrib/dev/rtw88/mac.c | 119 +++- sys/contrib/dev/rtw88/mac.h | 1 - sys/contrib/dev/rtw88/mac80211.c | 89 ++- sys/contrib/dev/rtw88/main.c | 451 +++++++++--- sys/contrib/dev/rtw88/main.h | 81 ++- sys/contrib/dev/rtw88/pci.c | 89 +-- sys/contrib/dev/rtw88/phy.c | 71 +- sys/contrib/dev/rtw88/phy.h | 2 +- sys/contrib/dev/rtw88/ps.c | 57 +- sys/contrib/dev/rtw88/ps.h | 2 + sys/contrib/dev/rtw88/reg.h | 15 + sys/contrib/dev/rtw88/regd.c | 2 + sys/contrib/dev/rtw88/rtw8723d.c | 43 +- sys/contrib/dev/rtw88/rtw8723d.h | 19 +- sys/contrib/dev/rtw88/rtw8723ds.c | 41 ++ sys/contrib/dev/rtw88/rtw8723du.c | 39 ++ sys/contrib/dev/rtw88/rtw8821c.c | 54 +- sys/contrib/dev/rtw88/rtw8821c.h | 27 + sys/contrib/dev/rtw88/rtw8821cs.c | 36 + sys/contrib/dev/rtw88/rtw8821cu.c | 53 ++ sys/contrib/dev/rtw88/rtw8822b.c | 32 +- sys/contrib/dev/rtw88/rtw8822b.h | 8 +- sys/contrib/dev/rtw88/rtw8822bs.c | 36 + sys/contrib/dev/rtw88/rtw8822bu.c | 93 +++ sys/contrib/dev/rtw88/rtw8822c.c | 37 +- sys/contrib/dev/rtw88/rtw8822c.h | 8 +- sys/contrib/dev/rtw88/rtw8822cs.c | 36 + sys/contrib/dev/rtw88/rtw8822cu.c | 47 ++ sys/contrib/dev/rtw88/sdio.c | 1404 +++++++++++++++++++++++++++++++++++++ sys/contrib/dev/rtw88/sdio.h | 178 +++++ sys/contrib/dev/rtw88/tx.c | 149 ++-- sys/contrib/dev/rtw88/tx.h | 138 ++-- sys/contrib/dev/rtw88/usb.c | 919 ++++++++++++++++++++++++ sys/contrib/dev/rtw88/usb.h | 100 +++ sys/contrib/dev/rtw88/util.c | 104 ++- sys/contrib/dev/rtw88/util.h | 11 +- sys/contrib/dev/rtw88/wow.c | 2 +- 47 files changed, 4610 insertions(+), 551 deletions(-) diff --git a/sys/contrib/dev/rtw88/Makefile b/sys/contrib/dev/rtw88/Makefile new file mode 100644 index 000000000000..fd212c09d88a --- /dev/null +++ b/sys/contrib/dev/rtw88/Makefile @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause + +obj-$(CONFIG_RTW88_CORE) += rtw88_core.o +rtw88_core-y += main.o \ + mac80211.o \ + util.o \ + debug.o \ + tx.o \ + rx.o \ + mac.o \ + phy.o \ + coex.o \ + efuse.o \ + fw.o \ + ps.o \ + sec.o \ + bf.o \ + sar.o \ + regd.o + +rtw88_core-$(CONFIG_PM) += wow.o + +obj-$(CONFIG_RTW88_8822B) += rtw88_8822b.o +rtw88_8822b-objs := rtw8822b.o rtw8822b_table.o + +obj-$(CONFIG_RTW88_8822BE) += rtw88_8822be.o +rtw88_8822be-objs := rtw8822be.o + +obj-$(CONFIG_RTW88_8822BS) += rtw88_8822bs.o +rtw88_8822bs-objs := rtw8822bs.o + +obj-$(CONFIG_RTW88_8822BU) += rtw88_8822bu.o +rtw88_8822bu-objs := rtw8822bu.o + +obj-$(CONFIG_RTW88_8822C) += rtw88_8822c.o +rtw88_8822c-objs := rtw8822c.o rtw8822c_table.o + +obj-$(CONFIG_RTW88_8822CE) += rtw88_8822ce.o +rtw88_8822ce-objs := rtw8822ce.o + +obj-$(CONFIG_RTW88_8822CS) += rtw88_8822cs.o +rtw88_8822cs-objs := rtw8822cs.o + +obj-$(CONFIG_RTW88_8822CU) += rtw88_8822cu.o +rtw88_8822cu-objs := rtw8822cu.o + +obj-$(CONFIG_RTW88_8723D) += rtw88_8723d.o +rtw88_8723d-objs := rtw8723d.o rtw8723d_table.o + +obj-$(CONFIG_RTW88_8723DE) += rtw88_8723de.o +rtw88_8723de-objs := rtw8723de.o + +obj-$(CONFIG_RTW88_8723DS) += rtw88_8723ds.o +rtw88_8723ds-objs := rtw8723ds.o + +obj-$(CONFIG_RTW88_8723DU) += rtw88_8723du.o +rtw88_8723du-objs := rtw8723du.o + +obj-$(CONFIG_RTW88_8821C) += rtw88_8821c.o +rtw88_8821c-objs := rtw8821c.o rtw8821c_table.o + +obj-$(CONFIG_RTW88_8821CE) += rtw88_8821ce.o +rtw88_8821ce-objs := rtw8821ce.o + +obj-$(CONFIG_RTW88_8821CS) += rtw88_8821cs.o +rtw88_8821cs-objs := rtw8821cs.o + +obj-$(CONFIG_RTW88_8821CU) += rtw88_8821cu.o +rtw88_8821cu-objs := rtw8821cu.o + +obj-$(CONFIG_RTW88_PCI) += rtw88_pci.o +rtw88_pci-objs := pci.o + +obj-$(CONFIG_RTW88_SDIO) += rtw88_sdio.o +rtw88_sdio-objs := sdio.o + +obj-$(CONFIG_RTW88_USB) += rtw88_usb.o +rtw88_usb-objs := usb.o diff --git a/sys/contrib/dev/rtw88/bf.c b/sys/contrib/dev/rtw88/bf.c index d207fa5c122f..16c6a1d972e5 100644 --- a/sys/contrib/dev/rtw88/bf.c +++ b/sys/contrib/dev/rtw88/bf.c @@ -30,11 +30,11 @@ void rtw_bf_disassoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf) { + const struct rtw_chip_info *chip = rtwdev->chip; struct ieee80211_hw *hw = rtwdev->hw; struct rtw_vif *rtwvif = (struct rtw_vif *)vif->drv_priv; struct rtw_bfee *bfee = &rtwvif->bfee; struct rtw_bf_info *bfinfo = &rtwdev->bf_info; - struct rtw_chip_info *chip = rtwdev->chip; struct ieee80211_sta *sta; struct ieee80211_sta_vht_cap *vht_cap; struct ieee80211_sta_vht_cap *ic_vht_cap; @@ -49,6 +49,8 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, sta = ieee80211_find_sta(vif, bssid); if (!sta) { + rcu_read_unlock(); + #if defined(__linux__) rtw_warn(rtwdev, "failed to find station entry for bss %pM\n", bssid); @@ -56,23 +58,25 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, rtw_warn(rtwdev, "failed to find station entry for bss %6D\n", bssid, ":"); #endif - goto out_unlock; + return; } ic_vht_cap = &hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap; vht_cap = &sta->deflink.vht_cap; + rcu_read_unlock(); + if ((ic_vht_cap->cap & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE) && (vht_cap->cap & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)) { if (bfinfo->bfer_mu_cnt >= chip->bfer_mu_max_num) { rtw_dbg(rtwdev, RTW_DBG_BF, "mu bfer number over limit\n"); - goto out_unlock; + return; } ether_addr_copy(bfee->mac_addr, bssid); bfee->role = RTW_BFEE_MU; bfee->p_aid = (bssid[5] << 1) | (bssid[4] >> 7); - bfee->aid = bss_conf->aid; + bfee->aid = vif->cfg.aid; bfinfo->bfer_mu_cnt++; rtw_chip_config_bfee(rtwdev, rtwvif, bfee, true); @@ -80,7 +84,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, (vht_cap->cap & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)) { if (bfinfo->bfer_su_cnt >= chip->bfer_su_max_num) { rtw_dbg(rtwdev, RTW_DBG_BF, "su bfer number over limit\n"); - goto out_unlock; + return; } sound_dim = vht_cap->cap & @@ -103,9 +107,6 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, rtw_chip_config_bfee(rtwdev, rtwvif, bfee, true); } - -out_unlock: - rcu_read_unlock(); } void rtw_bf_init_bfer_entry_mu(struct rtw_dev *rtwdev, diff --git a/sys/contrib/dev/rtw88/coex.c b/sys/contrib/dev/rtw88/coex.c index cac053f485c3..86467d2f8888 100644 --- a/sys/contrib/dev/rtw88/coex.c +++ b/sys/contrib/dev/rtw88/coex.c @@ -13,7 +13,7 @@ static u8 rtw_coex_next_rssi_state(struct rtw_dev *rtwdev, u8 pre_state, u8 rssi, u8 rssi_thresh) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; u8 tol = chip->rssi_tolerance; u8 next_state; @@ -36,7 +36,7 @@ static u8 rtw_coex_next_rssi_state(struct rtw_dev *rtwdev, u8 pre_state, static void rtw_coex_limited_tx(struct rtw_dev *rtwdev, bool tx_limit_en, bool ampdu_limit_en) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; u8 num_of_active_port = 1; @@ -365,7 +365,7 @@ static void rtw_coex_set_wl_pri_mask(struct rtw_dev *rtwdev, u8 bitmap, void rtw_coex_write_scbd(struct rtw_dev *rtwdev, u16 bitpos, bool set) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; u16 val = 0x2; @@ -400,7 +400,7 @@ EXPORT_SYMBOL(rtw_coex_write_scbd); static u16 rtw_coex_read_scbd(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; if (!chip->scbd_support) return 0; @@ -410,7 +410,7 @@ static u16 rtw_coex_read_scbd(struct rtw_dev *rtwdev) static void rtw_coex_check_rfk(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_rfe *coex_rfe = &coex->rfe; @@ -489,7 +489,7 @@ static void rtw_coex_monitor_bt_ctr(struct rtw_dev *rtwdev) static void rtw_coex_monitor_bt_enable(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; @@ -524,10 +524,10 @@ static void rtw_coex_monitor_bt_enable(struct rtw_dev *rtwdev) static void rtw_coex_update_wl_link_info(struct rtw_dev *rtwdev, u8 reason) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_traffic_stats *stats = &rtwdev->stats; bool is_5G = false; bool wl_busy = false; @@ -633,7 +633,7 @@ static struct sk_buff *rtw_coex_info_request(struct rtw_dev *rtwdev, struct rtw_coex *coex = &rtwdev->coex; struct sk_buff *skb_resp = NULL; - mutex_lock(&coex->mutex); + lockdep_assert_held(&rtwdev->mutex); rtw_fw_query_bt_mp_info(rtwdev, req); @@ -650,7 +650,6 @@ static struct sk_buff *rtw_coex_info_request(struct rtw_dev *rtwdev, } out: - mutex_unlock(&coex->mutex); return skb_resp; } @@ -706,10 +705,10 @@ static const char *rtw_coex_get_bt_status_string(u8 bt_status) static void rtw_coex_update_bt_link_info(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; - struct rtw_chip_info *chip = rtwdev->chip; u8 i; u8 rssi_state; u8 rssi_step; @@ -806,7 +805,7 @@ static void rtw_coex_update_bt_link_info(struct rtw_dev *rtwdev) static void rtw_coex_update_wl_ch_info(struct rtw_dev *rtwdev, u8 type) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; struct rtw_coex_dm *coex_dm = &rtwdev->coex.dm; struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; @@ -933,7 +932,7 @@ EXPORT_SYMBOL(rtw_coex_write_indirect_reg); static void rtw_coex_coex_ctrl_owner(struct rtw_dev *rtwdev, bool wifi_control) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; const struct rtw_hw_reg *btg_reg = chip->btg_reg; if (wifi_control) { @@ -981,7 +980,7 @@ static void rtw_coex_mimo_ps(struct rtw_dev *rtwdev, bool force, bool state) static void rtw_btc_wltoggle_table_a(struct rtw_dev *rtwdev, bool force, u8 table_case) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; u8 h2c_para[6] = {0}; u32 table_wl = 0x5a5a5a5a; @@ -1065,9 +1064,9 @@ static void rtw_coex_set_table(struct rtw_dev *rtwdev, bool force, u32 table0, static void rtw_coex_table(struct rtw_dev *rtwdev, bool force, u8 type) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_dm *coex_dm = &coex->dm; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; struct rtw_coex_stat *coex_stat = &coex->stat; @@ -1135,9 +1134,9 @@ static void rtw_coex_power_save_state(struct rtw_dev *rtwdev, u8 ps_type, static void rtw_coex_set_tdma(struct rtw_dev *rtwdev, u8 byte1, u8 byte2, u8 byte3, u8 byte4, u8 byte5) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_dm *coex_dm = &coex->dm; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_stat *coex_stat = &coex->stat; u8 ps_type = COEX_PS_WIFI_NATIVE; bool ap_enable = false; @@ -1193,10 +1192,10 @@ static void rtw_coex_set_tdma(struct rtw_dev *rtwdev, u8 byte1, u8 byte2, static void rtw_coex_tdma(struct rtw_dev *rtwdev, bool force, u32 tcase) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_coex_stat *coex_stat = &coex->stat; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; u8 n, type; bool turn_on; @@ -1526,8 +1525,8 @@ static u8 rtw_coex_algorithm(struct rtw_dev *rtwdev) static void rtw_coex_action_coex_all_off(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -1549,11 +1548,11 @@ static void rtw_coex_action_coex_all_off(struct rtw_dev *rtwdev) static void rtw_coex_action_freerun(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 level = 0; bool bt_afh_loss = true; @@ -1594,8 +1593,8 @@ static void rtw_coex_action_freerun(struct rtw_dev *rtwdev) static void rtw_coex_action_rf4ce(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -1619,8 +1618,8 @@ static void rtw_coex_action_rf4ce(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_whql_test(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -1644,10 +1643,10 @@ static void rtw_coex_action_bt_whql_test(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_relink(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; u32 slot_type = 0; @@ -1684,11 +1683,11 @@ static void rtw_coex_action_bt_relink(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_idle(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_rfe *coex_rfe = &coex->rfe; u8 table_case = 0xff, tdma_case = 0xff; @@ -1753,10 +1752,10 @@ exit: static void rtw_coex_action_bt_inquiry(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; bool wl_hi_pri = false; u8 table_case, tdma_case; u32 slot_type = 0; @@ -1853,11 +1852,11 @@ static void rtw_coex_action_bt_inquiry(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_game_hid(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; struct rtw_coex_dm *coex_dm = &coex->dm; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -1901,10 +1900,10 @@ static void rtw_coex_action_bt_game_hid(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_hfp(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -1932,10 +1931,10 @@ static void rtw_coex_action_bt_hfp(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_hid(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; u32 slot_type = 0; bool bt_multi_link_remain = false, is_toggle_table = false; @@ -2015,11 +2014,11 @@ static void rtw_coex_action_bt_hid(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_a2dp(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; u32 slot_type = 0; @@ -2057,10 +2056,10 @@ static void rtw_coex_action_bt_a2dp(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_a2dpsink(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; bool ap_enable = false; @@ -2096,10 +2095,10 @@ static void rtw_coex_action_bt_a2dpsink(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_pan(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -2133,11 +2132,11 @@ static void rtw_coex_action_bt_pan(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_a2dp_hid(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case, interval = 0; u32 slot_type = 0; bool is_toggle_table = false; @@ -2190,10 +2189,10 @@ static void rtw_coex_action_bt_a2dp_hid(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; bool wl_cpt_test = false, bt_cpt_test = false; @@ -2247,10 +2246,10 @@ static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_pan_hid(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -2282,10 +2281,10 @@ static void rtw_coex_action_bt_pan_hid(struct rtw_dev *rtwdev) static void rtw_coex_action_bt_a2dp_pan_hid(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -2316,9 +2315,9 @@ static void rtw_coex_action_bt_a2dp_pan_hid(struct rtw_dev *rtwdev) static void rtw_coex_action_wl_under5g(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_stat *coex_stat = &coex->stat; u8 table_case, tdma_case; @@ -2348,8 +2347,8 @@ static void rtw_coex_action_wl_under5g(struct rtw_dev *rtwdev) static void rtw_coex_action_wl_only(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -2372,9 +2371,9 @@ static void rtw_coex_action_wl_only(struct rtw_dev *rtwdev) static void rtw_coex_action_wl_native_lps(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_stat *coex_stat = &coex->stat; u8 table_case, tdma_case; @@ -2411,10 +2410,10 @@ static void rtw_coex_action_wl_native_lps(struct rtw_dev *rtwdev) static void rtw_coex_action_wl_linkscan(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; u32 slot_type = 0; @@ -2451,8 +2450,8 @@ static void rtw_coex_action_wl_linkscan(struct rtw_dev *rtwdev) static void rtw_coex_action_wl_not_connected(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 table_case, tdma_case; rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__); @@ -2528,8 +2527,8 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev) static void rtw_coex_run_coex(struct rtw_dev *rtwdev, u8 reason) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_coex_stat *coex_stat = &coex->stat; bool rf4ce_en = false; @@ -3002,9 +3001,9 @@ void rtw_coex_media_status_notify(struct rtw_dev *rtwdev, u8 type) void rtw_coex_bt_info_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_dm *coex_dm = &coex->dm; u32 bt_relink_time; u8 i, rsp_source = 0, type; @@ -3270,8 +3269,8 @@ static const u8 coex_bt_hidinfo_xb[] = {0x58, 0x62, 0x6f}; void rtw_coex_bt_hid_info_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_hid *hidinfo; struct rtw_coex_hid_info_a *hida; @@ -3360,8 +3359,8 @@ void rtw_coex_bt_hid_info_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length) void rtw_coex_query_bt_hid_list(struct rtw_dev *rtwdev) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex *coex = &rtwdev->coex; - struct rtw_chip_info *chip = rtwdev->chip; struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_hid *hidinfo; u8 i, handle; @@ -3582,7 +3581,7 @@ static const char *rtw_coex_get_reason_string(u8 reason) static u8 rtw_coex_get_table_index(struct rtw_dev *rtwdev, u32 wl_reg_6c0, u32 wl_reg_6c4) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; u8 ans = 0xFF; u8 n, i; @@ -3618,8 +3617,8 @@ static u8 rtw_coex_get_table_index(struct rtw_dev *rtwdev, u32 wl_reg_6c0, static u8 rtw_coex_get_tdma_index(struct rtw_dev *rtwdev, u8 *tdma_para) { + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_efuse *efuse = &rtwdev->efuse; - struct rtw_chip_info *chip = rtwdev->chip; u8 ans = 0xFF; u8 n, i, j; u8 load_cur_tab_val; @@ -3736,7 +3735,7 @@ static int rtw_coex_val_info(struct rtw_dev *rtwdev, static void rtw_coex_set_coexinfo_hw(struct rtw_dev *rtwdev, struct seq_file *m) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; const struct rtw_reg_domain *reg; char addr_info[INFO_SIZE]; int n_addr = 0; @@ -3910,7 +3909,7 @@ static const char *rtw_coex_get_wl_coex_mode(u8 coex_wl_link_mode) void rtw_coex_display_coex_info(struct rtw_dev *rtwdev, struct seq_file *m) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; struct rtw_dm_info *dm_info = &rtwdev->dm_info; struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex_stat *coex_stat = &coex->stat; @@ -4057,7 +4056,7 @@ void rtw_coex_display_coex_info(struct rtw_dev *rtwdev, struct seq_file *m) rtwdev->stats.tx_throughput, rtwdev->stats.rx_throughput); seq_printf(m, "%-40s = %u/ %u/ %u\n", "IPS/ Low Power/ PS mode", - test_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags), + !test_bit(RTW_FLAG_POWERON, rtwdev->flags), test_bit(RTW_FLAG_LEISURE_PS_DEEP, rtwdev->flags), rtwdev->lps_conf.mode); diff --git a/sys/contrib/dev/rtw88/coex.h b/sys/contrib/dev/rtw88/coex.h index 07fa7aa34d4b..57cf29da9ea4 100644 --- a/sys/contrib/dev/rtw88/coex.h +++ b/sys/contrib/dev/rtw88/coex.h @@ -327,7 +327,7 @@ struct coex_rf_para { static inline void rtw_coex_set_init(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_init(rtwdev); } @@ -335,7 +335,7 @@ static inline void rtw_coex_set_init(struct rtw_dev *rtwdev) static inline void rtw_coex_set_ant_switch(struct rtw_dev *rtwdev, u8 ctrl_type, u8 pos_type) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; if (!chip->ops->coex_set_ant_switch) return; @@ -345,28 +345,28 @@ void rtw_coex_set_ant_switch(struct rtw_dev *rtwdev, u8 ctrl_type, u8 pos_type) static inline void rtw_coex_set_gnt_fix(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_gnt_fix(rtwdev); } static inline void rtw_coex_set_gnt_debug(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_gnt_debug(rtwdev); } static inline void rtw_coex_set_rfe_type(struct rtw_dev *rtwdev) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_rfe_type(rtwdev); } static inline void rtw_coex_set_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_wl_tx_power(rtwdev, wl_pwr); } @@ -374,7 +374,7 @@ static inline void rtw_coex_set_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr) static inline void rtw_coex_set_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain) { - struct rtw_chip_info *chip = rtwdev->chip; + const struct rtw_chip_info *chip = rtwdev->chip; chip->ops->coex_set_wl_rx_gain(rtwdev, low_gain); } diff --git a/sys/contrib/dev/rtw88/debug.c b/sys/contrib/dev/rtw88/debug.c index fbbd11be5eef..d745c774aa6f 100644 --- a/sys/contrib/dev/rtw88/debug.c +++ b/sys/contrib/dev/rtw88/debug.c @@ -144,7 +144,9 @@ static int rtw_debugfs_get_rf_read(struct seq_file *m, void *v) addr = debugfs_priv->rf_addr; mask = debugfs_priv->rf_mask; + mutex_lock(&rtwdev->mutex); val = rtw_read_rf(rtwdev, path, addr, mask); + mutex_unlock(&rtwdev->mutex); seq_printf(m, "rf_read path:%d addr:0x%08x mask:0x%08x val=0x%08x\n", path, addr, mask, val); @@ -181,8 +183,8 @@ static int rtw_debugfs_copy_from_user(char tmp[], int size, tmp_len = (count > size - 1 ? size - 1 : count); - if (!buffer || copy_from_user(tmp, buffer, tmp_len)) - return count; + if (copy_from_user(tmp, buffer, tmp_len)) + return -EFAULT; tmp[tmp_len] = '\0'; @@ -199,13 +201,16 @@ static ssize_t rtw_debugfs_set_read_reg(struct file *filp, char tmp[32 + 1]; u32 addr, len; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + if (ret) + return ret; num = sscanf(tmp, "%x %x", &addr, &len); if (num != 2) - return count; + return -EINVAL; if (len != 1 && len != 2 && len != 4) { rtw_warn(rtwdev, "read reg setting wrong len\n"); @@ -286,8 +291,11 @@ static ssize_t rtw_debugfs_set_rsvd_page(struct file *filp, char tmp[32 + 1]; u32 offset, page_num; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + if (ret) + return ret; num = sscanf(tmp, "%d %d", &offset, &page_num); @@ -312,8 +320,11 @@ static ssize_t rtw_debugfs_set_single_input(struct file *filp, char tmp[32 + 1]; u32 input; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + if (ret) + return ret; num = kstrtoint(tmp, 0, &input); @@ -336,14 +347,17 @@ static ssize_t rtw_debugfs_set_write_reg(struct file *filp, char tmp[32 + 1]; u32 addr, val, len; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; /* write BB/MAC register */ num = sscanf(tmp, "%x %x %x", &addr, &val, &len); if (num != 3) - return count; + return -EINVAL; switch (len) { case 1: @@ -379,8 +393,11 @@ static ssize_t rtw_debugfs_set_h2c(struct file *filp, char tmp[32 + 1]; u8 param[8]; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; num = sscanf(tmp, "%hhx,%hhx,%hhx,%hhx,%hhx,%hhx,%hhx,%hhx", ¶m[0], ¶m[1], ¶m[2], ¶m[3], @@ -390,7 +407,9 @@ static ssize_t rtw_debugfs_set_h2c(struct file *filp, return -EINVAL; } + mutex_lock(&rtwdev->mutex); rtw_fw_h2c_cmd_dbg(rtwdev, param); + mutex_unlock(&rtwdev->mutex); return count; } @@ -404,17 +423,22 @@ static ssize_t rtw_debugfs_set_rf_write(struct file *filp, char tmp[32 + 1]; u32 path, addr, mask, val; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 4); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 4); + if (ret) + return ret; num = sscanf(tmp, "%x %x %x %x", &path, &addr, &mask, &val); if (num != 4) { rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n"); - return count; + return -EINVAL; } + mutex_lock(&rtwdev->mutex); rtw_write_rf(rtwdev, path, addr, mask, val); + mutex_unlock(&rtwdev->mutex); rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, "write_rf path:%d addr:0x%08x mask:0x%08x, val:0x%08x\n", path, addr, mask, val); @@ -432,14 +456,17 @@ static ssize_t rtw_debugfs_set_rf_read(struct file *filp, char tmp[32 + 1]; u32 path, addr, mask; int num; + int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; num = sscanf(tmp, "%x %x %x", &path, &addr, &mask); if (num != 3) { rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n"); - return count; + return -EINVAL; } debugfs_priv->rf_path = path; @@ -461,7 +488,9 @@ static ssize_t rtw_debugfs_set_fix_rate(struct file *filp, char tmp[32 + 1]; int ret; - rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + if (ret) + return ret; ret = kstrtou8(tmp, 0, &fix_rate); if (ret) { @@ -519,6 +548,8 @@ static int rtw_debug_get_rf_dump(struct seq_file *m, void *v) u32 addr, offset, data; u8 path; + mutex_lock(&rtwdev->mutex); + for (path = 0; path < rtwdev->hal.rf_path_num; path++) { seq_printf(m, "RF path:%d\n", path); for (addr = 0; addr < 0x100; addr += 4) { @@ -533,6 +564,8 @@ static int rtw_debug_get_rf_dump(struct seq_file *m, void *v) seq_puts(m, "\n"); } + mutex_unlock(&rtwdev->mutex); + return 0; } *** 7314 LINES SKIPPED *** From nobody Tue Sep 5 21:16:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgJGt4lTZz4s1xt; Tue, 5 Sep 2023 21:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgJGt42fCz3YyL; Tue, 5 Sep 2023 21:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42sSDJIVxDWstgVgvvU+DCh/+4q+ROudAZQwVQd8phg=; b=bOf1ykprhmmhnEmHMsV3m/KuFlGbHBqBhvzydCV8s04FVIH4nG3JErGdiLEA1gmZ8ZHI51 vDsFWjxnG/sDYbktsJgH/b9YUAq1rgpfzF26dr+/kDSK+ZZwhABuRiU7OI+KmAcWgmUb2E wKkr7eyqt5R1dln6oH+IIbTyLIFfwkevJLIKpfzlUTIu+OATMt2/n0cVoY+IkIazspqM2F FmPsn19/eoTqBTA2vMH4cwItq6dSH/ilrwuPlWbeLQxjmoOWSPTbH685IH8BzRdcIRfjxN wZZgZtulbTFgBZIQiCKWdmY8FGMAco8e0fRTimuv/wfQygaPBE4acA6PonrsiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693948614; a=rsa-sha256; cv=none; b=BXbH7DxHtftsYJKXhiFnPUT5ZLBiA4pWHP8XBkzCMTenJJWlN4M1p6bEG+buhqRKRyUNms 8pl2OjKlYAeWY9g9m2oVwjegrIZh/5MLzSTYAbOVSFUnx3wUFa5oLpOGt2zKHqbA4TBuaW ujs9R1Xw6X/CoR26zyMvXn+Fib4xso9yyUQnp/X2xT6Opm4lGZgKgxbG0J0uDiMyc+KtIk 8aO7Cf2SFBdIagUDzkpyKTWN4Mxy6eeiHSEYYn1fVpl1kw48/0S29HO2B7mUl08n2aBL5W wdpz1IFkbsesJpDOlqqQjQHRh38aGYE72USf1SK6+uTAD5NMvctr2l68WyXT0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693948614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42sSDJIVxDWstgVgvvU+DCh/+4q+ROudAZQwVQd8phg=; b=WAPLPgKVNsD/mMXr6L7t/fDjcV9B0srN8mHdp6xypyDgBzxak99seUjYztiThtnDebskSW WAdIYA2xXmQ6EDfWS9rzKTWvCwX8I7cS5qjCGNkU61MqOVJNJ+thKBHCItO61BAF/9o50H ePa3f2ukK+2YXxTLE2TGaYuLPBAlnvo2f7LDlzJRzjjMhGJBmGtUI0NKZjRpiqACH3VneC 4xtfeFotyltH5kF4A1P1+xp17LJQRkNezjLovjaexkTTXrR1KOhOkRw0A3JixJGl9JgBLH QfWFBipQCpqquxt8lxVneDRz2Ap89ZIixc61/8IAhdlRmqOPxSMW/NtjSNozbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgJGt31gTzpcS; Tue, 5 Sep 2023 21:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385LGsjA059923; Tue, 5 Sep 2023 21:16:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385LGsbV059920; Tue, 5 Sep 2023 21:16:54 GMT (envelope-from git) Date: Tue, 5 Sep 2023 21:16:54 GMT Message-Id: <202309052116.385LGsbV059920@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 815b7436a7c6 - main - iwlwifi/LinuxKPI: 802.11: update ieee80211_request_smps() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 815b7436a7c6302365b6514194d27d41cb736227 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=815b7436a7c6302365b6514194d27d41cb736227 commit 815b7436a7c6302365b6514194d27d41cb736227 Author: Bjoern A. Zeeb AuthorDate: 2023-09-05 18:02:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-05 21:14:25 +0000 iwlwifi/LinuxKPI: 802.11: update ieee80211_request_smps() Update ieee80211_request_smps() to the new number of arguments in LinuxKPI (which was already prepared) and update the one call in the older iwlwifi driver version. This will allow iwlwifi as-is now and rtw88 to compile in case someone else wants to work on the latter in parallel to predominant efforts on the former. Sponsored by: The FreeBSD Foundation MFC after: 20 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 13 ++----------- sys/contrib/dev/iwlwifi/mvm/utils.c | 2 +- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index cacf9d652fd0..bc7f22f5aa15 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2022,10 +2022,7 @@ ieee80211_ie_split(const u8 *ies, size_t ies_len, } static __inline void -ieee80211_request_smps(struct ieee80211_vif *vif, -#ifdef __FOR_LATER_DRV_UPDATE - u_int link_id, -#endif +ieee80211_request_smps(struct ieee80211_vif *vif, u_int link_id, enum ieee80211_smps_mode smps) { static const char *smps_mode_name[] = { @@ -2345,14 +2342,8 @@ ieee80211_proberesp_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) static __inline struct sk_buff * ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, -#ifdef __FOR_LATER_DRV_UPDATE - int linkid, -#endif - bool qos) + int linkid, bool qos) { -#ifndef __FOR_LATER_DRV_UPDATE - int linkid = 0; -#endif /* Only STA needs this. Otherwise return NULL and panic bad drivers. */ if (vif->type != NL80211_IFTYPE_STATION) diff --git a/sys/contrib/dev/iwlwifi/mvm/utils.c b/sys/contrib/dev/iwlwifi/mvm/utils.c index 075ada8ba356..5370cec8140a 100644 --- a/sys/contrib/dev/iwlwifi/mvm/utils.c +++ b/sys/contrib/dev/iwlwifi/mvm/utils.c @@ -307,7 +307,7 @@ void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, smps_mode = IEEE80211_SMPS_DYNAMIC; } - ieee80211_request_smps(vif, smps_mode); + ieee80211_request_smps(vif, 0, smps_mode); } static bool iwl_wait_stats_complete(struct iwl_notif_wait_data *notif_wait, From nobody Tue Sep 5 22:08:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgKQp66xNz4sVFH; Tue, 5 Sep 2023 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgKQp5QrPz4KxR; Tue, 5 Sep 2023 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693951730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gf8FR7UqG+6klAIjbPA8MTKPG5vBNt3vvd5Qf7IT3Y0=; b=hvCl/WADoFGbpG7fpqHS06cQRBftcIQxkppvxKxRoEQTY7735+CzCYWr0hRpbOg5YWCcqw wXdNzSRCJgusitHLa8jmjDZQ9ZJKGSNmjgf6Yy77Cnh0uPOS/raR6AkQK2dY5H1OZxRXYR AvbpI4gZEKNoXDEkhPT945PeMYbLGy4vEu33qtINhVzV5VX6y/nqUfYuh4hj2JlLRGsjBJ Ts3ZD4bH7MOeTBtAHMLtjR8UBqD2KVvK1BdF9yuYfKJe67sBs5DYnvvCli3Of10LBv6XWh ktwZyjeDDf8rrav+T77AJmgD0ua6hQEeaw6uuxEja0uHTHfb82CR6rx9PUSfEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693951730; a=rsa-sha256; cv=none; b=cljhRXI4dDTesTeqU47r9hNwDEf7mopL3h7YBZfAZ5W0BWhj2v18byQC9ahSRo0VzfU8kS re+RMyBiRskn6bGjmHOVWjyaS0E2CrYub4SIxiCobl+Av9S5zQYc0D1gZfd8Mm5mageSEu KqvCtqaBAw7u56JH/iql08MecPor1xVuDa0paUDOWjuN5jQ38FXNsX9fJnGrHu9+/avfd5 MzpX89EpdcdZNQQ4oqmTvSAUcc81g9BrSLzMwFGoEQAaUPcxBqpbhFAmkJWNQO5+cJAVvg UbGmao8zuJDgXzDFhGH+h7H5iKCr7JNOCgpTE3g1yjO0mfH8GOQd1koUVxRY2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693951730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gf8FR7UqG+6klAIjbPA8MTKPG5vBNt3vvd5Qf7IT3Y0=; b=FmwufBoxpv3o/Px7AHgIa8FxeHow74yVojtaTv0ujHk5sjAQ09Oqx6Mft2gAsRbmCKVii6 a+M7oEkfQ1rrPJLqgjEIm8HggfVoP8o4s8N8ymVOEDEAtBLRJJXDvXN/kQAe62M1FDnBcx QK+5V/DhKjgnWgkI7pPmMdQ9MNcyHOXpvLKGcpod99im/ckC8VgerEplbB0OixaYxNetmN Mmv51j1hS2US5iKG6Rj1/Bx/QNhN6za/bohBvLCzHGc31ykswdM7sGeyL7qr80efthhepc P2XygDBL7wlpmPx8GFwOjmMwqGpe0CMVnc/UZoVE2mHMcALmihF/RYq0tm1KyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgKQp4N2jzqd4; Tue, 5 Sep 2023 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385M8o0h042849; Tue, 5 Sep 2023 22:08:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385M8oAZ042846; Tue, 5 Sep 2023 22:08:50 GMT (envelope-from git) Date: Tue, 5 Sep 2023 22:08:50 GMT Message-Id: <202309052208.385M8oAZ042846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: b19d8afe4dd2 - main - msun: LIBCSRCDIR is too fragile, use ${SRCTOP}/lib/libc instead List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b19d8afe4dd205f7d4bfa3282f58b73d504926db Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b19d8afe4dd205f7d4bfa3282f58b73d504926db commit b19d8afe4dd205f7d4bfa3282f58b73d504926db Author: Warner Losh AuthorDate: 2023-09-05 20:58:06 +0000 Commit: Warner Losh CommitDate: 2023-09-05 22:08:02 +0000 msun: LIBCSRCDIR is too fragile, use ${SRCTOP}/lib/libc instead LIBCSRCDIR is defined in bsd.libnames.mk, which is read in later in the Makefile than the line: .if exists(${LIBCSRCDIR}/${MACHINE_ARCH}) so we test to see if /${MARCHIN_ARCH} exists which it usually doesn't (but did for me since I mounted 13.2R SD image there). Move to defining our own LIBC_SRCTOP in terms of SRCTOP to treat these uniformily. Sponsored by: Netflix Reviewed by: sjg Differential Revision: https://reviews.freebsd.org/D41661 --- lib/libc/Makefile | 14 ++++++++------ lib/msun/Makefile | 20 +++++++++++++++----- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index a26215324332..7540eb8c21ad 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -7,12 +7,14 @@ SHLIBDIR?= /lib LIBC_SRCTOP?= ${.CURDIR} -# Pick the current architecture directory for libc. In general, this is -# named MACHINE_CPUARCH, but some ABIs are different enough to require -# their own libc, so allow a directory named MACHINE_ARCH to override this. - -.if exists(${LIBC_SRCTOP}/${MACHINE_ARCH:S/powerpc64le/powerpc64/}) -LIBC_ARCH=${MACHINE_ARCH:S/powerpc64le/powerpc64/} +# Pick the current architecture directory for libc. In general, this is named +# MACHINE_CPUARCH, but some ABIs are different enough to require their own libc, +# so allow a directory named MACHINE_ARCH to override this (though treat +# powerpc64le and powerpc64 the same). +# Note: This is copeid to msun/Makefile +M=${MACHINE_ARCH:S/powerpc64le/powerpc64/} +.if exists(${LIBC_SRCTOP}/${M}) +LIBC_ARCH=${M} .else LIBC_ARCH=${MACHINE_CPUARCH} .endif diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 8bc984c2c342..9917be01d863 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -97,17 +97,27 @@ COMMON_SRCS+= s_cospi.c s_cospif.c \ s_sinpi.c s_sinpif.c \ s_tanpi.c s_tanpif.c +# LIBCSRCDIR is defined lazily, so can't be used for exists() below +LIBC_SRCTOP=${SRCTOP}/lib/libc # Location of fpmath.h and _fpmath.h -.if exists(${LIBCSRCDIR}/${MACHINE_ARCH}) -LIBC_ARCH=${MACHINE_ARCH} + +# Pick the current architecture directory for libc. In general, this is named +# MACHINE_CPUARCH, but some ABIs are different enough to require their own libc, +# so allow a directory named MACHINE_ARCH to override this (though treat +# powerpc64le and powerpc64 the same). +# Note: This is copied from libc/Makefile +M=${MACHINE_ARCH:S/powerpc64le/powerpc64/} +.if exists(${LIBC_SRCTOP}/${M}) +LIBC_ARCH=${M} .else LIBC_ARCH=${MACHINE_CPUARCH} .endif -CFLAGS+= -I${.CURDIR}/src -I${LIBCSRCDIR}/include \ - -I${LIBCSRCDIR}/${LIBC_ARCH} + +CFLAGS+= -I${.CURDIR}/src -I${LIBC_SRCTOP}/include \ + -I${LIBC_SRCTOP}/${LIBC_ARCH} SYM_MAPS+= ${.CURDIR}/Symbol.map -VERSION_DEF= ${LIBCSRCDIR}/Versions.def +VERSION_DEF= ${LIBC_SRCTOP}/Versions.def SYMBOL_MAPS= ${SYM_MAPS} # C99 long double functions From nobody Tue Sep 5 22:15:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgKZL5pzBz4sXs3; Tue, 5 Sep 2023 22:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgKZL5LwDz4MRK; Tue, 5 Sep 2023 22:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F30PriHE+s3b2ipeV7cFY/EkxN4LEaku4cIsSkvJlR8=; b=MX1O78vmvM3gWa/f37aqIEthztLOwVhL0rY66baqVj9h66EdsgwbUk8WHYqW0ojLwhXGFZ 4FvCYDVWq2i71OtoOuIjF7fa7rCZgDnsiGX3ylnDffWkWKPFLCi2r3lJzmHnPaAaaImM9x y7F/SQms8phrae2pVyshUS8+YuiDHlBuVkTm8xxNTCsohPosNIujiWbXl4YR/4nq8BViVW dEteK6kBXG7lkfpFe9kffiv0wI5SfhAR6pKz3i1jkw9ATtFm9fqlgJzWDsg1t8uo/fI9U1 VUusAlDwtSne1U2lX7eCxBqLGPmDv4w6iSkQU71GJVf+KI1os3LaXwW3fvjTZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693952122; a=rsa-sha256; cv=none; b=boocVjpjxLBJZdY3o5nFmgDgqyIXDPkb5SUfYlH3+xL7hYWVXwwyh1Xj3wdH4kIMoxbcOq qss0l4e/4uuR2eilFX7brRI23jYUwQOrxfNcpLZ7vzkKs/bwKNtos6vvN8xjoCi4S6mQZK TPdH1Tt9xiokmGbqyw15b/joerltiCNv3slmd7Unw1743+Jr2xSEvpNaH5uG8gOztwwyOj uvDI8ux+nbNJL9pm9FCeXDrBMwl3/jJVKy2Zn+V0I0mWuZxqSZG3huCuMuCl6636t2pFOM wAXFsCXidbhbKWw1Su5o1ePg49NjW/7hxdRHUnpis6lJV11xbVdaG8+JIWbN9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F30PriHE+s3b2ipeV7cFY/EkxN4LEaku4cIsSkvJlR8=; b=GSwQyUxqwHXADqb16wwAyekpWS2qdRwEhzgJdVUI/ktdmUPFpJ8dpi3PYKMbPxyGSYFgFr raGkdnFpDjMbe6G0j4wr5Pz2mFLf2jVvT+vzX6KIdNiprvBqqeL/gCS3od2aHClG/o4jYi 9hBxjvbtCxITXI2iLU2aYz0ADur6hL0ekpezDYNDBrihL+9bYY7vowVv7ExAlhNxu8CSFz esGSqRAaZPTyu4bP6tcmasrlvBBzUuvPUAWt3U4GkLJK0lgjAJrR7CnOostCuCVD5R+jQX 9lfnHy7wfd+6151qnZizAi0EfDfh8Ugj1o2laHD6RAzDzcErcm4lES/GJwRU4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgKZL4QJfzrBP; Tue, 5 Sep 2023 22:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385MFMRF058598; Tue, 5 Sep 2023 22:15:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385MFMZh058595; Tue, 5 Sep 2023 22:15:22 GMT (envelope-from git) Date: Tue, 5 Sep 2023 22:15:22 GMT Message-Id: <202309052215.385MFMZh058595@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 3814249f1e8d - main - cxgbe(4): Avoid hang on kldunload on netlink enabled kernels. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3814249f1e8dacfcd326dd7c416c528a1d88b6a1 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=3814249f1e8dacfcd326dd7c416c528a1d88b6a1 commit 3814249f1e8dacfcd326dd7c416c528a1d88b6a1 Author: Navdeep Parhar AuthorDate: 2023-09-05 18:21:03 +0000 Commit: Navdeep Parhar CommitDate: 2023-09-05 22:10:02 +0000 cxgbe(4): Avoid hang on kldunload on netlink enabled kernels. netlink(4) calls back into the driver during detach and it attempts to start an internal synchronized op recursively, causing an interruptible hang. Fix it by failing the ioctl if the VI has been marked as DOOMED by cxgbe_detach. Here's the stack for the hang for reference. #6 begin_synchronized_op #7 cxgbe_media_status #8 ifmedia_ioctl #9 cxgbe_ioctl #10 if_ioctl #11 get_operstate_ether #12 get_operstate #13 dump_iface #14 rtnl_handle_ifevent #15 rtnl_handle_ifnet_event #16 rt_ifmsg #17 if_unroute #18 if_down #19 if_detach_internal #20 if_detach #21 ether_ifdetach #22 cxgbe_vi_detach #23 cxgbe_detach #24 DEVICE_DETACH MFC after: 3 days Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 759887a2a488..a32cd9a3f2df 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -3459,7 +3459,7 @@ cxgbe_media_status(if_t ifp, struct ifmediareq *ifmr) struct adapter *sc = pi->adapter; struct link_config *lc = &pi->link_cfg; - if (begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4med") != 0) + if (begin_synchronized_op(sc, vi , SLEEP_OK | INTR_OK, "t4med") != 0) return; PORT_LOCK(pi); From nobody Tue Sep 5 22:26:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgKpt6mKMz4sd8R; Tue, 5 Sep 2023 22:26:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgKpt6KrVz4Ppf; Tue, 5 Sep 2023 22:26:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZBqAr04GT2QXhKcn5NYcCBaIq4QggWNQNukgGqz4Uu8=; b=ETs+P/yIWWAKAha0hm0Ul2om41iUS8ctlpxz6DSf5kfde9kdLbRIgqssNUwlc3hStuBbi7 aOSNrTIsma5PIoG7IG8tUJVn7909JI+eZ/pv0W+eRa2Q0hewBG9nraWw5RzBRvityXFt+q M9whTqbFTIG/VCMIWHmAbYVgtHUPgSNI6v5gaERnYzFJoYs4RkK/xLo3GtMp4ybLRNQeo6 h53bhwJu7+9MjqLYajS/81oc54bjCy4VRxC1TwVRRZO9vb1vCzDZP/z8l+YbVIG55u4gYC QPWGLwmmWtQz/mC9AtszHoVc2R4PRtLyaS/S8J1YDihX3AsQcEH4FZMl6tnqiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693952774; a=rsa-sha256; cv=none; b=udCMUgDpI5QnGbqSwl3q6hYnv8M+SdfnXwYMew24g7wto16Lq1uOL32S00axs2Q4SPPaR1 IccHlOOKc6zOeSTsvrbyU73UG7ISAGctEX9Y3aTISGqrCDp0uKsb/ZAJFMhx6n5QJw1cpe Gt5Igmaz8d3agNyVtUxT+HFiigk2kUi3b/jRlzPWZ++4vwFKKZQe33D//VH5h3oOpTeLDz eOR+6kUP8oFXNVbDws8qa8Y94TxLIIpLDmzfC0d4bMFlmlwaF4n+OwjE0vTurr+qbTYVEz IJVGRBwtrbrGFAO4HKI3dVquB98DkWWqx/+K2AFQDWtXkXVZ0YX8l3Ukd3VQeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZBqAr04GT2QXhKcn5NYcCBaIq4QggWNQNukgGqz4Uu8=; b=PQL70PWp+HKzJRExTzJfsu6n5FBHdfg+fnFkihcF9DmHRVZEHD+KQCCkODRXzN64FOFqin qin1lv8FcER0njlZNM88++JuBojWj4kgJtMV7v00n/nw0FCZNTTlSl4CK/e2MHtySp9GgC oW0OIv/77isMLDlxwA+EgPaGePXBg/9PrUiGhzuFkrc0gnLRLxuXkWavhOXIx8CqlJI7cR SjV8LkODSQaqyrdUCGVgRwMAdprun4pkxIQ52g461iosJg8+zrylgqMP5+mVg/kvdvljA6 c9H/l6FjX4fz3O6YgnMYnNJZ9228yn4Sw3CR0BnK3fgNtBAm2iQbNGnYbjMlqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgKpt5HDVzrXP; Tue, 5 Sep 2023 22:26:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385MQEI8075318; Tue, 5 Sep 2023 22:26:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385MQEov075315; Tue, 5 Sep 2023 22:26:14 GMT (envelope-from git) Date: Tue, 5 Sep 2023 22:26:14 GMT Message-Id: <202309052226.385MQEov075315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a1f506156c4d - main - timerfd: Define a locking regime List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1f506156c4db885d3cc177c93e9c8a28d535d30 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a1f506156c4db885d3cc177c93e9c8a28d535d30 commit a1f506156c4db885d3cc177c93e9c8a28d535d30 Author: Jake Freeland AuthorDate: 2023-09-05 22:10:44 +0000 Commit: Warner Losh CommitDate: 2023-09-05 22:24:41 +0000 timerfd: Define a locking regime Define a locking regime for the members of struct timerfd and document it so future code can follow the standard. The lock legend can be found in a comment above struct timerfd. Additionally, * Add assertions based on locking regime. * Fill kn_data with the expiration count when EVFILT_READ is triggered. * Report st_ctim for stat(2). * Check if file has f_type == DTYPE_TIMERFD before assigning timerfd pointer to f_data. MFC After: 3 days Reviewed by: imp, kib, markj Differential Revision: https://reviews.freebsd.org/D41600 --- sys/kern/sys_timerfd.c | 61 +++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index e4d2f10f28ef..a81b5ad0fade 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -73,28 +73,36 @@ static struct unrhdr64 tfdino_unr; #define TFD_CANCELED 4 /* Jumped, CANCEL_ON_SET=true. */ #define TFD_JUMPED (TFD_ZREAD | TFD_CANCELED) +/* + * One structure allocated per timerfd descriptor. + * + * Locking semantics: + * (t) locked by tfd_lock mtx + * (l) locked by timerfd_list_lock sx + * (c) const until freeing + */ struct timerfd { /* User specified. */ - struct itimerspec tfd_time; /* tfd timer */ - clockid_t tfd_clockid; /* timing base */ - int tfd_flags; /* creation flags */ - int tfd_timflags; /* timer flags */ + struct itimerspec tfd_time; /* (t) tfd timer */ + clockid_t tfd_clockid; /* (c) timing base */ + int tfd_flags; /* (c) creation flags */ + int tfd_timflags; /* (t) timer flags */ /* Used internally. */ - timerfd_t tfd_count; /* expiration count since last read */ - bool tfd_expired; /* true upon initial expiration */ - struct mtx tfd_lock; /* mtx lock */ - struct callout tfd_callout; /* expiration notification */ - struct selinfo tfd_sel; /* I/O alerts */ - struct timespec tfd_boottim; /* cached boottime */ - int tfd_jumped; /* timer jump status */ - LIST_ENTRY(timerfd) entry; /* entry in list */ + timerfd_t tfd_count; /* (t) expiration count since read */ + bool tfd_expired; /* (t) true upon initial expiration */ + struct mtx tfd_lock; /* tfd mtx lock */ + struct callout tfd_callout; /* (t) expiration notification */ + struct selinfo tfd_sel; /* (t) I/O alerts */ + struct timespec tfd_boottim; /* (t) cached boottime */ + int tfd_jumped; /* (t) timer jump status */ + LIST_ENTRY(timerfd) entry; /* (l) entry in list */ /* For stat(2). */ - ino_t tfd_ino; /* inode number */ - struct timespec tfd_atim; /* time of last read */ - struct timespec tfd_mtim; /* time of last settime */ - struct timespec tfd_birthtim; /* creation time */ + ino_t tfd_ino; /* (c) inode number */ + struct timespec tfd_atim; /* (t) time of last read */ + struct timespec tfd_mtim; /* (t) time of last settime */ + struct timespec tfd_birthtim; /* (c) creation time */ }; static void @@ -109,6 +117,7 @@ static inline void timerfd_getboottime(struct timespec *ts) { struct timeval tv; + getboottime(&tv); TIMEVAL_TO_TIMESPEC(&tv, ts); } @@ -274,6 +283,8 @@ filt_timerfdread(struct knote *kn, long hint) { struct timerfd *tfd = kn->kn_hook; + mtx_assert(&tfd->tfd_lock, MA_OWNED); + kn->kn_data = (int64_t)tfd->tfd_count; return (tfd->tfd_count > 0); } @@ -308,13 +319,13 @@ timerfd_stat(struct file *fp, struct stat *sb, struct ucred *active_cred) sb->st_uid = fp->f_cred->cr_uid; sb->st_gid = fp->f_cred->cr_gid; sb->st_blksize = PAGE_SIZE; - mtx_lock(&tfd->tfd_lock); - sb->st_ino = tfd->tfd_ino; sb->st_atim = tfd->tfd_atim; sb->st_mtim = tfd->tfd_mtim; - sb->st_birthtim = tfd->tfd_birthtim; mtx_unlock(&tfd->tfd_lock); + sb->st_ctim = sb->st_mtim; + sb->st_ino = tfd->tfd_ino; + sb->st_birthtim = tfd->tfd_birthtim; return (0); } @@ -342,15 +353,12 @@ static int timerfd_fill_kinfo(struct file *fp, struct kinfo_file *kif, struct filedesc *fdp) { - struct timerfd *tfd = fp->f_data; kif->kf_type = KF_TYPE_TIMERFD; - mtx_lock(&tfd->tfd_lock); kif->kf_un.kf_timerfd.kf_timerfd_clockid = tfd->tfd_clockid; kif->kf_un.kf_timerfd.kf_timerfd_flags = tfd->tfd_flags; kif->kf_un.kf_timerfd.kf_timerfd_addr = (uintptr_t)tfd; - mtx_unlock(&tfd->tfd_lock); return (0); } @@ -376,6 +384,7 @@ timerfd_curval(struct timerfd *tfd, struct itimerspec *old_value) { struct timespec curr_value; + mtx_assert(&tfd->tfd_lock, MA_OWNED); *old_value = tfd->tfd_time; if (timespecisset(&tfd->tfd_time.it_value)) { nanouptime(&curr_value); @@ -472,11 +481,11 @@ kern_timerfd_gettime(struct thread *td, int fd, struct itimerspec *curr_value) error = fget(td, fd, &cap_write_rights, &fp); if (error != 0) return (error); - tfd = fp->f_data; - if (tfd == NULL || fp->f_type != DTYPE_TIMERFD) { + if (fp->f_type != DTYPE_TIMERFD) { fdrop(fp, td); return (EINVAL); } + tfd = fp->f_data; mtx_lock(&tfd->tfd_lock); timerfd_curval(tfd, curr_value); @@ -504,11 +513,11 @@ kern_timerfd_settime(struct thread *td, int fd, int flags, error = fget(td, fd, &cap_write_rights, &fp); if (error != 0) return (error); - tfd = fp->f_data; - if (tfd == NULL || fp->f_type != DTYPE_TIMERFD) { + if (fp->f_type != DTYPE_TIMERFD) { fdrop(fp, td); return (EINVAL); } + tfd = fp->f_data; mtx_lock(&tfd->tfd_lock); getnanotime(&tfd->tfd_mtim); From nobody Tue Sep 5 22:26:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgKpw3l40z4sd3S; Tue, 5 Sep 2023 22:26:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgKpv6vy0z4Pw2; Tue, 5 Sep 2023 22:26:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yujNGwS8AznNle115dEGCIbkEpJ4jQDj4Cb9J4oHczA=; b=l1B1goO6W8nOfBOQeZq4xSp1h3M+tNd5ayx3nqgG9SbHwmX0FQa/XNxzllVWsdB7AzuqEU DJzuWNH+O5Y61OHP/QYu3cr4EaIuu7G1vF5cNtriSICRszicO2iAbMDYoGy1X9CqtyLWtm FyxkSobDn2ySqFZbaae+stfQ/am9izjNdMs/xt5tcRfGTZVtEhUvv+ppe/8M6DgIM7ZqNp VFtDkC9TBRkEFwsijX88snYnt1ihZWaGAos06x8jnLVOkmCjvrhyi3uJGPO8tFzdLZKZL0 mh3zGZDa9hy3Y1u8wi398yMei3OgpNeSZ9pBMaNLVUbzBeyNTMNWVtnTcRcYWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693952776; a=rsa-sha256; cv=none; b=dyFYTNtCefjsNTlb8trWIYE0WDW83AM63KktIAvS08uw1O1/w2rnQ7+5DcsiuMWTG4nV+F e4Guvh04EvqT68tIi5xOJdK4kJnRvlb/arOHjnqg17gmF7sBFYQNQIrKvaohuaJeImUcGn SkQc9Pk+vxNaDprRdEsFT8YJp9QQHE1+bv1pYgjkCAw78HNM0DgqD+s6SObQmoAfNn/o26 zAkIBr5zPO14wQ1lqTS82iVk78RlooY7t+gSHKMqKpA90UI9s6DbI763UltpM65+eDFHSg FYNuOW/xcWid0PTiQjXqq0VmY2J1PLU6UGyixizFXrvb2ofwALUY9mUmZ7utgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yujNGwS8AznNle115dEGCIbkEpJ4jQDj4Cb9J4oHczA=; b=dLLT3u6Vm2gE1JOYnBk1+z1tMIFk2q7pIqu2DqRwm7Y7StHDAAB/yTTK+pzRzXEj4ICkO1 y+5ayhkDW17h3Z2EJOalg0pvBQMd0i6mit9GYFk96KBmteVKPEhU7oF7iY/qXR+1r2xvKp Wo8vb41PpWcox+AZEvLvEWx9yl/X8QEdGibTaNZHdxf2aAJGRw8a3D5RjF08Ld9MtG0yjG 7Y5/P1yhDgdu0H8J65J3bnaYCXsUxsEuyXGrAWrvkDNS0AGtNUv70LmxyaJVbpSfo6xXaN 8t7L//fCpSk5nZtv9UQnokbrHwte2EPXnZrFtBAE0qXMeJkxEWrE8jKTQEDPDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgKpv5v1QzrCB; Tue, 5 Sep 2023 22:26:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385MQFsB075357; Tue, 5 Sep 2023 22:26:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385MQF5F075354; Tue, 5 Sep 2023 22:26:15 GMT (envelope-from git) Date: Tue, 5 Sep 2023 22:26:15 GMT Message-Id: <202309052226.385MQF5F075354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: fb5daae920ba - main - timerfd: Namespace pollution adjustments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb5daae920bae84e3eec8175bf9e46304c3b2ae6 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fb5daae920bae84e3eec8175bf9e46304c3b2ae6 commit fb5daae920bae84e3eec8175bf9e46304c3b2ae6 Author: Jake Freeland AuthorDate: 2023-09-05 22:11:50 +0000 Commit: Warner Losh CommitDate: 2023-09-05 22:25:01 +0000 timerfd: Namespace pollution adjustments Do not pollute userspace with , instead declare struct thread when _KERNEL is defined. Include instead of . This causes intentional namespace pollution that mimics Linux. g/musl libcs include in their , exposing clock gettime, settime functions and CLOCK_ macro constants. Ports like Chromium expect this namespace pollution and fail without it. MFC After: 3 days Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D41641 --- sys/sys/timerfd.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/sys/timerfd.h b/sys/sys/timerfd.h index 8cb9939ba60f..cace3b71498c 100644 --- a/sys/sys/timerfd.h +++ b/sys/sys/timerfd.h @@ -30,8 +30,12 @@ #include #include -#include -#include +/* + * We only need , but glibc pollutes the namespace + * with . This pollution is expected by most programs, so + * reproduce it by including here. + */ +#include typedef uint64_t timerfd_t; @@ -54,6 +58,8 @@ __END_DECLS #else /* _KERNEL */ +struct thread; + int kern_timerfd_create(struct thread *td, int clockid, int flags); int kern_timerfd_gettime(struct thread *td, int fd, struct itimerspec *curr_value); From nobody Tue Sep 5 22:26:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgKpx1bBxz4sd8d; Tue, 5 Sep 2023 22:26:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgKpx0jlDz4PnF; Tue, 5 Sep 2023 22:26:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LlnJn3LC9iHqXJdwpU77yR16qnsvUB9L2ZavkwEYovM=; b=Qc1LmBl/tw976XBuJBEKrfeQ98kbYydLJXWUFmE9b5CncKtAnY7qW9xWA2snmSMg7y6bCw +/diPBkhnUe4A2T6u1PhuY9H/gDfJOXdaLCkSb3ia5wI+tt+GZ4vNaaafZSqFl6qegj9Rk OWiMsZSavNsyPDsV5oAt3AobQCIeREmr7d3Lv3gwi/VmRu7S9WzcwKpLxt9nfqz2PvOFcl lGQm1CybiQtsuUwcflrlijjAlXb+b9bO1NAc+Z3wIOTmq8+TojzTz5XYzwEiuwnAADSJyk 2sAjGTS4mB1IOjN9J1oaPPJeWStriAR8wr9n4im0PMpXpeCzu0XnaGhJLBlesA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693952777; a=rsa-sha256; cv=none; b=V2I5s/J+GmyzEce+qAWzQK4B8SUzvZXG2KwtAq48gRwDor6rGNexzPVPvD/A0WTy07dEeU XN15VRYLIJbi0wxTqcelMWjLcccPblVUxawpZoWhihH5Iqtij3m7O/FIpI36INxiJI8VWv BDVPoYFpGIu2yviX3GWw6//ukh4YUVISjxwUemsz8mQUlKV47EXsC8m3nMPRb3qV1dQ7K/ 4KqB7Z4umCMAxRqyHhwyEXyGyX9f/cJM9BaJddG8PCPL+vvOtSZtsGNTyzKAo+OaBb2aRm qazXn/gpwJKDf0lIB5/w23N7YkxZQU1WOWE1RBU9oDMmThkG7jQj0RNiV9Qjgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693952777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LlnJn3LC9iHqXJdwpU77yR16qnsvUB9L2ZavkwEYovM=; b=QQ9M6y0Aeh+zMp5Fst4CGs0Y9wN1dGlJ3cpi8k3TOYm1qa4HZZfy6chSiOwPiK13NBUiQo kODkpLxPM/ocMmMXWe7OVf0I2maCss9uzkxfbqToNNQucCmE9X4fmG7ZVeK2bImsmoPw4r iuNvRDX0Io0MAzynHOvq02dxVGrWWS+/TPeIWPeUKVGgsHm+6TMvdsK7oescRf/NbuYHyq gwiSZRGzXl/0TJIIyXBqpODrBKeH5IdvIaaG/27w0WYA+TQs5c2JSS+5uvJyZQFyNaCb05 +Y8lES3m+Qdv8EjBHDt1E+5R2VSOPsAi3YhCJoHvVE5rOPGwPcxF7TIsWpB+Xg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgKpw6sjxzqpc; Tue, 5 Sep 2023 22:26:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 385MQGML075406; Tue, 5 Sep 2023 22:26:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 385MQGbE075403; Tue, 5 Sep 2023 22:26:16 GMT (envelope-from git) Date: Tue, 5 Sep 2023 22:26:16 GMT Message-Id: <202309052226.385MQGbE075403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 918966a27479 - main - timerfd: Relocate 32-bit compat code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 918966a27479b4fb7c4c8999c4926d83c2c081e5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=918966a27479b4fb7c4c8999c4926d83c2c081e5 commit 918966a27479b4fb7c4c8999c4926d83c2c081e5 Author: Jake Freeland AuthorDate: 2023-09-05 22:13:23 +0000 Commit: Warner Losh CommitDate: 2023-09-05 22:25:07 +0000 timerfd: Relocate 32-bit compat code 32-bit compatibility code is conventionally stored in sys/compat/freebsd32. Move freebsd32_timerfd_gettime() and freebsd32_timerfd_settime() from sys/kern/sys_timerfd.c to sys/compat/freebsd32/freebsd32_misc.c. MFC After: 3 days Reviewed by: imp, markj Differential Revision; https://reviews.freebsd.org/D41640 --- sys/compat/freebsd32/freebsd32_misc.c | 55 +++++++++++++++++++++++++++++++ sys/kern/sys_timerfd.c | 61 ----------------------------------- 2 files changed, 55 insertions(+), 61 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 22ee4897083e..c26e7b97e717 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -82,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -3138,6 +3139,60 @@ freebsd32_ktimer_gettime(struct thread *td, return (error); } +int +freebsd32_timerfd_gettime(struct thread *td, + struct freebsd32_timerfd_gettime_args *uap) +{ + struct itimerspec curr_value; + struct itimerspec32 curr_value32; + int error; + + error = kern_timerfd_gettime(td, uap->fd, &curr_value); + if (error == 0) { + CP(curr_value, curr_value32, it_value.tv_sec); + CP(curr_value, curr_value32, it_value.tv_nsec); + CP(curr_value, curr_value32, it_interval.tv_sec); + CP(curr_value, curr_value32, it_interval.tv_nsec); + error = copyout(&curr_value32, uap->curr_value, + sizeof(curr_value32)); + } + + return (error); +} + +int +freebsd32_timerfd_settime(struct thread *td, + struct freebsd32_timerfd_settime_args *uap) +{ + struct itimerspec new_value, old_value; + struct itimerspec32 new_value32, old_value32; + int error; + + error = copyin(uap->new_value, &new_value32, sizeof(new_value32)); + if (error != 0) + return (error); + CP(new_value32, new_value, it_value.tv_sec); + CP(new_value32, new_value, it_value.tv_nsec); + CP(new_value32, new_value, it_interval.tv_sec); + CP(new_value32, new_value, it_interval.tv_nsec); + if (uap->old_value == NULL) { + error = kern_timerfd_settime(td, uap->fd, uap->flags, + &new_value, NULL); + } else { + error = kern_timerfd_settime(td, uap->fd, uap->flags, + &new_value, &old_value); + if (error == 0) { + CP(old_value, old_value32, it_value.tv_sec); + CP(old_value, old_value32, it_value.tv_nsec); + CP(old_value, old_value32, it_interval.tv_sec); + CP(old_value, old_value32, it_interval.tv_nsec); + error = copyout(&old_value32, uap->old_value, + sizeof(old_value32)); + } + } + return (error); +} + int freebsd32_clock_getcpuclockid2(struct thread *td, struct freebsd32_clock_getcpuclockid2_args *uap) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index a81b5ad0fade..e245baed88be 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -54,11 +54,6 @@ #include -#ifdef COMPAT_FREEBSD32 -#include -#include -#endif - static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures"); static struct mtx timerfd_list_lock; @@ -598,59 +593,3 @@ sys_timerfd_settime(struct thread *td, struct timerfd_settime_args *uap) } return (error); } - -#ifdef COMPAT_FREEBSD32 -int -freebsd32_timerfd_gettime(struct thread *td, - struct freebsd32_timerfd_gettime_args *uap) -{ - struct itimerspec curr_value; - struct itimerspec32 curr_value32; - int error; - - error = kern_timerfd_gettime(td, uap->fd, &curr_value); - if (error == 0) { - CP(curr_value, curr_value32, it_value.tv_sec); - CP(curr_value, curr_value32, it_value.tv_nsec); - CP(curr_value, curr_value32, it_interval.tv_sec); - CP(curr_value, curr_value32, it_interval.tv_nsec); - error = copyout(&curr_value32, uap->curr_value, - sizeof(curr_value32)); - } - - return (error); -} - -int -freebsd32_timerfd_settime(struct thread *td, - struct freebsd32_timerfd_settime_args *uap) -{ - struct itimerspec new_value, old_value; - struct itimerspec32 new_value32, old_value32; - int error; - - error = copyin(uap->new_value, &new_value32, sizeof(new_value32)); - if (error != 0) - return (error); - CP(new_value32, new_value, it_value.tv_sec); - CP(new_value32, new_value, it_value.tv_nsec); - CP(new_value32, new_value, it_interval.tv_sec); - CP(new_value32, new_value, it_interval.tv_nsec); - if (uap->old_value == NULL) { - error = kern_timerfd_settime(td, uap->fd, uap->flags, - &new_value, NULL); - } else { - error = kern_timerfd_settime(td, uap->fd, uap->flags, - &new_value, &old_value); - if (error == 0) { - CP(old_value, old_value32, it_value.tv_sec); - CP(old_value, old_value32, it_value.tv_nsec); - CP(old_value, old_value32, it_interval.tv_sec); - CP(old_value, old_value32, it_interval.tv_nsec); - error = copyout(&old_value32, uap->old_value, - sizeof(old_value32)); - } - } - return (error); -} -#endif From nobody Wed Sep 6 01:38:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgQ4T3bnpz4srMC; Wed, 6 Sep 2023 01:38:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgQ4T38Ftz3cCL; Wed, 6 Sep 2023 01:38:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693964297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IzmeVWV49OvJyd5a/phkrSxKWbhbFgsxMamRE/dGdzY=; b=myLFAOPCEjGup7ZI061wqOiU5yG5xECUks0qkHnCE4pwlRgBLx9iaTlqeqHMXVOBQ2FaGY XKQXv1r9O4fjmxUlgkP8NaBdySIgGFLEsdwv2fBdpxYQSJQ422bydwjrFReDlz7Hl0Hlta xoAurfkCf9Jxc3ngc2LQItx1aiYHarTfEXCpTJGszsYmPmfJ+rXVTXxfVxwUYDWyz1eHZG LeK6q0rlRE6856kvMKQLz20AvQs+oFdnc1X7TuvJXa/tKQ98nSUEZ0Rpfq0/aJeDPyhvCR zNU8ZCTrbLIRnaSOvHADg9tXZxS5wobF+uu57sBzFKPe+k1/cZjOwI/5cAUfhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693964297; a=rsa-sha256; cv=none; b=NJ5qmEUjm7GsCXbVIvh2czPKqtDgR7QoPv5iHSn3dT0+YTqsTKy8z6WO+qBxKRmh48j9y8 wiS2uQBcLTVysFzm0WeX2Ak6CiIKkWio6h4nnHwmzoOaAXM+nvlHK8oDtfNF3UC/k4GSVT JEwHuwwjnz1kdLdEAPZ+UTIlUyLmv8KlvZ8QnIvK/8Jm9RaweKNdZuXlL8mayV0JAPgNnT EAyLCF9HPN+WKpgp3npG5hferfbH2yffta8koxDmpLaXw4C1m+7NmmdMngjk0lrUYaWauK CXHi14WmHI/iLoCjQX9iZSvQUNt5ttgI3KmRx+9buoCXvBO6YGpQ44ZHvVdWWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693964297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IzmeVWV49OvJyd5a/phkrSxKWbhbFgsxMamRE/dGdzY=; b=nspjBOLCAHVXgrMOjStNusm+mDckHaD4AG9V1u9/yBbPUoCC+wUv41tEaasjDuLSRcUCUd 1WIJUkVkdoO8hAdNpA/KHoiVCqglTIEU1JFZFPYAYiCVHlKZ4NR4xQvANk0dzLkmCl7m2o 3rMAbf+QjT+/WDu1zwNIT1VSq0wRxedScJ380kMp47aFuRkKuE0dwaXqkPuGpba5mux75w r1JknGj0AGImyCNmf0phx8AAQinvp767S2cWS4svM2gPSAHYQdYxNAwnVCnvS1kzdmb1KV 1MH1SJ+a2ZlPSgVZzvU01pol2Swum78EatVhS9/4VyaOnxOFKMR1CZ/dCWcEfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgQ4T2F6tzwqg; Wed, 6 Sep 2023 01:38:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3861cHu9088855; Wed, 6 Sep 2023 01:38:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3861cHIc088852; Wed, 6 Sep 2023 01:38:17 GMT (envelope-from git) Date: Wed, 6 Sep 2023 01:38:17 GMT Message-Id: <202309060138.3861cHIc088852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 8091b82e2916 - main - time.h: Fix visibility check for C11 and C23 features. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8091b82e291642f3034dc3fdc8689a4f4ba027da Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8091b82e291642f3034dc3fdc8689a4f4ba027da commit 8091b82e291642f3034dc3fdc8689a4f4ba027da Author: Dag-Erling Smørgrav AuthorDate: 2023-09-06 01:37:43 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-06 01:38:01 +0000 time.h: Fix visibility check for C11 and C23 features. __BSD_VISIBLE is always defined; we need to check if it's true. Fixes: d02489d11aed 9b5d724cad10 MFC after: 3 days Reviewed by: brooks, imp Differential Revision: https://reviews.freebsd.org/D41733 --- include/time.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/time.h b/include/time.h index ef55577a2f84..ff858cc1f420 100644 --- a/include/time.h +++ b/include/time.h @@ -179,13 +179,13 @@ time_t posix2time(time_t t); #include #endif -#if defined(__BSD_VISIBLE) || __ISO_C_VISIBLE >= 2011 || \ +#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2011 || \ (defined(__cplusplus) && __cplusplus >= 201703) #include /* ISO/IEC 9899:2011 7.27.2.5 The timespec_get function */ #define TIME_UTC 1 /* time elapsed since epoch */ int timespec_get(struct timespec *ts, int base); -#if defined (__BSD_VISIBLE) || __ISO_C_VISIBLE >= 2023 +#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2023 /* ISO/IEC 9899:2024 7.29.1 Components of time */ #define TIME_MONOTONIC 2 /* monotonic time */ /* ISO/IEC 9899:2024 7.29.2.7 The timespec_getres function */ From nobody Wed Sep 6 03:29:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgSYC599Vz4sZfJ; Wed, 6 Sep 2023 03:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgSYC4l3Kz4b9X; Wed, 6 Sep 2023 03:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auTQ7i69sde16X8mPFNBelpQvQqPQz3gCT2CqNtDv80=; b=DQFZAl2jR8Z6JwTqcYzlhWC3BQwhgl/KnsC+S4V60RlhBnXAaFyWFlbWORuC4v+CegkZ+n cOEbwh6N8aCeQ+MEnxu/FJT5uuk7VHpUGHuPeJ+GEDUcoRg6BX1JAFtzpOmaJ46e+fTc/5 sHNe/x5aK7Vh20RaQEmHyxTq3c69WJqLpErhObTFVrhJmtL9ftCiRk3+qm4+RN/Keuy3Br tmJfrdi3YfG7WkB7u+aPVgzWd2mJuanDzyitcXKuM8NEzYVZ5WMGisCQ9r6lOAItp4sK7j /flW+VxOx4anUUi2a5+p/fZXIsraI6TiO1kkvBN7lLNlGLS3fHbTOugTcpq9uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693970991; a=rsa-sha256; cv=none; b=k0QWyfsbMKYLqBEriaTCbEUxkGTlplFmQPnvFNl8zbr2xHsYyBD7ykpo96cJP+0FVTQQrP GpjMuN96TB6/yMz2ywKQ0/LXX4/XIMjPCfwkB0SbTbxisN2jaU8qc+kB0am1/+lUYp1G5j wBBQZmQS0ZTI1i9Ww4zIvSREEZdzowFN+SISCXY5sMgb0D2cBvkr3piO+aUXb1Ux5QLWHw B0yQRX8Uv6/CuIGKX2DFhjII0c7jFvxkdFuzteYJoRm9/phV4O7d4gBkkcikmQz0ImPVkL 0p8tJ64KqkAybNowhM/n0T/zxlGH/8yOl9BaKXI6nAMwZThCy4UTDT4JuUTqog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auTQ7i69sde16X8mPFNBelpQvQqPQz3gCT2CqNtDv80=; b=Z0lQ+ym4PSH7ltFNDOXeSwzqDxm3IsWwOxeYvvgS8L2L8rufp4BLKby4uY1LS3wHALGF9t 8aJIFhlQtn4YTJQ24BnOzOpXrVGpB3rTSsFKU+JNmQnBMSVTS8OXryShIaeCppZZhaCF0L cRaj9NoP6oYZJKsUhk3UDReqrkmUxzhVHo/GiWekZyuZMu1QFeZ5JGRa+ornGbnM8t6zNI janM38n1l7LsEBEGwWM6tbiAAb03eXYCGKiyHJl/Yg4gqZJUO4lytQYNuPZ4RKHLrIczah +2AiTfOqW2VoaQAMkppnRvIWgGRwr38wx1AqiT5tmJ7qdDIDejNvPFnwxmMj2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgSYC3nbvz106P; Wed, 6 Sep 2023 03:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3863TpJY073290; Wed, 6 Sep 2023 03:29:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3863TpNY073287; Wed, 6 Sep 2023 03:29:51 GMT (envelope-from git) Date: Wed, 6 Sep 2023 03:29:51 GMT Message-Id: <202309060329.3863TpNY073287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: cbea5eddb1b6 - main - split: Add missing test cases. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbea5eddb1b6ae2a101beacf00bf165517f4f2b1 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cbea5eddb1b6ae2a101beacf00bf165517f4f2b1 commit cbea5eddb1b6ae2a101beacf00bf165517f4f2b1 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-06 03:28:19 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-06 03:29:28 +0000 split: Add missing test cases. This adds test cases for c4f7198f47c1 and ac17fc816e67. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41755 --- usr.bin/split/tests/split_test.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/usr.bin/split/tests/split_test.sh b/usr.bin/split/tests/split_test.sh index 899fd028e74b..6b59b2442017 100755 --- a/usr.bin/split/tests/split_test.sh +++ b/usr.bin/split/tests/split_test.sh @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2022 Klara Systems +# Copyright (c) 2022-2023 Klara Systems # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -200,6 +200,26 @@ EOF atf_check -o file:foo-ab cat split-ab } +atf_test_case autoextend +autoextend_body() +{ + seq $((26*25+1)) >input + atf_check split -l1 input + atf_check -o inline:"$((26*25))\n" cat xyz + atf_check -o inline:"$((26*25+1))\n" cat xzaaa +} + +atf_test_case continue +continue_body() +{ + echo hello >input + atf_check split input + atf_check -o file:input cat xaa + atf_check -s exit:1 -e ignore cat xab + atf_check split -c input + atf_check -o file:input cat xab +} + atf_init_test_cases() { atf_add_test_case bytes @@ -209,4 +229,6 @@ atf_init_test_cases() atf_add_test_case numeric_suffix atf_add_test_case larger_suffix_length atf_add_test_case pattern + atf_add_test_case autoextend + atf_add_test_case continue } From nobody Wed Sep 6 03:29:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgSYD6YxMz4sZgy; Wed, 6 Sep 2023 03:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgSYD5lJLz4b5X; Wed, 6 Sep 2023 03:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2UTB7EbQw9yoioCGee1vwrJpDugXgmTO4CpLf/LRbVk=; b=TBPL8RpLKe65rXIlCNrOF9sWd1bHVgkT5J8y5HqG73c5FLmWBcNvgBCC9o0cnW+uqePABn kP1koxkPmNdO5m72S08Fau+naMbpXgsxpayFQX1ndM0TeaAJ4Y71+tvywROOuiA6iiXwIA nV68K0d5vLC/3IO45G+RdXHfmNIXE9U7mcvyBUu0Ad/nOTvhUSG/6E85cSqaniiKsIHaC2 wccTZi6nC3MNlMIEZhmv8fGVqHC0VOlR5uM5G78vHSwcuxsQ8ii/+/5ff5z9c7EsVhyTq6 fCw+rpWzcy824H8ycQPyqQLFj6vYs4sENDrQhYcT8gVF6aXHdZAmBHnAF/eY4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693970992; a=rsa-sha256; cv=none; b=syh5FEaPCGOmMMWQYpLQReo4U3kOT7tJugyCSGiwz9nag144hui7V1iZECr0/IeZWxnujk YYLEygUWdyMrbgkUTIQrp/9Al+345KfHUCFzqgKNjoWqE/NHNxnztAkIOeSgbS51z6Llxl 1ZYJnFcplbotQMBxSQwvEt2xmFWjqHzBGDFQagUVtlcAEUh2vnI/afbYKiMiv1x9mCRUnF srhtbTC8YkBdxDotxVCVXfT94ppTo9tMxfDMfnMhyITqr7jAu8GAUc7unApozGMq75xGe9 7Z8D/nI7aSIC7k6INJpO4zMWvo/hMVCBfDd5N/ucET/Ezo45IfcmE9P+g1Dm/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2UTB7EbQw9yoioCGee1vwrJpDugXgmTO4CpLf/LRbVk=; b=KgLQKcwIrLn+05rUf0KKgoaL9GTttZ0vwabOOVTWmE6NxvIWMmyo0y/GMRy6kb1/bdyUsx +UmECMb0m1JvLcS74pOLKikqgjH0aBBi5P4MMAqZ7v8++RA9YSEr8fnlC1b3RhTx2Cyl8x iEquulCUTkBnT5MFvJKcxO6RQOZhU7m0E4wroPQbiJF0QkJxPIX5hG1hDbbQyzWcOeM1gY CcIw0+QvUC9xVfrdH5s98F4fqgnmIMQGnFMX85XoLYwS56F/Z0VLDYNsx0xMs5yu+7eRca 0ZzPW7AkziOnpOlThG7OZUj9LYRC1RIlNW1Bbq6ROBgPPlb/5W5lrbTCY3FlwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgSYD4h2sz10cn; Wed, 6 Sep 2023 03:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3863Tqt5073329; Wed, 6 Sep 2023 03:29:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3863TqvD073326; Wed, 6 Sep 2023 03:29:52 GMT (envelope-from git) Date: Wed, 6 Sep 2023 03:29:52 GMT Message-Id: <202309060329.3863TqvD073326@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 851bf856d1a7 - main - split: Code cleanup. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 851bf856d1a7ad5427ea9c22639ab6f6c4a3f503 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=851bf856d1a7ad5427ea9c22639ab6f6c4a3f503 commit 851bf856d1a7ad5427ea9c22639ab6f6c4a3f503 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-06 03:28:25 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-06 03:29:31 +0000 split: Code cleanup. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41756 --- usr.bin/split/split.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/usr.bin/split/split.c b/usr.bin/split/split.c index b5a457ab6ecd..6894e9e63195 100644 --- a/usr.bin/split/split.c +++ b/usr.bin/split/split.c @@ -41,7 +41,6 @@ static const char sccsid[] = "@(#)split.c 8.2 (Berkeley) 4/16/94"; #endif #include -#include #include #include @@ -85,9 +84,9 @@ static void usage(void) __dead2; int main(int argc, char **argv) { - int ch; - int error; - char *ep, *p; + const char *p; + char *ep; + int ch, error; setlocale(LC_ALL, ""); @@ -157,17 +156,22 @@ main(int argc, char **argv) argv += optind; argc -= optind; - if (*argv != NULL) { /* Input file. */ + if (argc > 0) { /* Input file. */ if (strcmp(*argv, "-") == 0) ifd = STDIN_FILENO; else if ((ifd = open(*argv, O_RDONLY, 0)) < 0) err(EX_NOINPUT, "%s", *argv); ++argv; + --argc; } - if (*argv != NULL) /* File name prefix. */ - if (strlcpy(fname, *argv++, sizeof(fname)) >= sizeof(fname)) - errx(EX_USAGE, "file name prefix is too long"); - if (*argv != NULL) + if (argc > 0) { /* File name prefix. */ + if (strlcpy(fname, *argv, sizeof(fname)) >= sizeof(fname)) + errx(EX_USAGE, "file name prefix is too long: %s", + *argv); + ++argv; + --argc; + } + if (argc > 0) usage(); if (strlen(fname) + (unsigned long)sufflen >= sizeof(fname)) @@ -400,7 +404,6 @@ newfile(void) sufflen++; /* Reset so we start back at all 'a's in our extended suffix. */ - tfnum = 0; fnum = 0; } From nobody Wed Sep 6 03:29:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgSYG0xr2z4sZkG; Wed, 6 Sep 2023 03:29:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgSYF6nqMz4bMd; Wed, 6 Sep 2023 03:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fCkDKXcxz8IvJ65AZXRbk3hbgvBBpmetwc3DBHlGp9s=; b=Cz0Nix1RyFD2S4X0yivwpYDkRZesnvwN94t/UNHWoH3hdtf/fLw3HRFj/q+A57UWGUu0hN Kon9qVfHIn3uPv97d5xxrIIYMu20bR3H455P2uY1q+qJBaJk58vx24DAQJYiqwqCBu7vFR eq+LmN0oZ6vwBBpKIjvNRfG/ukG9dN2xeU3qDtCgHRA2D3wRzCEH5ZLAjYXu+hrC5HOTfi oE+7sdLPs91uM6dvPv8Nvh3WOhKbzBDih7ADlQ4TJNQW8H4bH35tWVZcgvR30hcVCOl+5R aUHSWl+RfumVUShKCxgQC/6IP8KT2zTRk4ieg5ILzTMtQLtLtyiIRmML6Y1y2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693970994; a=rsa-sha256; cv=none; b=Cms6kivCSzj4g8Hjjo1kva1xheFf71zTZhzQhIYiANCFhb5KnPgxaSQJANdzbtZ6lg9n7z TWUs8YWqs8nlP7VwXUDJljJgYXs0vhiOQCZNd07fXmE+6f5s4fciilqzH89vpyRBVPa4Wn PCzC+YJNYvrKGdTuggZmWJPWIegCPjKUFuxc11DlVPZCW8jIEJdq/yOShuNi+NmwNUoJYS Ky8h29+zqoyY4aGijim4h2hqr+gVgX/Bmd/nlYi30F8p5hUuQ/8VJBUr0c4ZUsj5we6bCh yItR495kSGsbFuNr9Mj/sEESJMOn1k8JusuGJfdP1vgY8SFn8GsAcNCbu1WECw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693970993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fCkDKXcxz8IvJ65AZXRbk3hbgvBBpmetwc3DBHlGp9s=; b=VHYebvjnzF0VGEfpc3yfznyANvdyuCHB4x4NwR6RUw38SjyYyKLUa0I78SIyN9aSh8HnkI vgcsO4hRKnf+UqCnsztl75M6RjF2GEz6g9ZASLVRnvn8SaxpWtSmtdaC25VPIq9EPysaWX wI8vP4rYynC4Gsk760UyCKOY3wsvbzA/li/F+Tgv1RifJDw8moZfIpeE9+7HyLZGLg1yg+ QgXwz+eE02Q8dED5w+BKSIMX1O2rK9xWz6LzYXIx8E217dF9QJHCtBXoNejdJObrHa5jVZ ePLqTFQ9OYL0JAJwRIJ1UwPAbIGPHg3oD21c//Ddgzwgx3JUFvVJ4MeiJJfMHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgSYF5j8qz10jt; Wed, 6 Sep 2023 03:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3863TrEU073371; Wed, 6 Sep 2023 03:29:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3863TrIf073368; Wed, 6 Sep 2023 03:29:53 GMT (envelope-from git) Date: Wed, 6 Sep 2023 03:29:53 GMT Message-Id: <202309060329.3863TrIf073368@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 117c54a78ccd - main - split: Fix linecount parsing. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 117c54a78ccd214c236806721f21da750e512d3e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=117c54a78ccd214c236806721f21da750e512d3e commit 117c54a78ccd214c236806721f21da750e512d3e Author: Dag-Erling Smørgrav AuthorDate: 2023-09-06 03:28:30 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-06 03:29:31 +0000 split: Fix linecount parsing. The “undocumented kludge” which unfortunately can't be dropped for backward compatibility reasons was prone to segfaulting and would improperly allow a new linecount when one was already set. Fix these issues and add regression tests. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41757 --- usr.bin/split/split.c | 22 ++++++++++------------ usr.bin/split/tests/split_test.sh | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/usr.bin/split/split.c b/usr.bin/split/split.c index 6894e9e63195..af1ed69c9482 100644 --- a/usr.bin/split/split.c +++ b/usr.bin/split/split.c @@ -91,7 +91,7 @@ main(int argc, char **argv) setlocale(LC_ALL, ""); dflag = false; - while ((ch = getopt(argc, argv, "0123456789a:b:cdl:n:p:")) != -1) + while ((ch = getopt(argc, argv, "0::1::2::3::4::5::6::7::8::9::a:b:cdl:n:p:")) != -1) switch (ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': @@ -99,17 +99,15 @@ main(int argc, char **argv) * Undocumented kludge: split was originally designed * to take a number after a dash. */ - if (numlines == 0) { - p = argv[optind - 1]; - if (p[0] == '-' && p[1] == ch && !p[2]) - numlines = strtol(++p, &ep, 10); - else - numlines = - strtol(argv[optind] + 1, &ep, 10); - if (numlines <= 0 || *ep) - errx(EX_USAGE, - "%s: illegal line count", optarg); - } + if (numlines != 0) + usage(); + numlines = ch - '0'; + p = optarg ? optarg : ""; + while (numlines >= 0 && *p >= '0' && *p <= '9') + numlines = numlines * 10 + *p++ - '0'; + if (numlines <= 0 || *p != '\0') + errx(EX_USAGE, "%c%s: illegal line count", ch, + optarg ? optarg : ""); break; case 'a': /* Suffix length */ if ((sufflen = strtol(optarg, &ep, 10)) <= 0 || *ep) diff --git a/usr.bin/split/tests/split_test.sh b/usr.bin/split/tests/split_test.sh index 6b59b2442017..c9b87c01618c 100755 --- a/usr.bin/split/tests/split_test.sh +++ b/usr.bin/split/tests/split_test.sh @@ -220,6 +220,25 @@ continue_body() atf_check -o file:input cat xab } +atf_test_case undocumented_kludge +undocumented_kludge_body() +{ + seq 5000 >input + atf_check split -1000 input + atf_check -o file:xae seq 4001 5000 + atf_check split -d1000 input + atf_check -o file:x04 seq 4001 5000 +} + +atf_test_case duplicate_linecount +duplicate_linecount_body() +{ + atf_check -s exit:64 -e ignore split -5 -5 /dev/null + atf_check -s exit:64 -e ignore split -l5 -5 /dev/null + atf_check -s exit:64 -e ignore split -5 -l5 /dev/null + atf_check -s exit:64 -e ignore split -l5 -l5 /dev/null +} + atf_init_test_cases() { atf_add_test_case bytes @@ -231,4 +250,6 @@ atf_init_test_cases() atf_add_test_case pattern atf_add_test_case autoextend atf_add_test_case continue + atf_add_test_case undocumented_kludge + atf_add_test_case duplicate_linecount } From nobody Wed Sep 6 08:13:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgZrd2zhtz4rrdx; Wed, 6 Sep 2023 08:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgZrd2Mtmz4tyn; Wed, 6 Sep 2023 08:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693988017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5YiIfVrW6i1Ab8F0hWM5vIpGGQHW4P3gJDmiiWxyn8=; b=iznn6DqHLQeUGjAT2rOgBayjV9IDMC73w2EulbysICVQN87WKjWn8i0cmhY2XP9xPp8M+L XO0XVY0qJfcAhHo70a21KQ3OcRv/cU3ZCP/Bi2euZ6oI+2pQvtICfxMvknIGaO3dkmbQpG +Yv2rUB5mqSkkOVAPiVM7jghOAujfeZ73V5Xxv0pZDQ9yCDhIKGOQ8F0FpFlnrhjAtXSY8 3v5yw7FOGnF6QtN5a1ZQqEuAdIxipvr/6JuUzNbFSIbftfzBOkzijdzvTnEY4Ril22fjFp hPB4vuL3wPfi8PP5wPm6QkoLuUyGidS9v8zRgXWplQvyyY+MEGTPFr6x9Jdf+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693988017; a=rsa-sha256; cv=none; b=cDUU514JKubUo/7zULgDjSTDKOrELawQMNpSbDqk0y9eJO1drZ8iN7F/jkVN0D+eNwudfl qdGduMdd0zLQv52kogi0wS6FRRSy20FxpBEafd9eAScgLFUuCOQCoTBnkowJY84y33wtml Dzm0tATMMlyyGcR5uk2mJmsNxXMa76zjjPSnvMbfWptXGnXyjiMtDjqseqJaSVuUm4TOSy Q3VxrmUcxuhlKKUNLNNdbrjnh43Oa8CxhbPc4WGWsp0iQl9e/LSF+T/w7fIFUCTKTYI+3s aaLGLiqt9z8e/XFQ5vcJP9TWjU1SHxPrALv14zLXNuT5TH0rkpBBbD+CJvt4Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693988017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5YiIfVrW6i1Ab8F0hWM5vIpGGQHW4P3gJDmiiWxyn8=; b=n6bteAx1ToKlCUUUYQBS8gXDTIl/NSfQGowd1kP74624fWdkasgQVsMR2xYzZN9EdQTRQm IbUMubJV+fcNxHYwPDHRluLObNlIe/HzDk7/+zyuIFZd25n/GBZaNEmvz4AGHlS8wpkwbQ 5VYtIAodupn9jsFD8qJI7vF/zDSV1mCMVckUu17qCDVw9ybeO5Z2Da8EJ7SU3pm80gVz77 2MCcz/jh7B/AbpzvudTIl+DYAQ/BfJFgnwSvzjsUDKUhYtGx2Dy2nolzwxQKzskvpqABVK N5xPnnGrvQu00qd9RUqexE2cT+Eqq0giQuFZYzx7wqDuexxBYhFUUzBhP3MWLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgZrd1QrNz17vC; Wed, 6 Sep 2023 08:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3868DbIa056208; Wed, 6 Sep 2023 08:13:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3868DbEU056205; Wed, 6 Sep 2023 08:13:37 GMT (envelope-from git) Date: Wed, 6 Sep 2023 08:13:37 GMT Message-Id: <202309060813.3868DbEU056205@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: cb1a0aab4f3c - main - sys/dev/arcmsr: Update Areca RAID driver to version 1.50.00.06. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb1a0aab4f3ca169509ab86a67a4630e72790869 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=cb1a0aab4f3ca169509ab86a67a4630e72790869 commit cb1a0aab4f3ca169509ab86a67a4630e72790869 Author: 黃清隆 AuthorDate: 2023-09-06 07:59:22 +0000 Commit: Xin LI CommitDate: 2023-09-06 08:11:55 +0000 sys/dev/arcmsr: Update Areca RAID driver to version 1.50.00.06. - Suppressed a harmless warning message, "arcmsr_dr_handle: target=f, lun=0, GONE!!!," which could appear a few seconds after UEFI system boot due to the boot volume UEFI initialization. - Corrected various typing errors. - Refactored arcmsr_initialize() to improve code readability. - Added support for device IDs 1883 and 1886 controllers. - Introduced support for controllers requiring host memory for the RAID 5 and 6 XOR engines. Many thanks to Areca for continuing to support FreeBSD. MFC after: 3 days --- sys/dev/arcmsr/arcmsr.c | 693 ++++++++++++++++++++++++++++++++---------------- sys/dev/arcmsr/arcmsr.h | 51 +++- 2 files changed, 507 insertions(+), 237 deletions(-) diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c index 9dd3142d1933..ea37da30db93 100644 --- a/sys/dev/arcmsr/arcmsr.c +++ b/sys/dev/arcmsr/arcmsr.c @@ -88,6 +88,8 @@ ** 1.50.00.03 05/04/2021 Ching Huang Fixed doorbell status arrived late on ARC-1886 ** 1.50.00.04 12/08/2021 Ching Huang Fixed boot up hung under ARC-1886 with no volume created ** 1.50.00.05 03/23/2023 Ching Huang Fixed reading buffer empty length error +** 1.50.00.06 08/07/2023 Ching Huang Add support adapter using system memory as XOR buffer, +** Add support device ID 1883,1886 ****************************************************************************************** */ @@ -143,7 +145,7 @@ #define arcmsr_callout_init(a) callout_init(a, /*mpsafe*/1); -#define ARCMSR_DRIVER_VERSION "arcmsr version 1.50.00.05 2023-03-23" +#define ARCMSR_DRIVER_VERSION "arcmsr version 1.50.00.06 2023-08-07" #include /* ************************************************************************** @@ -1071,7 +1073,7 @@ static void arcmsr_build_srb(struct CommandControlBlock *srb, */ static void arcmsr_post_srb(struct AdapterControlBlock *acb, struct CommandControlBlock *srb) { - u_int32_t cdb_phyaddr_low = (u_int32_t) srb->cdb_phyaddr_low; + u_int32_t cdb_phyaddr_low = (u_int32_t) srb->cdb_phyaddr; struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&srb->arcmsr_cdb; bus_dmamap_sync(acb->srb_dmat, acb->srb_dmamap, (srb->srb_flags & SRB_FLAG_WRITE) ? BUS_DMASYNC_POSTWRITE:BUS_DMASYNC_POSTREAD); @@ -1131,10 +1133,10 @@ static void arcmsr_post_srb(struct AdapterControlBlock *acb, struct CommandContr ARCMSR_LOCK_ACQUIRE(&acb->postDone_lock); postq_index = phbdmu->postq_index; pinbound_srb = (struct InBound_SRB *)&phbdmu->post_qbuffer[postq_index & 0xFF]; - pinbound_srb->addressHigh = srb->cdb_phyaddr_high; - pinbound_srb->addressLow = srb->cdb_phyaddr_low; + pinbound_srb->addressHigh = (u_int32_t)((srb->cdb_phyaddr >> 16) >> 16); + pinbound_srb->addressLow = (u_int32_t)srb->cdb_phyaddr; pinbound_srb->length = srb->arc_cdb_size >> 2; - arcmsr_cdb->Context = srb->cdb_phyaddr_low; + arcmsr_cdb->Context = (u_int32_t)srb->cdb_phyaddr; if (postq_index & 0x4000) { index_stripped = postq_index & 0xFF; index_stripped += 1; @@ -1742,7 +1744,7 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { devicemap = offsetof(struct HBA_MessageUnit, msgcode_rwbuffer[ARCMSR_FW_DEVMAP_OFFSET]); for (target = 0; target < 4; target++) { - deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); + deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); devicemap += 4; } break; @@ -1751,7 +1753,7 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { devicemap = offsetof(struct HBB_RWBUFFER, msgcode_rwbuffer[ARCMSR_FW_DEVMAP_OFFSET]); for (target = 0; target < 4; target++) { - deviceMapCurrent[target]=bus_space_read_4(acb->btag[1], acb->bhandle[1], devicemap); + deviceMapCurrent[target]=bus_space_read_4(acb->btag[1], acb->bhandle[1], devicemap); devicemap += 4; } break; @@ -1760,7 +1762,7 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { devicemap = offsetof(struct HBC_MessageUnit, msgcode_rwbuffer[ARCMSR_FW_DEVMAP_OFFSET]); for (target = 0; target < 4; target++) { - deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); + deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); devicemap += 4; } break; @@ -1768,7 +1770,7 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { devicemap = offsetof(struct HBD_MessageUnit, msgcode_rwbuffer[ARCMSR_FW_DEVMAP_OFFSET]); for (target = 0; target < 4; target++) { - deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); + deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); devicemap += 4; } break; @@ -1776,7 +1778,7 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { devicemap = offsetof(struct HBE_MessageUnit, msgcode_rwbuffer[ARCMSR_FW_DEVMAP_OFFSET]); for (target = 0; target < 4; target++) { - deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); + deviceMapCurrent[target]=bus_space_read_4(acb->btag[0], acb->bhandle[0], devicemap); devicemap += 4; } break; @@ -1813,14 +1815,15 @@ static void arcmsr_dr_handle(struct AdapterControlBlock *acb) { { if(acb->device_map[target] & bit_check) {/* unit departed */ - printf("arcmsr_dr_handle: Target=%x, lun=%x, GONE!!!\n",target,lun); + if (target != 0x0f) + printf("arcmsr_dr_handle: Target=0x%x, lun=%x, GONE!!!\n",target,lun); arcmsr_abort_dr_ccbs(acb, target, lun); arcmsr_rescan_lun(acb, target, lun); acb->devstate[target][lun] = ARECA_RAID_GONE; } else {/* unit arrived */ - printf("arcmsr_dr_handle: Target=%x, lun=%x, Plug-IN!!!\n",target,lun); + printf("arcmsr_dr_handle: Target=0x%x, lun=%x, Plug-IN!!!\n",target,lun); arcmsr_rescan_lun(acb, target, lun); acb->devstate[target][lun] = ARECA_RAID_GOOD; } @@ -3170,7 +3173,7 @@ static void arcmsr_action(struct cam_sim *psim, union ccb *pccb) return; } - if(target == 16) { + if(target == ARCMSR_VIRTUAL_DEVICE_ID) { /* virtual device for iop message transfer */ arcmsr_handle_virtual_command(acb, pccb); return; @@ -3216,7 +3219,9 @@ static void arcmsr_action(struct cam_sim *psim, union ccb *pccb) else cpi->base_transfer_speed = 300000; if((acb->vendor_device_id == PCIDevVenIDARC1880) || + (acb->vendor_device_id == PCIDevVenIDARC1883) || (acb->vendor_device_id == PCIDevVenIDARC1884) || + (acb->vendor_device_id == PCIDevVenIDARC1886) || (acb->vendor_device_id == PCIDevVenIDARC1680) || (acb->vendor_device_id == PCIDevVenIDARC1214)) { @@ -3282,7 +3287,7 @@ static void arcmsr_action(struct cam_sim *psim, union ccb *pccb) case XPT_GET_TRAN_SETTINGS: { struct ccb_trans_settings *cts; - if(pccb->ccb_h.target_id == 16) { + if(pccb->ccb_h.target_id == ARCMSR_VIRTUAL_DEVICE_ID) { pccb->ccb_h.status |= CAM_FUNC_NOTAVAIL; xpt_done(pccb); break; @@ -3299,7 +3304,9 @@ static void arcmsr_action(struct cam_sim *psim, union ccb *pccb) cts->protocol = PROTO_SCSI; if((acb->vendor_device_id == PCIDevVenIDARC1880) || + (acb->vendor_device_id == PCIDevVenIDARC1883) || (acb->vendor_device_id == PCIDevVenIDARC1884) || + (acb->vendor_device_id == PCIDevVenIDARC1886) || (acb->vendor_device_id == PCIDevVenIDARC1680) || (acb->vendor_device_id == PCIDevVenIDARC1214)) { @@ -3344,7 +3351,7 @@ static void arcmsr_action(struct cam_sim *psim, union ccb *pccb) break; } case XPT_CALC_GEOMETRY: - if(pccb->ccb_h.target_id == 16) { + if(pccb->ccb_h.target_id == ARCMSR_VIRTUAL_DEVICE_ID) { pccb->ccb_h.status |= CAM_FUNC_NOTAVAIL; xpt_done(pccb); break; @@ -4047,6 +4054,7 @@ static void arcmsr_get_hbf_config(struct AdapterControlBlock *acb) acb->firm_sdram_size = acb->msgcode_rwbuffer[3]; /*firm_sdram_size, 3, 12-15*/ acb->firm_ide_channels = acb->msgcode_rwbuffer[4]; /*firm_ide_channels, 4, 16-19*/ acb->firm_cfg_version = acb->msgcode_rwbuffer[ARCMSR_FW_CFGVER_OFFSET]; /*firm_cfg_version, 25*/ + acb->firm_PicStatus = acb->msgcode_rwbuffer[ARCMSR_FW_PICSTATUS]; /* firm_PicStatus, 30 */ if(acb->firm_numbers_queue > ARCMSR_MAX_OUTSTANDING_CMD) acb->maxOutstanding = ARCMSR_MAX_OUTSTANDING_CMD - 1; else @@ -4340,6 +4348,12 @@ static u_int32_t arcmsr_iop_confirm(struct AdapterControlBlock *acb) acb->msgcode_rwbuffer[5] = cdb_phyaddr_lo32; acb->msgcode_rwbuffer[6] = srb_phyaddr_hi32; acb->msgcode_rwbuffer[7] = COMPLETION_Q_POOL_SIZE; + if (acb->xor_mega) { + acb->msgcode_rwbuffer[8] = 0x555AA; //FreeBSD init 2 + acb->msgcode_rwbuffer[9] = 0; + acb->msgcode_rwbuffer[10] = (uint32_t)acb->xor_sgtable_phy; + acb->msgcode_rwbuffer[11] = (uint32_t)((acb->xor_sgtable_phy >> 16) >> 16); + } CHIP_REG_WRITE32(HBF_MessageUnit, 0, inbound_msgaddr0, ARCMSR_INBOUND_MESG0_SET_CONFIG); acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE; CHIP_REG_WRITE32(HBF_MessageUnit, 0, iobound_doorbell, acb->out_doorbell); @@ -4414,20 +4428,48 @@ static void arcmsr_map_free_srb(void *arg, bus_dma_segment_t *segs, int nseg, in if((acb->adapter_type == ACB_ADAPTER_TYPE_C) || (acb->adapter_type == ACB_ADAPTER_TYPE_D) || (acb->adapter_type == ACB_ADAPTER_TYPE_E) || (acb->adapter_type == ACB_ADAPTER_TYPE_F)) { - srb_tmp->cdb_phyaddr_low = srb_phyaddr; - srb_tmp->cdb_phyaddr_high = (u_int32_t)((srb_phyaddr >> 16) >> 16); + srb_tmp->cdb_phyaddr = srb_phyaddr; } else - srb_tmp->cdb_phyaddr_low = srb_phyaddr >> 5; + srb_tmp->cdb_phyaddr = srb_phyaddr >> 5; srb_tmp->acb = acb; srb_tmp->smid = i << 16; acb->srbworkingQ[i] = acb->psrb_pool[i] = srb_tmp; srb_phyaddr = srb_phyaddr + SRB_SIZE; srb_tmp = (struct CommandControlBlock *)((unsigned long)srb_tmp + SRB_SIZE); } - if (acb->adapter_type == ACB_ADAPTER_TYPE_E) + srb_tmp = (struct CommandControlBlock *)(acb->uncacheptr + ARCMSR_SRBS_POOL_SIZE); + srb_phyaddr = (unsigned long)segs->ds_addr + ARCMSR_SRBS_POOL_SIZE; + switch (acb->adapter_type) { + case ACB_ADAPTER_TYPE_B: { + struct HBB_MessageUnit *phbbmu; + + acb->pmu = (struct MessageUnit_UNION *)srb_tmp; + phbbmu = (struct HBB_MessageUnit *)acb->pmu; + phbbmu->hbb_doorbell = (struct HBB_DOORBELL *)acb->mem_base0; + phbbmu->hbb_rwbuffer = (struct HBB_RWBUFFER *)acb->mem_base1; + if (acb->vendor_device_id == PCIDevVenIDARC1203) { + phbbmu->drv2iop_doorbell = offsetof(struct HBB_DOORBELL_1203, drv2iop_doorbell); + phbbmu->drv2iop_doorbell_mask = offsetof(struct HBB_DOORBELL_1203, drv2iop_doorbell_mask); + phbbmu->iop2drv_doorbell = offsetof(struct HBB_DOORBELL_1203, iop2drv_doorbell); + phbbmu->iop2drv_doorbell_mask = offsetof(struct HBB_DOORBELL_1203, iop2drv_doorbell_mask); + } else { + phbbmu->drv2iop_doorbell = offsetof(struct HBB_DOORBELL, drv2iop_doorbell); + phbbmu->drv2iop_doorbell_mask = offsetof(struct HBB_DOORBELL, drv2iop_doorbell_mask); + phbbmu->iop2drv_doorbell = offsetof(struct HBB_DOORBELL, iop2drv_doorbell); + phbbmu->iop2drv_doorbell_mask = offsetof(struct HBB_DOORBELL, iop2drv_doorbell_mask); + } + } + break; + case ACB_ADAPTER_TYPE_D: + acb->pmu = (struct MessageUnit_UNION *)srb_tmp; + acb->pmu->muu.hbdmu.phbdmu = (struct HBD_MessageUnit *)acb->mem_base0; + break; + case ACB_ADAPTER_TYPE_E: acb->pCompletionQ = (pCompletion_Q)srb_tmp; - else if (acb->adapter_type == ACB_ADAPTER_TYPE_F) { + break; + case ACB_ADAPTER_TYPE_F: { + unsigned long host_buffer_dma; acb->pCompletionQ = (pCompletion_Q)srb_tmp; acb->completeQ_phys = srb_phyaddr; memset(acb->pCompletionQ, 0xff, COMPLETION_Q_POOL_SIZE); @@ -4435,9 +4477,62 @@ static void arcmsr_map_free_srb(void *arg, bus_dma_segment_t *segs, int nseg, in acb->message_rbuffer = (u_int32_t *)((unsigned long)acb->message_wbuffer + 0x100); acb->msgcode_rwbuffer = (u_int32_t *)((unsigned long)acb->message_wbuffer + 0x200); memset((void *)acb->message_wbuffer, 0, MESG_RW_BUFFER_SIZE); + arcmsr_wait_firmware_ready(acb); + host_buffer_dma = acb->completeQ_phys + COMPLETION_Q_POOL_SIZE; + CHIP_REG_WRITE32(HBF_MessageUnit, 0, inbound_msgaddr0, (u_int32_t)(host_buffer_dma | 1)); /* host buffer low addr, bit0:1 all buffer active */ + CHIP_REG_WRITE32(HBF_MessageUnit, 0, inbound_msgaddr1, (u_int32_t)((host_buffer_dma >> 16) >> 16));/* host buffer high addr */ + CHIP_REG_WRITE32(HBF_MessageUnit, 0, iobound_doorbell, ARCMSR_HBFMU_DOORBELL_SYNC1); /* set host buffer physical address */ + acb->firm_PicStatus = CHIP_REG_READ32(HBF_MessageUnit, 0, outbound_msgaddr1); /* get firmware spec info */ + break; + } } acb->vir2phy_offset = (unsigned long)srb_tmp - (unsigned long)srb_phyaddr; } + +static void arcmsr_map_xor_sgtable(void *arg, bus_dma_segment_t *segs, int nseg, int error) +{ + struct AdapterControlBlock *acb = arg; + + acb->xor_sgtable_phy = (unsigned long)segs->ds_addr; + if ((nseg != 1) || ((u_int32_t)segs->ds_len != acb->init2cfg_size)) { + acb->acb_flags |= ACB_F_MAPXOR_FAILD; + printf("arcmsr%d: alloc xor table seg num or size not as i wish!\n", acb->pci_unit); + return; + } +} + +static void arcmsr_map_xor_sg(void *arg, bus_dma_segment_t *segs, int nseg, int error) +{ + struct AdapterControlBlock *acb = arg; + int i; + struct HostRamBuf *pRamBuf; + struct XorSg *pxortable = (struct XorSg *)(acb->xortable + sizeof(struct HostRamBuf)); + + if (nseg != acb->xor_mega) { + acb->acb_flags |= ACB_F_MAPXOR_FAILD; + printf("arcmsr%d: alloc xor seg NUM not as i wish!\n", acb->pci_unit); + return; + } + for (i = 0; i < nseg; i++) { + if ((u_int32_t)segs->ds_len != ARCMSR_XOR_SEG_SIZE) { + acb->acb_flags |= ACB_F_MAPXOR_FAILD; + printf("arcmsr%d: alloc xor seg SIZE not as i wish!\n", acb->pci_unit); + return; + } + pxortable->xorPhys = (u_int64_t)segs->ds_addr; + pxortable->xorBufLen = (u_int64_t)segs->ds_len; + pxortable++; + segs++; + } + pRamBuf = (struct HostRamBuf *)acb->xortable; + pRamBuf->hrbSignature = 0x53425248; //HRBS + pRamBuf->hrbSize = ARCMSR_XOR_SEG_SIZE * nseg; + pRamBuf->hrbRes[0] = 0; + pRamBuf->hrbRes[1] = 0; + bus_dmamap_sync(acb->xortable_dmat, acb->xortable_dmamap, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(acb->xor_dmat, acb->xor_dmamap, BUS_DMASYNC_PREWRITE); +} + /* ************************************************************************ ************************************************************************ @@ -4448,11 +4543,55 @@ static void arcmsr_free_resource(struct AdapterControlBlock *acb) if(acb->ioctl_dev != NULL) { destroy_dev(acb->ioctl_dev); } - bus_dmamap_unload(acb->srb_dmat, acb->srb_dmamap); - bus_dmamap_destroy(acb->srb_dmat, acb->srb_dmamap); - bus_dma_tag_destroy(acb->srb_dmat); - bus_dma_tag_destroy(acb->dm_segs_dmat); - bus_dma_tag_destroy(acb->parent_dmat); + if (acb->acb_flags & ACB_F_DMAMAP_SG) + bus_dmamap_unload(acb->xor_dmat, acb->xor_dmamap); + if (acb->xor_dmamap) { + bus_dmamem_free(acb->xor_dmat, acb->xorptr, acb->xor_dmamap); + } + if (acb->acb_flags & ACB_F_DMAMAP_SGTABLE) + bus_dmamap_unload(acb->xortable_dmat, acb->xortable_dmamap); + if (acb->xortable_dmamap) { + bus_dmamem_free(acb->xortable_dmat, acb->xortable, acb->xortable_dmamap); + } + if (acb->acb_flags & ACB_F_DMAMAP_SRB) + bus_dmamap_unload(acb->srb_dmat, acb->srb_dmamap); + if (acb->srb_dmamap) { + bus_dmamem_free(acb->srb_dmat, acb->uncacheptr, acb->srb_dmamap); + } + if (acb->srb_dmat) + bus_dma_tag_destroy(acb->srb_dmat); + if (acb->dm_segs_dmat) + bus_dma_tag_destroy(acb->dm_segs_dmat); + if (acb->parent_dmat) + bus_dma_tag_destroy(acb->parent_dmat); + switch(acb->adapter_type) { + case ACB_ADAPTER_TYPE_A: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr[0]); + break; + case ACB_ADAPTER_TYPE_B: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr[0]); + if (acb->sys_res_arcmsr[1]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(2), acb->sys_res_arcmsr[1]); + break; + case ACB_ADAPTER_TYPE_C: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(1), acb->sys_res_arcmsr[0]); + break; + case ACB_ADAPTER_TYPE_D: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr[0]); + break; + case ACB_ADAPTER_TYPE_E: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(1), acb->sys_res_arcmsr[0]); + break; + case ACB_ADAPTER_TYPE_F: + if (acb->sys_res_arcmsr[0]) + bus_release_resource(acb->pci_dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr[0]); + break; + } } /* ************************************************************************ @@ -4480,21 +4619,16 @@ static void arcmsr_mutex_destroy(struct AdapterControlBlock *acb) ************************************************************************ ************************************************************************ */ -static u_int32_t arcmsr_initialize(device_t dev) +static int arcmsr_define_adapter_type(struct AdapterControlBlock *acb) { - struct AdapterControlBlock *acb = device_get_softc(dev); - u_int16_t pci_command; - int i, j,max_coherent_size; - u_int32_t vendor_dev_id; - - vendor_dev_id = pci_get_devid(dev); - acb->vendor_device_id = vendor_dev_id; - acb->sub_device_id = pci_read_config(dev, PCIR_SUBDEV_0, 2); - switch (vendor_dev_id) { - case PCIDevVenIDARC1880: - case PCIDevVenIDARC1882: - case PCIDevVenIDARC1213: - case PCIDevVenIDARC1223: { + int rc = 0; + + switch (acb->vendor_device_id) { + case PCIDevVenIDARC1880: + case PCIDevVenIDARC1882: + case PCIDevVenIDARC1883: + case PCIDevVenIDARC1213: + case PCIDevVenIDARC1223: { acb->adapter_type = ACB_ADAPTER_TYPE_C; if ((acb->sub_device_id == ARECA_SUB_DEV_ID_1883) || (acb->sub_device_id == ARECA_SUB_DEV_ID_1216) || @@ -4502,158 +4636,78 @@ static u_int32_t arcmsr_initialize(device_t dev) acb->adapter_bus_speed = ACB_BUS_SPEED_12G; else acb->adapter_bus_speed = ACB_BUS_SPEED_6G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE; - } - break; - case PCIDevVenIDARC1884: - acb->adapter_type = ACB_ADAPTER_TYPE_E; - acb->adapter_bus_speed = ACB_BUS_SPEED_12G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE + COMPLETION_Q_POOL_SIZE; - acb->completionQ_entry = COMPLETION_Q_POOL_SIZE / sizeof(struct deliver_completeQ); - break; - case PCIDevVenIDARC1886_: - case PCIDevVenIDARC1886: - acb->adapter_type = ACB_ADAPTER_TYPE_F; - acb->adapter_bus_speed = ACB_BUS_SPEED_12G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE + COMPLETION_Q_POOL_SIZE + MESG_RW_BUFFER_SIZE; - acb->completionQ_entry = COMPLETION_Q_POOL_SIZE / sizeof(struct deliver_completeQ); - break; - case PCIDevVenIDARC1214: { + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE; + } + break; + case PCIDevVenIDARC1884: + acb->adapter_type = ACB_ADAPTER_TYPE_E; + acb->adapter_bus_speed = ACB_BUS_SPEED_12G; + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE + COMPLETION_Q_POOL_SIZE; + acb->completionQ_entry = COMPLETION_Q_POOL_SIZE / sizeof(struct deliver_completeQ); + break; + case PCIDevVenIDARC1886_0: + case PCIDevVenIDARC1886_: + case PCIDevVenIDARC1886: + acb->adapter_type = ACB_ADAPTER_TYPE_F; + acb->adapter_bus_speed = ACB_BUS_SPEED_12G; + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE + COMPLETION_Q_POOL_SIZE + MESG_RW_BUFFER_SIZE; + acb->completionQ_entry = COMPLETION_Q_POOL_SIZE / sizeof(struct deliver_completeQ); + break; + case PCIDevVenIDARC1214: + case PCIDevVenIDARC1224: { acb->adapter_type = ACB_ADAPTER_TYPE_D; acb->adapter_bus_speed = ACB_BUS_SPEED_6G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBD_MessageUnit0)); - } - break; - case PCIDevVenIDARC1200: - case PCIDevVenIDARC1201: { + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBD_MessageUnit0)); + } + break; + case PCIDevVenIDARC1200: + case PCIDevVenIDARC1201: { acb->adapter_type = ACB_ADAPTER_TYPE_B; acb->adapter_bus_speed = ACB_BUS_SPEED_3G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBB_MessageUnit)); - } - break; - case PCIDevVenIDARC1203: { + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBB_MessageUnit)); + } + break; + case PCIDevVenIDARC1203: { acb->adapter_type = ACB_ADAPTER_TYPE_B; acb->adapter_bus_speed = ACB_BUS_SPEED_6G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBB_MessageUnit)); - } - break; - case PCIDevVenIDARC1110: - case PCIDevVenIDARC1120: - case PCIDevVenIDARC1130: - case PCIDevVenIDARC1160: - case PCIDevVenIDARC1170: - case PCIDevVenIDARC1210: - case PCIDevVenIDARC1220: - case PCIDevVenIDARC1230: - case PCIDevVenIDARC1231: - case PCIDevVenIDARC1260: - case PCIDevVenIDARC1261: - case PCIDevVenIDARC1270: - case PCIDevVenIDARC1280: - case PCIDevVenIDARC1212: - case PCIDevVenIDARC1222: - case PCIDevVenIDARC1380: - case PCIDevVenIDARC1381: - case PCIDevVenIDARC1680: - case PCIDevVenIDARC1681: { + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE + (sizeof(struct HBB_MessageUnit)); + } + break; + case PCIDevVenIDARC1110: + case PCIDevVenIDARC1120: + case PCIDevVenIDARC1130: + case PCIDevVenIDARC1160: + case PCIDevVenIDARC1170: + case PCIDevVenIDARC1210: + case PCIDevVenIDARC1220: + case PCIDevVenIDARC1230: + case PCIDevVenIDARC1231: + case PCIDevVenIDARC1260: + case PCIDevVenIDARC1261: + case PCIDevVenIDARC1270: + case PCIDevVenIDARC1280: + case PCIDevVenIDARC1212: + case PCIDevVenIDARC1222: + case PCIDevVenIDARC1380: + case PCIDevVenIDARC1381: + case PCIDevVenIDARC1680: + case PCIDevVenIDARC1681: { acb->adapter_type = ACB_ADAPTER_TYPE_A; acb->adapter_bus_speed = ACB_BUS_SPEED_3G; - max_coherent_size = ARCMSR_SRBS_POOL_SIZE; - } - break; - default: { + acb->max_coherent_size = ARCMSR_SRBS_POOL_SIZE; + } + break; + default: { printf("arcmsr%d:" - " unknown RAID adapter type \n", device_get_unit(dev)); - return ENOMEM; + " unknown RAID adapter type \n", acb->pci_unit); + rc = ENOMEM; } } - if(bus_dma_tag_create( /*PCI parent*/ bus_get_dma_tag(dev), - /*alignemnt*/ 1, - /*boundary*/ 0, - /*lowaddr*/ BUS_SPACE_MAXADDR, - /*highaddr*/ BUS_SPACE_MAXADDR, - /*filter*/ NULL, - /*filterarg*/ NULL, - /*maxsize*/ BUS_SPACE_MAXSIZE_32BIT, - /*nsegments*/ BUS_SPACE_UNRESTRICTED, - /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, - /*flags*/ 0, - /*lockfunc*/ NULL, - /*lockarg*/ NULL, - &acb->parent_dmat) != 0) - { - printf("arcmsr%d: parent_dmat bus_dma_tag_create failure!\n", device_get_unit(dev)); - return ENOMEM; - } - - /* Create a single tag describing a region large enough to hold all of the s/g lists we will need. */ - if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, - /*alignment*/ 1, - /*boundary*/ 0, -#ifdef PAE - /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, -#else - /*lowaddr*/ BUS_SPACE_MAXADDR, -#endif - /*highaddr*/ BUS_SPACE_MAXADDR, - /*filter*/ NULL, - /*filterarg*/ NULL, - /*maxsize*/ ARCMSR_MAX_SG_ENTRIES * PAGE_SIZE * ARCMSR_MAX_FREESRB_NUM, - /*nsegments*/ ARCMSR_MAX_SG_ENTRIES, - /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, - /*flags*/ 0, - /*lockfunc*/ busdma_lock_mutex, - /*lockarg*/ &acb->isr_lock, - &acb->dm_segs_dmat) != 0) - { - bus_dma_tag_destroy(acb->parent_dmat); - printf("arcmsr%d: dm_segs_dmat bus_dma_tag_create failure!\n", device_get_unit(dev)); - return ENOMEM; - } + return rc; +} - /* DMA tag for our srb structures.... Allocate the freesrb memory */ - if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, - /*alignment*/ 0x20, - /*boundary*/ 0, - /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, - /*highaddr*/ BUS_SPACE_MAXADDR, - /*filter*/ NULL, - /*filterarg*/ NULL, - /*maxsize*/ max_coherent_size, - /*nsegments*/ 1, - /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, - /*flags*/ 0, - /*lockfunc*/ NULL, - /*lockarg*/ NULL, - &acb->srb_dmat) != 0) - { - bus_dma_tag_destroy(acb->dm_segs_dmat); - bus_dma_tag_destroy(acb->parent_dmat); - printf("arcmsr%d: srb_dmat bus_dma_tag_create failure!\n", device_get_unit(dev)); - return ENXIO; - } - /* Allocation for our srbs */ - if(bus_dmamem_alloc(acb->srb_dmat, (void **)&acb->uncacheptr, BUS_DMA_WAITOK | BUS_DMA_COHERENT | BUS_DMA_ZERO, &acb->srb_dmamap) != 0) { - bus_dma_tag_destroy(acb->srb_dmat); - bus_dma_tag_destroy(acb->dm_segs_dmat); - bus_dma_tag_destroy(acb->parent_dmat); - printf("arcmsr%d: srb_dmat bus_dmamem_alloc failure!\n", device_get_unit(dev)); - return ENXIO; - } - /* And permanently map them */ - if(bus_dmamap_load(acb->srb_dmat, acb->srb_dmamap, acb->uncacheptr, max_coherent_size, arcmsr_map_free_srb, acb, /*flags*/0)) { - bus_dma_tag_destroy(acb->srb_dmat); - bus_dma_tag_destroy(acb->dm_segs_dmat); - bus_dma_tag_destroy(acb->parent_dmat); - printf("arcmsr%d: srb_dmat bus_dmamap_load failure!\n", device_get_unit(dev)); - return ENXIO; - } - pci_command = pci_read_config(dev, PCIR_COMMAND, 2); - pci_command |= PCIM_CMD_BUSMASTEREN; - pci_command |= PCIM_CMD_PERRESPEN; - pci_command |= PCIM_CMD_MWRICEN; - /* Enable Busmaster */ - pci_write_config(dev, PCIR_COMMAND, pci_command, 2); +static int arcmsr_map_pcireg(device_t dev, struct AdapterControlBlock *acb) +{ switch(acb->adapter_type) { case ACB_ADAPTER_TYPE_A: { u_int32_t rid0 = PCIR_BAR(0); @@ -4662,18 +4716,18 @@ static u_int32_t arcmsr_initialize(device_t dev) acb->sys_res_arcmsr[0] = bus_alloc_resource_any(dev,SYS_RES_MEMORY, &rid0, RF_ACTIVE); if(acb->sys_res_arcmsr[0] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource failure!\n", device_get_unit(dev)); + printf("arcmsr%d: bus_alloc_resource failure!\n", acb->pci_unit); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[0]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_start failure!\n", acb->pci_unit); return ENXIO; } mem_base0 = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[0]); if(mem_base0 == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_virtual failure!\n", acb->pci_unit); return ENXIO; } acb->btag[0] = rman_get_bustag(acb->sys_res_arcmsr[0]); @@ -4683,47 +4737,33 @@ static u_int32_t arcmsr_initialize(device_t dev) } break; case ACB_ADAPTER_TYPE_B: { - struct HBB_MessageUnit *phbbmu; - struct CommandControlBlock *freesrb; u_int32_t rid[]={ PCIR_BAR(0), PCIR_BAR(2) }; vm_offset_t mem_base[]={0,0}; + u_int16_t i; + for(i=0; i < 2; i++) { acb->sys_res_arcmsr[i] = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid[i], RF_ACTIVE); if(acb->sys_res_arcmsr[i] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource %d failure!\n", device_get_unit(dev), i); + printf("arcmsr%d: bus_alloc_resource %d failure!\n", acb->pci_unit, i); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[i]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start %d failure!\n", device_get_unit(dev), i); + printf("arcmsr%d: rman_get_start %d failure!\n", acb->pci_unit, i); return ENXIO; } mem_base[i] = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[i]); if(mem_base[i] == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual %d failure!\n", device_get_unit(dev), i); + printf("arcmsr%d: rman_get_virtual %d failure!\n", acb->pci_unit, i); return ENXIO; } acb->btag[i] = rman_get_bustag(acb->sys_res_arcmsr[i]); acb->bhandle[i] = rman_get_bushandle(acb->sys_res_arcmsr[i]); } - freesrb = (struct CommandControlBlock *)acb->uncacheptr; - acb->pmu = (struct MessageUnit_UNION *)((unsigned long)freesrb+ARCMSR_SRBS_POOL_SIZE); - phbbmu = (struct HBB_MessageUnit *)acb->pmu; - phbbmu->hbb_doorbell = (struct HBB_DOORBELL *)mem_base[0]; - phbbmu->hbb_rwbuffer = (struct HBB_RWBUFFER *)mem_base[1]; - if (vendor_dev_id == PCIDevVenIDARC1203) { - phbbmu->drv2iop_doorbell = offsetof(struct HBB_DOORBELL_1203, drv2iop_doorbell); - phbbmu->drv2iop_doorbell_mask = offsetof(struct HBB_DOORBELL_1203, drv2iop_doorbell_mask); - phbbmu->iop2drv_doorbell = offsetof(struct HBB_DOORBELL_1203, iop2drv_doorbell); - phbbmu->iop2drv_doorbell_mask = offsetof(struct HBB_DOORBELL_1203, iop2drv_doorbell_mask); - } else { - phbbmu->drv2iop_doorbell = offsetof(struct HBB_DOORBELL, drv2iop_doorbell); - phbbmu->drv2iop_doorbell_mask = offsetof(struct HBB_DOORBELL, drv2iop_doorbell_mask); - phbbmu->iop2drv_doorbell = offsetof(struct HBB_DOORBELL, iop2drv_doorbell); - phbbmu->iop2drv_doorbell_mask = offsetof(struct HBB_DOORBELL, iop2drv_doorbell_mask); - } + acb->mem_base0 = mem_base[0]; + acb->mem_base1 = mem_base[1]; acb->rid[0] = rid[0]; acb->rid[1] = rid[1]; } @@ -4735,18 +4775,18 @@ static u_int32_t arcmsr_initialize(device_t dev) acb->sys_res_arcmsr[0] = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid0, RF_ACTIVE); if(acb->sys_res_arcmsr[0] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource failure!\n", device_get_unit(dev)); + printf("arcmsr%d: bus_alloc_resource failure!\n", acb->pci_unit); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[0]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_start failure!\n", acb->pci_unit); return ENXIO; } mem_base0 = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[0]); if(mem_base0 == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_virtual failure!\n", acb->pci_unit); return ENXIO; } acb->btag[0] = rman_get_bustag(acb->sys_res_arcmsr[0]); @@ -4756,32 +4796,29 @@ static u_int32_t arcmsr_initialize(device_t dev) } break; case ACB_ADAPTER_TYPE_D: { - struct HBD_MessageUnit0 *phbdmu; u_int32_t rid0 = PCIR_BAR(0); vm_offset_t mem_base0; acb->sys_res_arcmsr[0] = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid0, RF_ACTIVE); if(acb->sys_res_arcmsr[0] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource failure!\n", device_get_unit(dev)); + printf("arcmsr%d: bus_alloc_resource failure!\n", acb->pci_unit); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[0]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_start failure!\n", acb->pci_unit); return ENXIO; } mem_base0 = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[0]); if(mem_base0 == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_virtual failure!\n", acb->pci_unit); return ENXIO; } acb->btag[0] = rman_get_bustag(acb->sys_res_arcmsr[0]); acb->bhandle[0] = rman_get_bushandle(acb->sys_res_arcmsr[0]); - acb->pmu = (struct MessageUnit_UNION *)((unsigned long)acb->uncacheptr+ARCMSR_SRBS_POOL_SIZE); - phbdmu = (struct HBD_MessageUnit0 *)acb->pmu; - phbdmu->phbdmu = (struct HBD_MessageUnit *)mem_base0; + acb->mem_base0 = mem_base0; acb->rid[0] = rid0; } break; @@ -4792,18 +4829,18 @@ static u_int32_t arcmsr_initialize(device_t dev) acb->sys_res_arcmsr[0] = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid0, RF_ACTIVE); if(acb->sys_res_arcmsr[0] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource failure!\n", device_get_unit(dev)); + printf("arcmsr%d: bus_alloc_resource failure!\n", acb->pci_unit); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[0]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_start failure!\n", acb->pci_unit); return ENXIO; } mem_base0 = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[0]); if(mem_base0 == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_virtual failure!\n", acb->pci_unit); return ENXIO; } acb->btag[0] = rman_get_bustag(acb->sys_res_arcmsr[0]); @@ -4820,23 +4857,22 @@ static u_int32_t arcmsr_initialize(device_t dev) case ACB_ADAPTER_TYPE_F: { u_int32_t rid0 = PCIR_BAR(0); vm_offset_t mem_base0; - unsigned long host_buffer_dma; acb->sys_res_arcmsr[0] = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid0, RF_ACTIVE); if(acb->sys_res_arcmsr[0] == NULL) { arcmsr_free_resource(acb); - printf("arcmsr%d: bus_alloc_resource failure!\n", device_get_unit(dev)); + printf("arcmsr%d: bus_alloc_resource failure!\n", acb->pci_unit); return ENOMEM; } if(rman_get_start(acb->sys_res_arcmsr[0]) <= 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_start failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_start failure!\n", acb->pci_unit); return ENXIO; } mem_base0 = (vm_offset_t) rman_get_virtual(acb->sys_res_arcmsr[0]); if(mem_base0 == 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: rman_get_virtual failure!\n", device_get_unit(dev)); + printf("arcmsr%d: rman_get_virtual failure!\n", acb->pci_unit); return ENXIO; } acb->btag[0] = rman_get_bustag(acb->sys_res_arcmsr[0]); @@ -4848,17 +4884,203 @@ static u_int32_t arcmsr_initialize(device_t dev) acb->rid[0] = rid0; CHIP_REG_WRITE32(HBF_MessageUnit, 0, host_int_status, 0); /*clear interrupt*/ CHIP_REG_WRITE32(HBF_MessageUnit, 0, iobound_doorbell, ARCMSR_HBEMU_DOORBELL_SYNC); /* synchronize doorbell to 0 */ - arcmsr_wait_firmware_ready(acb); - host_buffer_dma = acb->completeQ_phys + COMPLETION_Q_POOL_SIZE; - CHIP_REG_WRITE32(HBF_MessageUnit, 0, inbound_msgaddr0, (u_int32_t)(host_buffer_dma | 1)); /* host buffer low addr, bit0:1 all buffer active */ - CHIP_REG_WRITE32(HBF_MessageUnit, 0, inbound_msgaddr1, (u_int32_t)((host_buffer_dma >> 16) >> 16));/* host buffer high addr */ - CHIP_REG_WRITE32(HBF_MessageUnit, 0, iobound_doorbell, ARCMSR_HBFMU_DOORBELL_SYNC1); /* set host buffer physical address */ } break; } - if(acb->acb_flags & ACB_F_MAPFREESRB_FAILD) { + return (0); +} + +static int arcmsr_alloc_srb(device_t dev, struct AdapterControlBlock *acb) +{ + int rc; + + if(bus_dma_tag_create( /*PCI parent*/ bus_get_dma_tag(dev), + /*alignemnt*/ 1, + /*boundary*/ 0, + /*lowaddr*/ BUS_SPACE_MAXADDR, + /*highaddr*/ BUS_SPACE_MAXADDR, + /*filter*/ NULL, + /*filterarg*/ NULL, + /*maxsize*/ BUS_SPACE_MAXSIZE_32BIT, + /*nsegments*/ BUS_SPACE_UNRESTRICTED, + /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, + /*flags*/ 0, + /*lockfunc*/ NULL, + /*lockarg*/ NULL, + &acb->parent_dmat) != 0) + { + printf("arcmsr%d: parent_dmat bus_dma_tag_create failure!\n", acb->pci_unit); + return ENOMEM; + } + + /* Create a single tag describing a region large enough to hold all of the s/g lists we will need. */ + if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, + /*alignment*/ 1, + /*boundary*/ 0, +#ifdef PAE + /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, +#else + /*lowaddr*/ BUS_SPACE_MAXADDR, +#endif + /*highaddr*/ BUS_SPACE_MAXADDR, + /*filter*/ NULL, + /*filterarg*/ NULL, + /*maxsize*/ ARCMSR_MAX_SG_ENTRIES * PAGE_SIZE * ARCMSR_MAX_FREESRB_NUM, + /*nsegments*/ ARCMSR_MAX_SG_ENTRIES, + /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, + /*flags*/ 0, + /*lockfunc*/ busdma_lock_mutex, + /*lockarg*/ &acb->isr_lock, + &acb->dm_segs_dmat) != 0) + { + arcmsr_free_resource(acb); + printf("arcmsr%d: dm_segs_dmat bus_dma_tag_create failure!\n", acb->pci_unit); + return ENOMEM; + } + + /* DMA tag for our srb structures.... Allocate the freesrb memory */ + if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, + /*alignment*/ 0x20, + /*boundary*/ 0, + /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, + /*highaddr*/ BUS_SPACE_MAXADDR, + /*filter*/ NULL, + /*filterarg*/ NULL, + /*maxsize*/ acb->max_coherent_size, + /*nsegments*/ 1, + /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, + /*flags*/ 0, + /*lockfunc*/ NULL, + /*lockarg*/ NULL, + &acb->srb_dmat) != 0) + { + arcmsr_free_resource(acb); + printf("arcmsr%d: srb_dmat bus_dma_tag_create failure!\n", acb->pci_unit); + return ENXIO; + } + /* Allocation for our srbs */ + if(bus_dmamem_alloc(acb->srb_dmat, (void **)&acb->uncacheptr, ARCMSR_DMA_ALLOC_FLAG, &acb->srb_dmamap) != 0) { + arcmsr_free_resource(acb); + printf("arcmsr%d: srb_dmat bus_dmamem_alloc failure!\n", acb->pci_unit); + return ENXIO; + } + /* And permanently map them */ + rc = bus_dmamap_load(acb->srb_dmat, acb->srb_dmamap, acb->uncacheptr, acb->max_coherent_size, arcmsr_map_free_srb, acb, /*flags*/0); + if((rc != 0) && (rc != EINPROGRESS)) { + arcmsr_free_resource(acb); + printf("arcmsr%d: srb_dmat bus_dmamap_load failure!\n", acb->pci_unit); + return ENXIO; + } + acb->acb_flags |= ACB_F_DMAMAP_SRB; + return (0); +} + +static int arcmsr_alloc_xor_mem(device_t dev, struct AdapterControlBlock *acb) +{ + int rc, xor_ram; + + xor_ram = (acb->firm_PicStatus >> 24) & 0x0f; + acb->xor_mega = (xor_ram - 1) * 32 + 128 + 3; + acb->init2cfg_size = sizeof(struct HostRamBuf) + (sizeof(struct XorSg) * acb->xor_mega); + /* DMA tag for XOR engine of Raid 5,6 */ + if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, + /*alignment*/ 0x40, + /*boundary*/ 0, + /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, + /*highaddr*/ BUS_SPACE_MAXADDR, + /*filter*/ NULL, + /*filterarg*/ NULL, + /*maxsize*/ acb->init2cfg_size, + /*nsegments*/ 1, + /*maxsegsz*/ acb->init2cfg_size, + /*flags*/ 0, + /*lockfunc*/ NULL, + /*lockarg*/ NULL, + &acb->xortable_dmat) != 0) + { + arcmsr_free_resource(acb); + printf("arcmsr%d: xor table bus_dma_tag_create failure!\n", acb->pci_unit); + return ENXIO; + } + /* Allocation for xors */ + if(bus_dmamem_alloc(acb->xortable_dmat, (void **)&acb->xortable, ARCMSR_DMA_ALLOC_FLAG, &acb->xortable_dmamap) != 0) { arcmsr_free_resource(acb); - printf("arcmsr%d: map free srb failure!\n", device_get_unit(dev)); + printf("arcmsr%d: xor table bus_dmamem_alloc failure!\n", acb->pci_unit); + return ENXIO; + } + /* And permanently map xor segs */ + rc = bus_dmamap_load(acb->xortable_dmat, acb->xortable_dmamap, acb->xortable, acb->init2cfg_size, arcmsr_map_xor_sgtable, acb, /*flags*/0); + if((rc != 0) && (rc != EINPROGRESS)) { + arcmsr_free_resource(acb); + printf("arcmsr%d: xor table bus_dmamap_load failure!\n", acb->pci_unit); + return ENXIO; + } + acb->acb_flags |= ACB_F_DMAMAP_SGTABLE; + + /* DMA tag for XOR engine of Raid 5,6 */ + if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, + /*alignment*/ 0x1000, + /*boundary*/ 0, + /*lowaddr*/ BUS_SPACE_MAXADDR_32BIT, + /*highaddr*/ BUS_SPACE_MAXADDR, + /*filter*/ NULL, + /*filterarg*/ NULL, + /*maxsize*/ (ARCMSR_XOR_SEG_SIZE * acb->xor_mega), + /*nsegments*/ acb->xor_mega, + /*maxsegsz*/ ARCMSR_XOR_SEG_SIZE, + /*flags*/ 0, + /*lockfunc*/ NULL, + /*lockarg*/ NULL, + &acb->xor_dmat) != 0) + { + arcmsr_free_resource(acb); + printf("arcmsr%d: xor bus_dma_tag_create failure!\n", acb->pci_unit); + return ENXIO; + } + /* Allocation for xors */ + if(bus_dmamem_alloc(acb->xor_dmat, (void **)&acb->xorptr, ARCMSR_DMA_ALLOC_FLAG, &acb->xor_dmamap) != 0) { + arcmsr_free_resource(acb); + printf("arcmsr%d: xor bus_dmamem_alloc failure!\n", acb->pci_unit); *** 247 LINES SKIPPED *** From nobody Wed Sep 6 10:17:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgdbD2vsdz4swKR; Wed, 6 Sep 2023 10:17:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgdbD2TGDz3fr9; Wed, 6 Sep 2023 10:17:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693995432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t6EzBKDXcmK3qg++7+991IMM1OdXv9+lQinYNZmD6AU=; b=XqGjQ+JvcEat5n4bPvM9RIetDSiuUZXuyzKgQp+RvgQnte4Vu8vMwMsLVUEjo6pk+0H1z8 8VXiPBUddEB6kiry0m0RQj0cQf3Hk0bU4VY2i30I9eC+YhYq6oNJ3fTs4IKJ3azUpocGZc fot+85IbL++8kD1CQj9iSHv0z8AeAb4POZVH6SicnxKaQzT+krxTIycvu+I/P/h91d2fLG nxg3yl9XFpIPMJkV5RKIBIzrhtSjfYa/JlComg0hHTSAtFBqkHvCnQjv00vW3/ryeFE9nA UwiwP+clmks+i9SbQ5OsaJQGVAnCK3pcZvm6aSv0trSPnkyE0vXYoqTKjYPj6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693995432; a=rsa-sha256; cv=none; b=ljFKroulgZZKIFlGS3s6C43Jc3E9VH8ZLuLnyGQuKew7kXs2zVdGSXqOR2CWM7mQOMjq1O 7RrARZgEJJ1wBEjkz8DmE7Zq4A/G9CRtWwrw1cGjAbdZqFBxe59MjR/xExMxqsUoAeCO6u TDCAYaGC7crlGhw4FsFMb6cN4kH6C5vfTdzKxyIt1sy37mbu9I1RIxsX5g6kX/FfBqetPd EqtyL2F/pycpsWHQU9L81/bypl43kBM1U0sQGe+pVrp4KvDTWuqPlAwn4AhRYotq0EeQnL iVxR+EFPT6/ou2llZqbAblm07QHe9YmPLx19AE6J34AS/iULAzFiaoTIZIgspg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693995432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t6EzBKDXcmK3qg++7+991IMM1OdXv9+lQinYNZmD6AU=; b=IUGs4npBvhVU4BmSXWxqy058zM3r0ArYHgrhr5vgRju68YLqc8Izmt8xASCd8TnJUgN3L4 NC0OUen8wc2c+oyxDtRG76ltCVTNV+P+Am8yq7MQ+3273DkIGTB8So+NHURKMdUtB7Ag/O u4vLJPkaJcaYulFw01EGWkorRH1nsVZp7PSJW5pplaiu3X2t3FHtyJEzldAKPIXSoRDwXf ymQenzM9GOPXOmn/ZRodvHlR3RXdhhuCUDl/p0bE3WNddjl/tRkuYm+yGX1FfOPTIEehKG hP+SbCELNUOr5ufpaDP7eC1jDnGUr+3M07cXX1RhmJ1BTqbRGuRhLcwkIjs6RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgdbD1Xbsz1BjV; Wed, 6 Sep 2023 10:17:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386AHCNR054985; Wed, 6 Sep 2023 10:17:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386AHCx4054982; Wed, 6 Sep 2023 10:17:12 GMT (envelope-from git) Date: Wed, 6 Sep 2023 10:17:12 GMT Message-Id: <202309061017.386AHCx4054982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 49d6743da15f - main - net: Check per-flow priority code point for untagged traffic List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49d6743da15fe378782e43776df8b4fd4f84c8d0 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=49d6743da15fe378782e43776df8b4fd4f84c8d0 commit 49d6743da15fe378782e43776df8b4fd4f84c8d0 Author: Zhenlei Huang AuthorDate: 2023-09-06 10:15:14 +0000 Commit: Zhenlei Huang CommitDate: 2023-09-06 10:15:14 +0000 net: Check per-flow priority code point for untagged traffic Commit 868aabb4708d introduced per-flow priority. There's a defect in the logic for untagged traffic, it does not check M_VLANTAG set in the mbuf packet header or MTAG_8021Q/MTAG_8021Q_PCP_OUT tag set by firewall, then can result missing desired priority in the outbound packets. For mbuf packet with M_VLANTAG in header, some interfaces happen to work due to bug in the drivers mentioned in D39499. As modern interfaces have VLAN hardware offloading, the defect is barely noticeable unless the feature per-flow priority is widely tested. As a side effect of this defect, the soft padding to work around buggy bridges is bypassed. That may result in regression if soft padding is requested. PR: 273431 Discussed with: kib Fixes: 868aabb4708d Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39536 --- sys/net/if_ethersubr.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index ab274eeb88bf..2cbe0ea98f27 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -123,6 +123,8 @@ static int ether_resolvemulti(struct ifnet *, struct sockaddr **, struct sockaddr *); static int ether_requestencap(struct ifnet *, struct if_encap_req *); +static inline bool ether_do_pcp(struct ifnet *, struct mbuf *); + #define senderr(e) do { error = (e); goto bad;} while (0) static void @@ -470,11 +472,7 @@ ether_set_pcp(struct mbuf **mp, struct ifnet *ifp, uint8_t pcp) int ether_output_frame(struct ifnet *ifp, struct mbuf *m) { - uint8_t pcp; - - pcp = ifp->if_pcp; - if (pcp != IFNET_PCP_NONE && ifp->if_type != IFT_L2VLAN && - !ether_set_pcp(&m, ifp, pcp)) + if (ether_do_pcp(ifp, m) && !ether_set_pcp(&m, ifp, ifp->if_pcp)) return (0); if (PFIL_HOOKED_OUT(V_link_pfil_head)) @@ -1400,6 +1398,19 @@ SYSCTL_INT(_net_link_vlan, OID_AUTO, mtag_pcp, CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(vlan_mtag_pcp), 0, "Retain VLAN PCP information as packets are passed up the stack"); +static inline bool +ether_do_pcp(struct ifnet *ifp, struct mbuf *m) +{ + if (ifp->if_type == IFT_L2VLAN) + return (false); + if (ifp->if_pcp != IFNET_PCP_NONE || (m->m_flags & M_VLANTAG) != 0) + return (true); + if (V_vlan_mtag_pcp && + m_tag_locate(m, MTAG_8021Q, MTAG_8021Q_PCP_OUT, NULL) != NULL) + return (true); + return (false); +} + bool ether_8021q_frame(struct mbuf **mp, struct ifnet *ife, struct ifnet *p, const struct ether_8021q_tag *qtag) From nobody Wed Sep 6 12:23:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RghPJ2Kf9z4rrvg; Wed, 6 Sep 2023 12:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RghPJ1drTz3H09; Wed, 6 Sep 2023 12:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kJvaWPKTOUoqtSMtf7dg8aF+j2GvexOd2PIefSveAMg=; b=RT5sW2eHNqLi8Ru8n2jcu6fwz2Kds3DsLqIKl93bJfWYiRMoa1AVri/TChw+I7AI6CAkfy jqevTqXwwSLpu0ZuU5PtbOssl6EEyMo9mNLRwakbahvOMnr5iZQAjlHUwgh/fqBlELF8gn Ez3SDaQF1a8h09H9YwKOx1KWp37WbxnyCieOiPiKAR0QDO00tLJ3VvBpw9wrsGPiQ8vkB+ bIbEDNxEO2YFolI71EXLeIRHRY5eHtwTcw0Yjr72qBIrqMhD1e16Q6LFxa09NjG6dfdVyG ajniBD5s/Sn/WqIrhMTfND47j6qrmiecGjCQ87m/poBQm2sbnrsmTMF78//5og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694003028; a=rsa-sha256; cv=none; b=s3j+rzFHRcjMZM9oE/WhtZ+idCP3Gb8Xvjg8qm4jpFqKOLOVUvh0T/N0Tlh0vkt3DGkYa4 +4YvwByvKCnZ9OdPoa4NR1vADdUvSj2QVoHXltW6/MQGTKIO9GGqqbnTlZ+v7ZlxJocjqr I2cRWswED2IWdAPlZbGrbpzn5bl4qVDJc0BF/sip6tmio8IxONfGGEM23XjblnCWiI5AWN 48jGE5TbnIFjyQQ9hcej6+iYWiIGLGVHfoUlfjVZIv+A/s+vpzXnjUJQIE/f1DLeRpmbDk 0mYgvtqnQSKmQIUnj7QvIdpXZ2OdxLONnUZkTgAJKtEoVFH1bQZFWTu7VbrzcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kJvaWPKTOUoqtSMtf7dg8aF+j2GvexOd2PIefSveAMg=; b=DoK08nRBQ0qsff91+UqvFzqM+n0WurufnwqaovUchWHaaUMVIhOiU+iIltcBOdRisZSJCc bS+Cf67J343d1n5wfta5SAn46kBvg/axTI9BSRMErZHohkcImfNAzyrOGqVdopE1WQwkgQ QNPaRbZ0ofP8E+goftYck5RuACN1Tcs++ys5tP57K+tfSdHwDrV1l3gTiOXzekjxjLDtR3 mRYDM/4Mkx/QKifyePf36jMvWutuk9kV6+NqSjAN+iuDUxF+ru5qzhU6AKuPvwnNIrqbpt E8/WlGfrUX9kKEDRkMLXWrbDrgSy3271MuL4C8X+P61mInxH9t64cQfztYRyrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RghPJ0jP0z1hW; Wed, 6 Sep 2023 12:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386CNmc3070406; Wed, 6 Sep 2023 12:23:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386CNmEv070403; Wed, 6 Sep 2023 12:23:48 GMT (envelope-from git) Date: Wed, 6 Sep 2023 12:23:48 GMT Message-Id: <202309061223.386CNmEv070403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 358f8a7add3c - main - sendmail: remove all m4 files with WITHOUT_SENDMAIL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 358f8a7add3c83f5f5a37b4c295e116ec511936b Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=358f8a7add3c83f5f5a37b4c295e116ec511936b commit 358f8a7add3c83f5f5a37b4c295e116ec511936b Author: Baptiste Daroussin AuthorDate: 2023-08-04 11:57:12 +0000 Commit: Baptiste Daroussin CommitDate: 2023-09-06 12:23:27 +0000 sendmail: remove all m4 files with WITHOUT_SENDMAIL --- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 82ea542d7f55..99efa469c0e7 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -7252,6 +7252,7 @@ OLD_FILES+=usr/share/sendmail/cf/feature/bestmx_is_local.m4 OLD_FILES+=usr/share/sendmail/cf/feature/bitdomain.m4 OLD_FILES+=usr/share/sendmail/cf/feature/blacklist_recipients.m4 OLD_FILES+=usr/share/sendmail/cf/feature/block_bad_helo.m4 +OLD_FILES+=usr/share/sendmail/cf/feature/check_other.m4 OLD_FILES+=usr/share/sendmail/cf/feature/check_cert_altnames.m4 OLD_FILES+=usr/share/sendmail/cf/feature/check_other.m4 OLD_FILES+=usr/share/sendmail/cf/feature/compat_check.m4 From nobody Wed Sep 6 12:23:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RghPK3rk8z4rry6; Wed, 6 Sep 2023 12:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RghPK2vSxz3GwK; Wed, 6 Sep 2023 12:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CmleF9r3C+Y56HwTZ/ebYxgdjXiLGVoEH3iGygErM/Q=; b=FeTsZX66NSgT6vhDN4TFNmSB+htKxN0Pc9Y+PzTXhWDdKuinf9KS8Sdwv7aelpfN0LODqY o/iD34kzkP9bm0SP1E/RUqHhmPjT/g9xjhYgjjK48SoqPtqy2OKNUlP53dVaJSAtV/IIfR cfcJZ2GtimdvkBM5BuqfOlGkBD7XDow57Wjk+Rj2nw2oiDe/fd1aU70XNH0n8w1FAaMNHI bfYrE3IWa9lvZ5QOghPJxCqKh2h8OHcQzw5jSUkqtYV0edfrVkRZSk9qkSAin8+5DvlDV3 /I8IdVwWGd+WfxOJ8g81aS0SkH1Xe6ZPEE6Ml8YRNA+7y0UO6/9b9vecduZbDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694003029; a=rsa-sha256; cv=none; b=ayGjPQLVmn/++jiQc10gBoq5dvhmSJh1uiZ6bjLkHqxiEcpDBOtNVjF4SU9TnY373M2weT YWHaGq2B8KVraYKRl1ltOYgc55EARXIPAW/UFFlDv8ht7KCSc3W0W4AZGyHV6ov1O+MZNH hKkti+sJCjnsrmYEEDfN7wbYNxmrPmyQag+gvhZxq5ul85Mcmoq22iAfpcm/hiNNe6PJTp JtzNWiqZs4BKXasPL82405umDh7KjQif3ii0TkJRJTgWWYho/7OjamPgSN3csuVzdvSuzH SGaHloF2qmHKsy7XTf67dRu29mOusHkrgWNQ7UtWf7ucmjVPAtM0phXymDR80w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CmleF9r3C+Y56HwTZ/ebYxgdjXiLGVoEH3iGygErM/Q=; b=mbvU+rjwEnkjLbMNNaTySKq2i1JIKde7W+jeUskIRQo/gTlHRhiO/3ONA4QBeKQhmgdCip po4p9/eC1qHe3vgHHRk8jlTdNIH45IJffefjv2QjoKT0U6VzvhArzIdtN21d41Vi6FtI8m bbqgRkZL93O5d2D9qPfmw4jr19AJJPoiJk036fE0+/VJC0hTbhxT8GTRKDhcaTZJQXBFII fEvU57htvGHaSrKqpg/ie6J9uQ3pfvYI1HDQqMu14Vhjqij7vknxi3Wr8q/WgWVjy0vPO1 p743Q25S8R1XM9q3usFglXAN6PAgA9PhVpB6wFkzCGFj5k7DYHfOyMYYcvrfNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RghPK1yd1z1px; Wed, 6 Sep 2023 12:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386CNn3i070445; Wed, 6 Sep 2023 12:23:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386CNnAP070442; Wed, 6 Sep 2023 12:23:49 GMT (envelope-from git) Date: Wed, 6 Sep 2023 12:23:49 GMT Message-Id: <202309061223.386CNnAP070442@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: bf986d52458a - main - pci_vendors: update to 2023-08-12 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf986d52458aaefa4d3a1d4668449cbb5c991afe Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=bf986d52458aaefa4d3a1d4668449cbb5c991afe commit bf986d52458aaefa4d3a1d4668449cbb5c991afe Author: Baptiste Daroussin AuthorDate: 2023-09-06 12:22:11 +0000 Commit: Baptiste Daroussin CommitDate: 2023-09-06 12:23:27 +0000 pci_vendors: update to 2023-08-12 --- share/misc/pci_vendors | 342 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 295 insertions(+), 47 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 29f7a824bbaf..d3988731c30a 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2023.06.19 -# Date: 2023-06-19 03:15:02 +# Version: 2023.08.12 +# Date: 2023-08-12 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -90,6 +90,8 @@ 025e d819 NVMe DC SSD E3.S 7.5mm [D5-P5336] 025e d81d NVMe DC SSD E1.L 9.5mm [D5-P5336] 0b70 NVMe DC SSD [Yorktown controller] + f1ab P41 Plus NVMe SSD (DRAM-less) + f1ac P44 Pro NVMe SSD 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company @@ -1037,8 +1039,8 @@ 15d9 1c6e AOC-SLG4-2H8M2 Storage Adapter 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter - 1d49 0700 ThinkSystem M.2 SATA/NVMe 2-Bay RAID Enablement Kit - 1d49 0701 ThinkSystem 7mm SATA/NVMe 2-Bay RAID Enablement Kit + 1d49 0700 ThinkSystem M.2 SATA/NVMe 2-Bay Non-Hot-Swap RAID Enablement Kit + 1d49 0701 ThinkSystem 7mm SATA/NVMe 2-Bay Rear Hot-Swap RAID Enablement Kit 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller @@ -1375,6 +1377,7 @@ 1043 841b M5A88-V EVO 1043 8445 M5A78L LE 105b 0e13 N15235/A74MX mainboard / AMD SB700 + 1179 ff1e Satellite C660D-113 1179 ff50 Satellite P305D-S8995E 1458 a022 GA-770/78-series motherboard 1458 a102 GA-880GMA-USB3 @@ -2178,7 +2181,7 @@ 6640 Saturn XT [FirePro M6100] 106b 014b Tropo XT [Radeon R9 M380 Mac Edition] 6641 Saturn PRO [Radeon HD 8930M] - 6646 Bonaire XT [Radeon R9 M280X] + 6646 Bonaire XT [Radeon R9 M280X / FirePro W6150M] 6647 Saturn PRO/XT [Radeon R9 M270X/M280X] 1043 223d N551ZU laptop Radeon R9 M280X 6649 Bonaire [FirePro W5100] @@ -2240,7 +2243,7 @@ 17aa 368f Radeon R5 A230 6667 Jet ULT [Radeon R5 M230] 666f Sun LE [Radeon HD 8550M / R5 M230] - 66a0 Vega 20 [Radeon Instinct] + 66a0 Vega 20 [Radeon Pro/Radeon Instinct] 66a1 Vega 20 [Radeon Pro VII/Radeon Instinct MI50 32GB] 66a2 Vega 20 66a3 Vega 20 [Radeon Pro Vega II/Radeon Pro Vega II Duo] @@ -2898,6 +2901,7 @@ 1787 a480 Radeon RX 480 1849 5001 Phantom Gaming X RX 580 OC 1849 5030 Phantom Gaming D Radeon RX580 8G OC + 1da2 e343 Radeon RX 570 Pulse ITX 4GB 1da2 e353 Radeon RX 570 Pulse 4GB 1da2 e366 Nitro+ Radeon RX 570/580/590 1da2 e387 Radeon RX 580 Pulse 4GB @@ -3168,7 +3172,7 @@ 686e Vega 10 GLXLA 687f Vega 10 XL/XT [Radeon RX Vega 56/64] 1002 0b36 RX Vega64 - 1002 6b76 RX Vega64 + 1002 6b76 AMD Radeon RX Vega 56 8GB # ROG-STRIX-RXVEGA64-O8G-GAMING 1043 04c4 Radeon RX Vega 64 1458 230c Radeon RX VEGA 56 GAMING OC 8G @@ -3906,13 +3910,14 @@ 1eae 6901 Speedster MERC 319 AMD Radeon RX 6900 XT Black 73c3 Navi 22 73c4 Navi 22 USB - 73ce Navi22-XL SRIOV MxGPU + 73ce Navi 22-XL SRIOV MxGPU 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] 1043 16c2 Radeon RX 6800M 1458 2408 Radeon RX 6750 XT GAMING OC 12G 1462 3980 Radeon RX 6700 XT Mech 2X 12G [MSI] 1849 5219 Radeon RX 6700 XT Challenger D 1849 5222 RX 6700 XT Challenger D OC + 1da2 465e Radeon RX 6750 XT PULSE OC 1da2 e445 Sapphire Radeon RX 6700 1eae 6601 Speedster QICK 319 RX 6700 XT 73e0 Navi 23 @@ -3936,16 +3941,17 @@ 7424 Navi 24 [Radeon RX 6300] 743f Navi 24 [Radeon RX 6400/6500 XT/6500M] 1da2 e457 PULSE AMD Radeon RX 6500 XT - 7448 Navi31 [Radeon Pro W7900] + 7446 Navi 31 USB + 7448 Navi 31 [Radeon Pro W7900] 744c Navi 31 [Radeon RX 7900 XT/7900 XTX] 1da2 471e PULSE RX 7900 XTX 1da2 e471 NITRO+ RX 7900 XTX Vapor-X 1eae 7901 RX-79XMERCB9 [SPEEDSTER MERC 310 RX 7900 XTX] - 745e Navi31 [Radeon Pro W7800] - 7480 Navi 33 [Radeon RX 7700S/7600S/7600M XT] + 745e Navi 31 [Radeon Pro W7800] + 7480 Navi 33 [Radeon RX 7700S/7600/7600S/7600M XT/PRO W7600] 1849 5313 RX 7600 Challenger OC 7483 Navi 33 [Radeon RX 7600M/7600M XT] - 7489 Navi 33 + 7489 Navi 33 [Radeon Pro W7500] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4348,6 +4354,7 @@ ab18 Vega 12 HDMI Audio ab20 Vega 20 HDMI Audio [Radeon VII] ab28 Navi 21/23 HDMI/DP Audio Controller + ab30 Navi 31 HDMI/DP Audio ab38 Navi 10 HDMI Audio ac00 Theater 506 World-Wide Analog Decoder ac01 Theater 506 World-Wide Analog Decoder @@ -5032,7 +5039,11 @@ 14b7 Family 17h-19h PCIe Dummy Host Bridge 14b9 Family 17h-19h Internal PCIe GPP Bridge 14ba Family 17h-19h PCIe GPP Bridge +# Server device + 14ca Genoa CCP/PSP 4.0 Device 14cd Family 19h USB4/Thunderbolt PCIe tunnel + 14de Phoenix PCIe Dummy Function + 14ef Family 19h USB4/Thunderbolt PCIe tunnel 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port @@ -5116,6 +5127,9 @@ 15b5 Stoney NB Performance Monitor 15bc Stoney PCIe [GFX,GPP] Bridge [4:0] 15be Stoney Audio Processor + 15c4 Phoenix USB4/Thunderbolt NHI controller #1 + 15c5 Phoenix USB4/Thunderbolt NHI controller #2 + 15c7 Family 19h (Model 74h) CCP/PSP 3.0 Device 15d0 Raven/Raven2 Root Complex 103c 8615 Pavilion Laptop 15-cw1xxx 1043 876b PRIME B450M-A Motherboard @@ -5264,6 +5278,8 @@ 1665 VanGogh Data Fabric; Function 5 1666 VanGogh Data Fabric; Function 6 1667 VanGogh Data Fabric; Function 7 + 1668 Pink Sardine USB4/Thunderbolt NHI controller #1 + 1669 Pink Sardine USB4/Thunderbolt NHI controller #2 166a Cezanne Data Fabric; Function 0 166b Cezanne Data Fabric; Function 1 166c Cezanne Data Fabric; Function 2 @@ -5707,6 +5723,7 @@ 1028 215f ENT NVMe RT1 RI 7.68TB 1028 2160 ENT NVMe RT1 FIPS RI 3.84TB 1028 2161 ENT NVMe RT1 FIPS RI 7.68TB + 9602 RS780/RS880 PCI to PCI bridge (int gfx) 1029 Siemens Nixdorf IS 102a LSI Logic 0000 HYDRA @@ -6971,6 +6988,7 @@ 90dc Baikal DMA Controller 90dd Baikal Memory (DDR3/SPM) 90de Baikal USB 3.0 xHCI Host Controller + 9121 Nextorage NEM-PA NVMe SSD for PlayStation 104e Oak Technology, Inc 0017 OTI-64017 0107 OTI-107 [Spitfire] @@ -7201,6 +7219,7 @@ c350 80333 [SuperTrak EX12350] e350 80333 [SuperTrak EX24350] 105b Foxconn International, Inc. + e0c3 T99W175 5G Modem [Snapdragon X55] 105c Wipro Infotech Limited 105d Number 9 Computer Company 2309 Imagine 128 @@ -12732,8 +12751,13 @@ 2330 GH100 [H100 SXM5 80GB] 2331 GH100 [H100 PCIe] 2336 GH100 [H100] - 2339 GH100 [H100] + 2337 GH100 [H100 SXM5 64GB] + 2339 GH100 [H100 SXM5 94GB] 233a GH100 [H800L 94GB] + 233d GH100 [H100 96GB] + 2342 GH100 [GH200 120GB] + 2343 GH100 + 2345 GH100 [GH200 480GB] 2414 GA103 [GeForce RTX 3060 Ti] 2420 GA103M [GeForce RTX 3080 Ti Mobile] 2438 GA103GLM [RTX A5500 Laptop GPU] @@ -12829,6 +12853,7 @@ 26b2 AD102GL [RTX 5000 Ada Generation] 26b5 AD102GL [L40] 26b8 AD102GL [L40G] + 26b9 AD102GL [L40S] 26f5 AD102GL [L40 CNX] 2704 AD103 [GeForce RTX 4080] 2717 GN21-X11 [GeForce RTX 4090 Laptop GPU] @@ -12839,15 +12864,18 @@ 2786 AD104 [GeForce RTX 4070] 27a0 AD104M [GeForce RTX 4080 Max-Q / Mobile] 27b0 AD104GL [RTX 4000 SFF Ada Generation] + 27b2 AD104GL [RTX 4000 Ada Generation] 27b7 AD104GL [L16] 27b8 AD104GL [L4] 27ba AD104GLM [RTX 4000 Ada Generation Laptop GPU] 27bb AD104GLM [RTX 3500 Ada Generation Laptop GPU] 27e0 AD104M [GeForce RTX 4080 Max-Q / Mobile] 2803 AD106 [GeForce RTX 4060 Ti] + 2805 AD106 [GeForce RTX 4060 Ti 16GB] 2820 AD106M [GeForce RTX 4070 Max-Q / Mobile] 2838 AD106GLM [RTX 3000 Ada Generation Laptop GPU] 2860 AD106M [GeForce RTX 4070 Max-Q / Mobile] + 2882 AD107 [GeForce RTX 4060] 28a0 AD107M [GeForce RTX 4060 Max-Q / Mobile] 28a1 AD107M [GeForce RTX 4050 Max-Q / Mobile] 28b8 AD107GLM [RTX 2000 Ada Generation Laptop GPU] @@ -13097,7 +13125,10 @@ 5288 RTS5288 PCI Express Card Reader 5289 RTL8411 PCI Express Card Reader 1043 1457 K55A Laptop + 5760 RTS5763DL x2 NVMe SSD Controller 5762 RTS5763DL NVMe SSD Controller + 5763 RTS5763DL NVMe SSD Controller (DRAM-less) + 5765 RTS5765DL NVMe SSD Controller (DRAM-less) 8029 RTL-8029(AS) 10b8 2011 EZ-Card (SMC1208) 10ec 8029 RTL-8029(AS) @@ -15293,8 +15324,8 @@ 0102 Extended IDE Controller 0103 EX-IDE Type-B 010e PXP04 NVMe SSD - 010f NVMe Controller - 0110 NVMe SSD Controller Cx5 + 010f XG3 NVMe SSD Controller + 0110 Cx5 NVMe SSD Controller 1028 1ffb Express Flash NVMe 960G (RI) U.2 (CD5) 1028 1ffc Express Flash NVMe 1.92T (RI) U.2 (CD5) 1028 1ffd Express Flash NVMe 3.84T (RI) U.2 (CD5) @@ -16410,6 +16441,7 @@ 8331 O2 Flash Memory Card 8520 SD/MMC Card Reader Controller 8621 SD/MMC Card Reader Controller + 8760 FORESEE E2M2 NVMe SSD 1218 Hybricon Corp. 1219 First Virtual Corporation 121a 3Dfx Interactive, Inc. @@ -16767,8 +16799,9 @@ 0811 SM811 LynxE 0820 SM820 Lynx3D 0910 SM910 + 2260 SM2260 NVMe SSD Controller 2262 SM2262/SM2262EN SSD Controller - 2263 SM2263EN/SM2263XT SSD Controller + 2263 SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers 1270 Olympus Optical Co., Ltd. 1271 GW Instruments 1272 Telematics International @@ -17556,6 +17589,8 @@ 5190 9200 ECO NVMe SSD 5191 9200 PRO NVMe SSD 5192 9200 MAX NVMe SSD + 5196 9400 PRO NVMe SSD + 5197 9400 MAX NVMe SSD 51a2 7300 PRO NVMe SSD 1344 2000 960GB U.2 1344 3000 1920GB U.2 @@ -17615,8 +17650,12 @@ 51c3 7450 PRO NVMe SSD 51c4 7450 MAX NVMe SSD 1344 3000 U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS] - 5410 2200S NVMe SSD - 5411 2450 NVMe SSD (DRAM-less) + 5404 2210 NVMe SSD [Cobain] + 5405 2300 NVMe SSD [Santana] + 5407 3400 NVMe SSD [Hendrix] + 5410 2200S NVMe SSD [Cassandra] + 5411 2450 NVMe SSD [HendrixV] (DRAM-less) + 5413 2400 NVMe SSD (DRAM-less) 5414 3460 NVMe SSD 6001 2100AI NVMe SSD [Nitro] 1345 Arescom Inc @@ -19307,15 +19346,18 @@ 144b Verint Systems Inc. 144c Catalina Research Inc 144d Samsung Electronics Co Ltd - 1600 Apple PCIe SSD + 1600 S4LN053X01 AHCI SSD Controller(Apple slot) + 9602 RS780/RS880 PCI to PCI bridge (int gfx) a544 Exynos 8890 PCIe Root Complex a575 Exynos 7420 PCIe Root Complex a5e3 Exynos 5433 PCIe Root Complex a800 XP941 PCIe SSD + a801 S4LN058A01[SSUBX] AHCI SSD Controller (Apple slot) a802 NVMe SSD Controller SM951/PM951 144d a801 PM963 2.5" NVMe PCIe SSD a804 NVMe SSD Controller SM961/PM961/SM963 144d a801 SM963 2.5" NVMe PCIe SSD + a806 NVMe SSD SM0032L a808 NVMe SSD Controller SM981/PM981/PM983 144d a801 SSD 970 EVO 1d49 403b Thinksystem U.2 PM983 NVMe SSD @@ -19341,6 +19383,7 @@ 1028 512d DC NVMe PM9A3 RI U.2 7.68TB 144d a813 General DC NVMe PM9A3 a80b NVMe SSD Controller PM9B1 + a80c NVMe SSD Controller S4LV008[Pascal] a820 NVMe SSD Controller 171X 1028 1f95 Express Flash NVMe XS1715 SSD 400GB 1028 1f96 Express Flash NVMe XS1715 SSD 800GB @@ -20469,6 +20512,7 @@ 43aa BCM43131 802.11b/g/n 43ae BCM43162 802.11ac Wireless Network Adapter 43b1 BCM4352 802.11ac Wireless Network Adapter + 1043 85ba PCE-AC56 Dual-Band Wireless PCI-E Adapter 43ba BCM43602 802.11ac Wireless LAN SoC 43bb BCM43602 802.11ac Wireless LAN SoC 43bc BCM43602 802.11ac Wireless LAN SoC @@ -20594,7 +20638,8 @@ d804 BCM58804 Stingray 100Gb Ethernet SoC f800 BCM78800 Switch ASIC [Trident5-X12] f900 BCM78900 Switch ASIC [Tomahawk5] - f903 BCM78903 Switch ASIC [Tomahawk6] + f902 BCM78902 Switch ASIC [Tomahawk5T] + f903 BCM78903 Switch ASIC [Tomahawk5] f905 BCM78905 Switch ASIC [Tomahawk5+] f910 BCM78910 Switch ASIC [Tomahawk6] f914 BCM78914 Switch ASIC [Tomahawk6] @@ -21410,6 +21455,7 @@ 101d MT2892 Family [ConnectX-6 Dx] 101e ConnectX Family mlx5Gen Virtual Function 101f MT2894 Family [ConnectX-6 Lx] + 193d 1035 NIC-ETH641F-LP-2P SFP28 2x25GbE PCIe Network Adapter 1020 MT28860 1021 MT2910 Family [ConnectX-7] 1023 CX8 Family [ConnectX-8] @@ -21542,18 +21588,25 @@ 5004 PC SN520 NVMe SSD 5005 PC SN520 NVMe SSD 5006 WD Black SN750 / PC SN730 NVMe SSD - 5007 PC SN530 NVMe SSD (DRAM-less) - 5008 PC SN530 NVMe SSD + 5007 IX SN530 NVMe SSD (DRAM-less) + 5008 PC SN530 NVMe SSD (DRAM-less) 5009 WD Blue SN550 NVMe SSD 15b7 5009 WD Blue SN550 NVMe SSD 500b PC SN530 NVMe SSD 1414 500b Xbox Series X 500d WD Ultrastar DC SN340 NVMe SSD 5011 WD PC SN810 / Black SN850 NVMe SSD - 5015 PC SN740 NVMe SSD - 5017 WD Black SN770 NVMe SSD + 5014 WD Green SN350 NVMe SSD 1 TB (DRAM-less) + 5015 PC SN740 NVMe SSD (DRAM-less) + 5016 WD PC SN740 NVMe SSD 512GB (DRAM-less) + 5017 WD Black SN770 / PC SN740 256GB / PC SN560 (DRAM-less) NVMe SSD + 5019 WD Green SN350 NVMe SSD 240GB (DRAM-less) 501a WD Blue SN570 NVMe SSD 1TB + 501d WD Blue SN550 NVMe SSD 2TB (DRAM-less) + 501e PC SN735 NVMe SSD (DRAM-less) + 501f WD PC SN735 NVMe SSD 512GB (DRAM-less) 5025 WD Blue SN570 NVMe SSD 2TB + 5026 WD PC SN735 NVMe SSD 1TB (DRAM-less) 5030 Western Digital WD Black SN850X NVMe SSD 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) @@ -22637,8 +22690,11 @@ 9755 GL9755 SD Host Controller e763 GL9763E eMMC Controller 17aa Lenovo + 0003 LENSE20256GMSP34MEAT2TA + 0004 LENSE20512GMSP34MEAT2TA # 250GB nvme ssd from lenovo, can be found in Thinkpad x380 yoga 0005 LENSE30256GMSP34MEAT3TA + 0006 LENSE30512GMSP34MEAT3TA 3181 ThinkCentre M75n IoT 402b Intel 82599ES 10Gb 2-port Server Adapter X520-2 17ab Phillips Components @@ -22665,6 +22721,7 @@ 0105 MSM8998 PCIe Root Complex 0108 SM8150 PCIe Root Complex 0109 SA8195P PCIe Root Complex + 010e SC8280XP PCI Express Root Port 0300 MDM9x35 LTE Modem [Snapdragon X7] 0301 MDM9x45 LTE Modem [Snapdragon X12] 0302 MDM9x55 LTE Modem [Snapdragon X16] @@ -22674,6 +22731,8 @@ 1101 QCA6390 Wireless Network Adapter 1103 QCNFA765 Wireless Network Adapter 1104 QCN6024/9024/9074 Wireless Network Adapter + 1108 IPQ95xx/97xx PCI Express Root Port + 1109 QCN62xx/92xx Wireless Network Adapter 17cc NetChip Technology, Inc 2280 USB 2.0 17cd Cadence Design Systems, Inc. @@ -23604,6 +23663,7 @@ 16ff OX16C954 HOST-B 1987 Phison Electronics Corporation 5007 E7 NVMe Controller + 5008 E8 PCIe3 NVMe Controller 5012 E12 NVMe Controller 5013 PS5013 E13 NVMe Controller 5016 E16 PCIe4 NVMe Controller @@ -23661,6 +23721,7 @@ 103c 3315 NC553i 10Gb 2-port FlexFabric Converged Network Adapter 103c 337b NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter 0800 ServerView iRMC HTI +19a4 Owl Cyber Defense Solutions 19a8 DAQDATA GmbH 19ac Kasten Chase Applied Research 0001 ACA2400 Crypto Accelerator @@ -23893,7 +23954,8 @@ 0050 FlashMAX III 1a84 Commex Technologies 0001 Vulcan SP HT6210 10-Gigabit Ethernet (rev 02) -1a88 MEN Mikro Elektronik +# nee MEN Mikro Elektronik +1a88 Duagon AG 4d45 Multifunction IP core 1a8a StarBridge, Inc. 1a8c Verigy Pte. Ltd. @@ -24128,6 +24190,7 @@ 000c QEMU PCIe Root port 000d QEMU XHCI Host Controller 0010 QEMU NVM Express Controller + 0013 QEMU UFS Host Controller 0100 QXL paravirtual graphic card 1af4 1100 QEMU Virtual Machine 1b37 Signal Processing Devices Sweden AB @@ -24170,7 +24233,7 @@ 1028 2112 BOSS-N1 Monolithic 1028 2113 BOSS-N1 Modular 1028 2151 BOSS-N1 Modular ET - 1028 2196 ROR-N100 + 1028 2196 ROR-N1 1b4b 2241 Santa Cruz NVMe Host Adapter 1d49 0306 ThinkSystem M.2 NVMe 2-Bay RAID Enablement Kit 1d49 0307 ThinkSystem 7mm NVMe 2-Bay Rear RAID Enablement Kit @@ -24241,7 +24304,9 @@ d430 D410/430 Quad-port E1/T1 card 1b79 Absolute Analysis 1b85 OCZ Technology Group, Inc. - 1041 RevoDrive 3 X2 PCI-Express SSD 240 GB (Marvell Controller) + 1021 RevoDrive 3 X2 PCIe SSD 240 GB (Marvell SAS Controller) + 1041 RevoDrive 3 X2 PCIe SSD 240 GB (Marvell SAS Controller) + 4018 Z Drive 6000/6300 NVME SSD 6018 RD400/400A SSD 8788 RevoDrive Hybrid 1b94 Signatec / Dynamic Signals Corp @@ -24371,7 +24436,8 @@ # Nytro 5360S (Rocinante Single Port) TCG - E3.S 1bb1 0180 Nytro 5360S TCG - E3.S 1bb1 01a1 Nytro XP7102 - 5012 FireCuda 510 SSD + 5012 FireCuda/IronWolf 510 SSD + 5013 BarraCuda Q5 NVMe SSD (DRAM-less) 5016 FireCuda 520 SSD 5018 FireCuda 530 SSD 1bb3 Bluecherry @@ -24390,7 +24456,7 @@ 0004 MAX4 1bc0 Innodisk Corporation 1001 PCIe 3TG6-P Controller - 1002 PCIe 3TE6 Controller + 1002 PCIe 3TE6 Controller (DRAM-less) 1160 PCIe 3TE2 Controller 1321 PCIe 4TG-P Controller 1322 PCIe 4TE Controller @@ -24398,6 +24464,8 @@ 5208 PCIe 3TE7 Controller 5216 PCIe 3TE8 Controller 5236 PCIe 4TG2-P Controller +1bcd Apacer Technology + 0120 NVMe SSD Drive 960GB 1bcf NEC Corporation 001c Vector Engine 1.0 1bd0 Astronics Corporation @@ -24420,6 +24488,16 @@ 1203 NG3 Series Avionics Discrete Interface 1bd4 Inspur Electronic Information Industry Co., Ltd. 0911 Arria10_PCIe_F10A1150 + 1000 NS8600G1U160 NVME SSD + 1001 NS8600G1U320 NVME SSD + 1002 NS8600G1U640 NVME SSD + 1003 NS8500G1U192 NVME SSD + 1004 NS8500G1U384 NVME SSD + 1005 NS8500G1U768 NVME SSD + 1006 NS6610G1U160, NS6510G1U192 NVME SSD + 1007 NS6610G1U320, NS6510G1U384 NVME SSD + 100c NS8510G1Uxxx, NS8610G1Uxxx NVME SSD + 100e NS8500G2Uxxxx, NS8600G2Uxxxx NVME SSD 1bee IXXAT Automation GmbH 0003 CAN-IB200/PCIe 1bef Lantiq @@ -24427,6 +24505,7 @@ 1bf4 VTI Instruments Corporation 0001 SentinelEX 7011 RX0xxx +1bfc Duagon AG 1bfd EeeTOP 1c00 Nanjing Qinheng Microelectronics Co., Ltd. 3252 CH382 PCIe Dual Port Serial Adapter @@ -24507,6 +24586,7 @@ # http://www.accensusllc.com/accensustelas2.html 0300 Telas 2.V 1c44 Enmotus Inc + 1100 Fuzedrive NVMe SSD 8000 8000 Storage IO Controller # A Western Digital Subsidiary 1c58 HGST, Inc. @@ -24517,6 +24597,7 @@ 0023 Ultrastar SN200 Series NVMe SSD 1c58 8823 Ultrastar Memory (ME200) 1c5c SK hynix + 1282 PC300 NVMe Solid State Drive 128GB 1283 PC300 NVMe Solid State Drive 256GB 1284 PC300 NVMe Solid State Drive 512GB 1285 PC300 NVMe Solid State Drive 1TB @@ -24524,11 +24605,15 @@ 1339 BC511 NVMe SSD 1504 PC400 NVMe SSD 1527 PC401 NVMe Solid State Drive 256GB + 1627 PC601 NVMe Solid State Drive 1639 PC611 NVMe Solid State Drive + 1739 BC701 NVMe Solid State Drive 174a Gold P31/BC711/PC711 NVMe Solid State Drive 1959 Platinum P41/PC801 NVMe Solid State Drive 1d59 BC901 NVMe Solid State Drive (DRAM-less) 2204 960GB TLC PCIe Gen3 x4 NVMe M.2 22110 + 2427 PE6010 NVMe Solid State Drive + 2429 PE6011 NVMe Solid State Drive 243b PE6110 NVMe Solid State Drive 1c5c 0100 PE6110 NVMe Solid State Drive 2839 PE8000 Series NVMe Solid State Drive @@ -24551,6 +24636,8 @@ 1028 2268 DC NVMe ISE PE8110 RI U.2 3840GB 1028 2269 DC NVMe ISE PE8110 RI U.2 7680GB 1c5c 0101 PE81x0 U.2/3 NVMe Solid State Drive + 284a PE8110 Series NVMe Solid State Drive + 2a49 PE9110 Series NVMe Solid State Drive 1c5f Beijing Memblaze Technology Co. Ltd. 000d PBlaze5 520/526 1c5f 0220 NVMe SSD PBlaze5 520 1920G AIC @@ -24656,10 +24743,19 @@ 0002 Clarett 1cb8 Dawning Information Industry Co., Ltd. 1cc1 ADATA Technology Co., Ltd. +# SX6000LNP + 2263 XPG SX6000 Lite NVMe SSD (DRAM-less) + 33f3 IM2P33F3 NVMe SSD (DRAM-less) 33f8 IM2P33F8ABR1 NVMe SSD 5350 XPG GAMMIX S50 NVMe SSD -# 256GB NVMe SSD - 5766 ADATA XPG GAMMIXS1 1L Media + 5762 FALCON NVMe SSD + 5766 ADATA XPG GAMMIXS1 1L Media (256 GB SSD) + 612a LEGEND 750 NVMe SSD (DRAM-less) + 613a LEGEND 840 NVMe SSD (DRAM-less) + 621a LEGEND 850 NVMe SSD (DRAM-less) + 622a LEGEND 960 NVMe SSD + 624a LEGEND 700 NVMe SSD (DRAM-less) + 627a LEGEND 800 NVMe SSD 8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive 1cc4 Shenzhen Unionmemory Information System Ltd. 1203 NVMe SSD Controller UHXXXa series @@ -24675,8 +24771,21 @@ 1cc4 e122 NVMe SSD UH711a series U.2 1920GB 1cc4 e123 NVMe SSD UH711a series U.2 3840GB 1cc4 e124 NVMe SSD UH711a series U.2 7680GB - 17ab NVMe 256G SSD device + 17a9 RPITJ1TBVME2HWD NVMe SSD 1024GB + 17aa AH631 PCIe 3.0 NVMe SSD 512GB + 17ab AH631 PCIe 3.0 NVMe SSD 256GB + 2263 AM611 PCIe 3.0 NVMe SSD 256GB + 5008 AM610 PCIe 3.0 NVMe SSD 128GB + 5012 RPITJ512PED2OWX NVMe SSD 512GB + 6201 AM620 PCIe 3.0 NVMe SSD 128GB + 6202 AM620 PCIe 3.0 NVMe SSD 256GB + 6203 AM620 PCIe 3.0 NVMe SSD 512GB + 6204 AM620 PCIe 3.0 NVMe SSD 1024GB + 6302 AM630 PCIe 4.0 NVMe SSD 256GB 6303 AM630 PCIe 4.0 x4 NVMe SSD Controller + 6304 AM630 PCIe 4.0 NVMe SSD 1024GB + 6a03 RPETJ512MKP1QDQ PCIe 4.0 NVMe SSD 512GB (DRAM-less) + 6a14 RPEYJ1T24MKN2QWY PCIe 4.0 NVMe SSD 1024GB (DRAM-less) 1cc5 Embedded Intelligence, Inc. 0100 PCIe-CAN-02 Dual CAN bus (9-pin male). PCI Express x1. 0101 PCIe-CAN-01 Single CAN bus (9-pin male). PCI Express x1. @@ -24720,6 +24829,8 @@ 1cf0 Akitio 1cf7 Subspace Dynamics 1cfa Corsair Memory, Inc +1cfd Mangstor + 6300 MX6300 series PCIe x8 NVMe SSD 1d00 Pure Storage 1d05 Tongfang Hongkong Limited 1d0f Amazon.com, Inc. @@ -24827,6 +24938,9 @@ 0015 PM4edge 0016 PM4edge User Device 1d40 Techman Electronics (Changshu) Co., Ltd. + 5501 XC100C55-xxxx NVME SSD + 5c01 XC100C5C-xxxx, XC100E5C-xxxx NVME SSD + b100 PV100C55-xxxx NVME SSD 1d44 DPT a400 PM2x24/PM3224 1d49 Lenovo @@ -24960,6 +25074,10 @@ 1d78 7204 Aliflash V2 U.2 15mm 3.84TB NVMe SSD 1d78 7208 Aliflash V2 U.2 15mm 7.68TB NVMe SSD 1d79 Transcend Information, Inc. + 2262 NVMe PCIe SSD 220S + 2263 NVMe PCIe SSD 120S/112S (DRAM-less) + 2264 NVMe PCIe SSD 250H + 5766 NVMe PCIe SSD 110Q (DRAM-less) 1d7c Aerotech, Inc. # Fiber-optic HyperWire motion control bus from Aerotech. 0001 HyperWire Adapter @@ -25015,9 +25133,12 @@ 0001 Colossus GC2 [C2] 0002 Colossus GC1 [S1] 1d97 Shenzhen Longsys Electronics Co., Ltd. + 1062 Lexar NM710 NVME SSD 1d97 Lexar NM620 NVME SSD (DRAM-less) 2263 SM2263EN/SM2263XT-based OEM SSD 2269 Lexar NM760 NVME SSD (DRAM-less) + 5216 Lexar NM620 NVME SSD (DRAM-less) + 5236 Lexar NM800 PRO NVME SSD # nee Facebook, Inc. 1d9b Meta Platforms, Inc. 0010 Networking DOM Engine @@ -25037,6 +25158,8 @@ # PCIe accelerator card for Deep Learning training tasks 1020 Gaudi2 AI Training Accelerator 1da8 Corigine, Inc. + 3800 Network Flow Processor 3800 + 3803 Network Flow Processor 3800 Virtual Function 1dad Fungible 1db2 ATP ELECTRONICS INC 1db7 Phytium Technology Co., Ltd. @@ -25064,6 +25187,9 @@ dc3c GPU_DMA Controller [X100 Series] 1dbb NGD Systems, Inc. 1dbe INNOGRIT Corporation + 5216 NVMe SSD Controller IG5216 (DRAM-less) + 5220 NVMe SSD Controller IG5220 (DRAM-less) + 5236 NVMe SSD Controller IG5236 5636 NVMe DC SSD IG5636 1dbe 0001 DONGTING-N1 DC SSD U.2 1dbe 1001 DONGHU-Z1 DC ZNS SSD U.2 @@ -25078,6 +25204,7 @@ 1dcf Beijing Sinead Technology Co., Ltd. 1dd3 Sage Microelectronics Corp. 1dd4 Swissbit AG + 0010 N-10m2 NVMe SSD 1dd8 AMD Pensando Systems 0002 DSC2 Elba Upstream Port 1dd8 5001 DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 Services Card @@ -25231,6 +25358,8 @@ 8003 RCEC PF 8004 RCEC VF 1dee Biwin Storage Technology Co., Ltd. + 2262 HP EX950 NVMe SSD + 2263 HP EX900 NVMe SSD (DRAM-less) 1def Ampere Computing, LLC e005 eMAG PCI Express Root Port 0 e006 eMAG PCI Express Root Port 1 @@ -25305,6 +25434,8 @@ 0208 ACE-NIC100RN Programmable Network Accelerator 1df3 0000 Maintenance Mode 1df3 0001 ENA2100RN +1df5 Shenzhen TIGO Semiconductor + 1202 kimtigo NVMe SSD (DRAM-less) 1df7 opencpi.org 0001 ml605 0002 alst4 @@ -25321,7 +25452,7 @@ 1dfc JSC NT-COM 1181 TDM 8 Port E1/T1/J1 Adapter 1e0f KIOXIA Corporation - 0001 NVMe SSD Controller BG4 + 0001 NVMe SSD Controller BG4 (DRAM-less) 0007 NVMe SSD Controller Cx6 1028 2078 DC NVMe CD6 RI 960GB 1028 2079 DC NVMe CD6 RI 1.92TB @@ -25343,9 +25474,13 @@ 1028 210f Dell Ent NVMe FIPS CM6 MU 3.2TB 1028 2110 Dell Ent NVMe FIPS CM6 MU 6.4TB 1e0f 0001 Generic NVMe CM6 + 0008 RD500/Exceria Plus/Exceria Plus G2 NVMe SSD 0009 NVMe SSD 1e0f 0001 Toshiba RC500 Series NVMe SSD 1e0f 0032 KIOXIA EXCERIA RC10 Series NVMe SSD + 000c NVMe SSD Controller BG5 (DRAM-less) + 000d NVMe SSD Controller XG7 + 0010 NVMe SSD Controller XG8 0011 NVMe SSD Controller CD7 1028 2189 DC NVMe SED CD7 RI 960GB 1028 218a DC NVMe CD7 RI 960GB @@ -25392,6 +25527,7 @@ 1028 2247 Ent NVMe CM7 E3.S MU 6.4TB 1028 2248 Ent NVMe CM7 E3.S MU 3.2TB 1028 2249 Ent NVMe CM7 E3.S MU 1.6TB + 0018 Exceria Pro NVMe SSD 001f NVMe SSD Controller CD8 1028 2223 DC NVMe CD8 U.2 SED 15.36TB 1028 2224 DC NVMe CD8 U.2 SED 7.68TB @@ -25428,6 +25564,16 @@ 8001 I20 [CloudBlazer] 8011 I10 [CloudBlazer] 8012 I10L [CloudBlazer] +# HHHL PCIe card, single slot, 3rd generation from Enflame + 8031 S6 [Enflame] +# HHHL PCIe card, single slot, 3rd generation from Enflame, 24GB device memory + 8032 S6 [Enflame] +# FHFL PCIe card, single slot, 3rd generation from Enflame + c031 S30 [Enflame] +# HHHL PCIe card, dual slot, 3rd generation from Enflame + c032 S60 [Enflame] +# FHFL PCIe card, single slot, 3rd generation from Enflame, 48GB device memory + c033 S30 [Enflame] # nee Thinci, Inc 1e38 Blaize, Inc 0102 Xplorer X1600 @@ -25506,11 +25652,20 @@ 1e3b 008b Enterprise NVMe SSD HHHL 1.6TB (H3900) 1e3b 0091 Enterprise NVMe SSD HHHL 0.75TB (H3900) 1333 Haishen5 NVMe SSD + 1e3b 0081 Enterprise NVMe SSD U.2 3.84TB (H5100) + 1e3b 0082 Enterprise NVMe SSD U.2 7.68TB (H5100) + 1e3b 0084 Enterprise NVMe SSD U.2 3.2TB (H5300) + 1e3b 0085 Enterprise NVMe SSD U.2 6.4TB (H5300) 1e3d Burlywood, Inc 1e44 Valve Software 1e49 Yangtze Memory Technologies Co.,Ltd + 0001 ZHITAI PC005 NVMe SSD 0021 ZHITAI TiPro5000 NVMe SSD 0041 ZHITAI TiPro7000 + 0071 ZHITAI TiPlus7100 +# YMTC + 1001 PC005 NVMe SSD + 1011 PC210 NVMe SSD # YMTC PCIe/NVMe SSD 1013 PC210 1e4b MAXIO Technology (Hangzhou) Ltd. @@ -25561,6 +25716,7 @@ 1e81 a213 NVMe SSD UHXXXa series U.2 3200GB 1e81 a214 NVMe SSD UHXXXa series U.2 6400GB 1e81 f123 NVMe SSD TP6500 series U.2 3840GB + 6206 AM620 NVMe SSD 1e83 Huaqin Technology Co.Ltd 1e85 Heitec AG 1e89 ID Quantique SA @@ -25573,6 +25729,8 @@ 1002 NVMe SSD [3DNAND] 2.5" U.2 (LJ1) 1e95 1101 NVMe SSD [3DNAND] 2.5" U.2 (LJ1) 1ea0 5636 TP1500 Series U.2 NVMe Datacenter SSD + 1003 CLR-8W512 NVMe SSD M.2 (DRAM-less) + 1007 CL4-8D512 NVMe SSD M.2 (DRAM-less) 9100 CL1-3D256-Q11 NVMe SSD M.2 1e96 Drut Technologies Inc. 1e9f Lynxi Technologies Co., Ltd. @@ -25585,7 +25743,7 @@ 224a IPA-PE224A CXL to Gen-Z Bridge [Sphinx] 1eab Hefei DATANG Storage Technology Co.,LTD. 300a NVMe SSD Controller 300A - 300b NVMe SSD Controller 300B + 300b NVMe SSD Controller 300B (DRAM-less) 1eac Quectel Wireless Solutions Co., Ltd. 1001 EM120R-GL LTE Modem 1002 EM160R-GL LTE Modem @@ -25652,12 +25810,16 @@ 0201 MTT S80 0202 MTT S70 0203 MTT S60 - 0211 G2D40 + 0211 MTT X200 0221 G2S80 0222 MTT S3000 0223 G2S4 0251 G2N10 02ff MTT HDMI/DP Audio + 0300 MTT S90 Engineering Sample + 0301 MTT S90 + 0323 MTT S4000 + 03ff MTT HDMI/DP Audio 1ed8 Digiteq Automotive 0101 FG4 PCIe Frame Grabber 1ed9 Myrtle.ai @@ -25714,6 +25876,8 @@ 5220 IG5220-Based NVMe SSD 5236 IG5236-Based NVMe SSD 5636 IG5636-Based NVMe SSD +1f0a Motorcomm Microelectronics. + 6801 YT6801 Gigabit Ethernet Controller 1f0f NebulaMatrix Technology 1041 D1055AS vDPA Ethernet Controller 1f0f 0001 D1055AS vDPA Ethernet Controller @@ -25744,6 +25908,8 @@ 1f2f 6115 KM660 U.2 3.2TB NVMe SSD 1f2f 6116 KM560 U.2 3.84TB NVMe SSD 1f2f 6118 KM560 U.2 7.68TB NVMe SSD +1f31 Nextorage + 4512 Nextorage NE1N NVMe SSD 1f3f 3SNIC Ltd 2100 SSSHBA SAS/SATA HBA 1f3f 0120 HBA 32 Ports @@ -25783,6 +25949,7 @@ 9032 SSSNIC SDI5.1 1f3f 00a1 Dual Port 100GE SDI5.1 1f40 Netac Technology Co.,Ltd + 2263 NVMe SSD (DRAM-less) 1f44 VVDN Technologies Private Limited 1f4b Axera Semiconductor Co., Ltd 1f52 MangoBoost Inc. @@ -25890,6 +26057,14 @@ 1fd4 SUNIX Co., Ltd. 0001 Matrix multiport serial adapter 1999 Multiport serial controller +1fde Kratos Defense & Security Solutions, Inc. + 1125 OpenEdge 1125P + 2500 OpenEdge 2500P +1fe0 Allwinmeta Co., Ltd. + 1010 AWM 1 + 2000 AWM 2 + 2010 AWM 2-M +1fe4 HippStor Technology 2000 Smart Link Ltd. 2800 SmartPCI2800 V.92 PCI Soft DFT 2001 Temporal Research Ltd @@ -25909,13 +26084,24 @@ 2010 8142 100VG/AnyLAN 2646 Kingston Technology Company, Inc. 0010 HyperX Predator PCIe AHCI SSD - 2262 KC2000 NVMe SSD +# KC2000 and KC2500 share the same DID + 2262 KC2000/KC2500 NVMe SSD 2263 A2000 NVMe SSD 5008 U-SNS8154P3 NVMe SSD + 500b DC1000M NVMe SSD + 500c OM8PCP Design-In PCIe 3 NVMe SSD (DRAM-less) 500d OM3PDP3 NVMe SSD - 500e SNVS2000G [NV1 NVMe PCIe SSD 2TB] - 5012 DC1500M U.2 Enterprise SSD - 5013 FURY Renegade NVMe SSD + 500e NV1 NVMe SSD + 5010 OM8SBP NVMe PCIe SSD (DRAM-less) + 5012 DC1500M NVMe SSD +# KC3000 and Renegade share the same DID + 5013 KC3000/Renegade NVMe SSD + 5014 Design-In PCIe 4 NVMe SSD (TLC) + 5016 OM3PGP4 NVMe SSD + 501b OM8PGP4 NVMe PCIe SSD (DRAM-less) + 501d NV2 NVMe PCIe 4 SSD 500GB (DRAM-less) + 501f FURY Renegade NVMe SSD with heatsink + 5021 Design-In PCIe 4 NVMe SSD (QLC) 270b Xantel Corporation 270f Chaintech Computer Co. Ltd 2711 AVID Technology Inc. @@ -27193,6 +27379,7 @@ 0960 80960RP (i960RP) Microprocessor/Bridge 0962 80960RM (i960RM) Bridge 0964 80960RP (i960RP) Microprocessor/Bridge + 0975 Optane NVME SSD H10 with Solid State Storage [Teton Glacier] 0998 Ice Lake IEH 09a2 Ice Lake Memory Map/VT-d 09a3 Ice Lake RAS @@ -27200,6 +27387,7 @@ 09a6 Ice Lake MSM 09a7 Ice Lake PMON MSM 09ab RST VMD Managed Controller + 09ad Optane NVME SSD H20 with Solid State Storage [Pyramid Glacier] 09c4 PAC with Intel Arria 10 GX FPGA 0a03 Haswell-ULT Thermal Subsystem 0a04 Haswell-ULT DRAM Controller @@ -28923,6 +29111,7 @@ 15fb Ethernet Connection (13) I219-LM 15fc Ethernet Connection (13) I219-V 15ff Ethernet Controller X710 for 10GBASE-T + 1014 0000 PCIe3 4-port 10GbE Base-T Adapter 1137 0000 X710TLG GbE RJ45 PCIe NIC 1137 02c1 X710T2LG 2x10 GbE RJ45 PCIe NIC 1137 02c2 X710T4LG 4x10 GbE RJ45 PCIe NIC @@ -30436,6 +30625,7 @@ 2522 NVMe Optane Memory Series 8086 3806 Optane Memory 16GB 8086 3810 Optane Memory M10 16GB + 2525 Optane NVME SSD P1600X Series 2526 Wireless-AC 9260 2530 82850 850 (Tehama) Chipset Host Bridge (MCH) 1028 00c7 Dimension 8100 @@ -32555,9 +32745,17 @@ 34aa Ice Lake-LP Serial IO SPI Controller #0 34ab Ice Lake-LP Serial IO SPI Controller #1 34b0 Ice Lake-LP PCI Express Root Port #9 + 34b1 Ice Lake-LP PCIe Port #10 + 34b4 Ice Lake-LP PCIe Port #13 + 34b5 Ice Lake-LP PCIe Port #14 34b7 Ice Lake-LP PCI Express Root Port #16 + 34b8 Ice Lake-LP PCIe Port #1 34ba Ice Lake-LP PCI Express Root Port #3 + 34bb Ice Lake-LP PCIe Port #4 34bc Ice Lake-LP PCI Express Root Port #5 + 34bd Ice Lake-LP PCIe Port #6 + 34be Ice Lake-LP PCIe Port #7 + 34bf Ice Lake-LP PCIe Port #8 34c4 Ice Lake-LP SD Host Controller 34c5 Ice Lake-LP Serial IO I2c Controller #4 34c6 Ice Lake-LP Serial IO I2c Controller #5 @@ -33348,13 +33546,29 @@ 8086 1216 WiMAX/WiFi Link 5150 ABG 8086 1311 WiMAX/WiFi Link 5150 AGN 8086 1316 WiMAX/WiFi Link 5150 ABG - 4389 WM590 Chipset LPC Controller - 438b Tiger Lake-H LPC/eSPI Controller + 4384 Q570 LPC/eSPI Controller + 4385 Z590 LPC/eSPI Controller + 4386 H570 LPC/eSPI Controller + 4387 B560 LPC/eSPI Controller + 4388 H510 LPC/eSPI Controller + 4389 WM590 LPC/eSPI Controller + 438a QM580 LPC/eSPI Controller + 438b HM570 LPC/eSPI Controller + 438c C252 LPC/eSPI Controller + 438d C256 LPC/eSPI Controller + 438e H310D LPC/eSPI Controller + 438f W580 LPC/eSPI Controller + 4390 RM590E LPC/eSPI Controller + 4391 R580E LPC/eSPI Controller 43a3 Tiger Lake-H SMBus Controller 43a4 Tiger Lake-H SPI Controller 43b0 Tiger Lake-H PCI Express Root Port #9 + 43b8 Tiger Lake-H PCIe Root Port #1 43ba Tiger Lake-H PCIe Root Port #3 + 43bb Tiger Lake-H PCIe Root Port #4 43bc Tiger Lake-H PCI Express Root Port #5 + 43c0 Tiger Lake-H PCIe Root Port #17 + 43c7 Tiger Lake-H PCIe Root Port #24 43c8 Tiger Lake-H HD Audio Controller 43d3 Tiger Lake SATA AHCI Controller 43e0 Tiger Lake-H Management Engine Interface @@ -33436,6 +33650,9 @@ 193d 4000 UN-GPU-XG310-32GB-FHFL 4908 DG1 [Iris Xe Graphics] 4909 DG1 [Iris Xe MAX 100] + 4940 4xxx Series QAT + 4942 4xxx Series QAT + 4944 4xxx Series QAT 4b00 Elkhart Lake eSPI Controller 4b23 Elkhart Lake SMBus Controller 4b24 Elkhart Lake SPI (Flash) Controller @@ -33524,6 +33741,7 @@ 5182 Alder Lake PCH eSPI Controller 1028 0b10 Precision 3571 5187 Alder Lake LPC Controller + 519d Raptor Lake LPC/eSPI Controller 51a3 Alder Lake PCH-P SMBus Host Controller 1028 0b10 Precision 3571 51a4 Alder Lake-P PCH SPI Controller @@ -33538,6 +33756,7 @@ 51c6 Alder Lake-P Serial IO I2C Controller #1 51c8 Alder Lake PCH-P High Definition Audio Controller 1028 0b10 Precision 3571 + 51ca Raptor Lake-P/U/H cAVS 51cc Alder Lake Smart Sound Technology Audio Controller 51d3 Alder Lake-P SATA AHCI Controller 1028 0b10 Precision 3571 @@ -33564,12 +33783,14 @@ *** 175 LINES SKIPPED *** From nobody Wed Sep 6 12:28:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RghW65768z4rv1F; Wed, 6 Sep 2023 12:28:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RghW64dm0z3JPn; Wed, 6 Sep 2023 12:28:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FmAC1/2UxDaP8S9/uoAJYoYFu7eaXZy6D0wkt5VstoM=; b=wcywX8IbTq31zDpgItCUpEa8e7nzuCMT+eESwbs1OuHPk7Dns1du+pE+WuC1pxRICLjcCB h+NUJRDeWszN8hXnKkIUjgVHWMyj8GDNCsFw+G0NHnXlYAMaUO+J38uhw0oYAs1lvNOIEd 9O3tFklpPaK3zT6ChGv00vdNiYplYTn0Vj4ls4+M8aSXjiPTvxVLbTISI0JiJqEzBhszfE ZXTLNXIqm5t1LYrvF7SyVP9Ju0FEK+5OUK0bRbvfpWM+vsaksQx/6OvsE8x+wMP/uf9Rq5 r7fu1vBlzH6AuEo3vzr3wyYbI0Hbb1B2L5Tsvg0Vonmllpq9z795UAq/QCAs8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694003330; a=rsa-sha256; cv=none; b=gk2Jpaf9OgVQhiG97P3G7KRUGHbAAutnxEq4w+4lkFCIGhzAD1pilmlJZGwmZaqWku4heT lvuRJhfYGMiDkgaAd8mHqAOA9XjVwaBJNzjkN2MQT2hibs6B4pOHYNgTv4lZpzBh1ULHuR 9UzfZ6JMpqdZyK9Ejj5OOdH3ORhn7SQIGxObvLWfzDGnj5qKzZ1mVfbmt1aLkytbfXLNXS S+sFzs/wdPlGMCXP9A/FOuXO188QMeAy/AiDv1eC1VebPtcsuQry2qfR1Jivf/2CI3gyRC MdoUQZQD8DmNhwUwzepol+Wy4Hb7LqGEd6GHa+JfCHihmWhgUO637PlzPVL+0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694003330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FmAC1/2UxDaP8S9/uoAJYoYFu7eaXZy6D0wkt5VstoM=; b=ZIpz9TXrlhuazid4fVFGFj9U+zQb7kOjp303meusRyfqayHB3V2SJjaTt6WaHbQbQPx8qO qGR+vd8cl/f8Ky5w+cNroHts1UPIU53CO+Uith8BvAp9kZQwl9AJZ7Zm3jozxEcVwnz4xw towThPfvODDans/U4e5N2Fxf9sW7dak6KAn59uVGhHLK+UmxcWgkXiIFO+qAwcqWVUmlXc CebiCj5ICHcgmD2SsdkEDJ9jWIJZxopbrLCUxAojIwodWHytO3VLarLZsClrE+3QnhEIVC ABoJ+k9v34vZKrr3cwZe2n4vi3sCnKD+yxNN8NSj9a2FNy/cgUeNYisElsSQGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RghW63k6Cz1rg; Wed, 6 Sep 2023 12:28:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386CSolR071291; Wed, 6 Sep 2023 12:28:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386CSoYT071288; Wed, 6 Sep 2023 12:28:50 GMT (envelope-from git) Date: Wed, 6 Sep 2023 12:28:50 GMT Message-Id: <202309061228.386CSoYT071288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 969071be938c - main - vfs: copy_file_range() between multiple mountpoints of the same fs type List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 969071be938ca9b96f8dff003c7b43d6308849f1 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=969071be938ca9b96f8dff003c7b43d6308849f1 commit 969071be938ca9b96f8dff003c7b43d6308849f1 Author: Martin Matuska AuthorDate: 2023-09-06 11:58:10 +0000 Commit: Martin Matuska CommitDate: 2023-09-06 12:28:23 +0000 vfs: copy_file_range() between multiple mountpoints of the same fs type VOP_COPY_FILE_RANGE(9) is now caled when source and target vnodes reside on the same filesystem type (not just on the same mountpoint). The check if vnodes are on the same mountpoint must be done in the filesystem code. There are currently only three users - fusefs(5) already has this check, ZFS can handle multiple mountpoints and a check has been added to NFS client. ZFS block cloning is now possible between all snapshots and datasets of the same ZFS pool. MFC after: 1 week Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D41721 --- share/man/man9/VOP_COPY_FILE_RANGE.9 | 4 ++-- sys/fs/nfsclient/nfs_clvnops.c | 7 +++++-- sys/kern/vfs_vnops.c | 8 +++++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/share/man/man9/VOP_COPY_FILE_RANGE.9 b/share/man/man9/VOP_COPY_FILE_RANGE.9 index 9243210cb265..aa17670954f4 100644 --- a/share/man/man9/VOP_COPY_FILE_RANGE.9 +++ b/share/man/man9/VOP_COPY_FILE_RANGE.9 @@ -28,8 +28,8 @@ .Os .Sh NAME .Nm VOP_COPY_FILE_RANGE -.Nd copy a byte range from one file to another or within one file -in a single file system +.Nd copy a byte range within a file or from one file to another in a single +file system or between multiple file systems .Sh SYNOPSIS .In sys/param.h .In sys/vnode.h diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 1fa287a79a84..383d45ba260b 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -3898,8 +3898,11 @@ nfs_copy_file_range(struct vop_copy_file_range_args *ap) off_t inoff, outoff; bool consecutive, must_commit, tryoutcred; - /* NFSv4.2 Copy is not permitted for infile == outfile. */ - if (invp == outvp) { + /* + * NFSv4.2 Copy is not permitted for infile == outfile. + * TODO: copy_file_range() between multiple NFS mountpoints + */ + if (invp == outvp || invp->v_mount != outvp->v_mount) { generic_copy: return (vn_generic_copy_file_range(invp, ap->a_inoffp, outvp, ap->a_outoffp, ap->a_lenp, ap->a_flags, diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 9fb5aee6a023..4e4161ef1a7f 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3076,12 +3076,14 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, goto out; /* - * If the two vnode are for the same file system, call + * If the two vnodes are for the same file system type, call * VOP_COPY_FILE_RANGE(), otherwise call vn_generic_copy_file_range() - * which can handle copies across multiple file systems. + * which can handle copies across multiple file system types. */ *lenp = len; - if (invp->v_mount == outvp->v_mount) + if (invp->v_mount == outvp->v_mount || + strcmp(invp->v_mount->mnt_vfc->vfc_name, + outvp->v_mount->mnt_vfc->vfc_name) == 0) error = VOP_COPY_FILE_RANGE(invp, inoffp, outvp, outoffp, lenp, flags, incred, outcred, fsize_td); else From nobody Wed Sep 6 13:55:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgkQb2N5dz4sgjN; Wed, 6 Sep 2023 13:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgkQb1vScz3f6M; Wed, 6 Sep 2023 13:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHY8wXA/0eX/gCelXrF21JTU+6bafy3hbPJ0NCRAGZc=; b=yEXTl7juvyVAJTbeBwMsKz4PvDsvMD6HBMIg5IG6vP+eTmpT2E/tXD2cfjPItjJN5qiGQQ e02U0HgkchK2BVqFA8JCxgTDZ5fFD8xmmQ+XfGexE59bLF0ClitLZlE+QX4RRxnsmw8GxE 8PXNfI8UTsK8CICd18BnSpL1BF1JmDlJAxsqi++pHp6w1L0cYAnmrZe6Pbh1O5JYxJwAo2 n6LXQCZ4BXR5ZT1d5gXgyy/KCOydTo9WozAyhlg7CwH72iM5Uqyo7lMLwmUiue6t+HJNTo fnJHg/65y094NJdbxE5wVQEdiuGLZ0zKW7FIigYUUpMZp2zkvyUGHTkVdxMwcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694008503; a=rsa-sha256; cv=none; b=cjRC+FQ7GGh95D7owUX8uSM7gTXdZZzIsNMqQtB1xAXshetDDdaKhOU0DfOJx6cpciTuoN xtTzQhpusgIdb6fsQUf4jo4rckVwvi2ks5puaz88gUJdhQuR9hObFxqPSwdU7/f6YHBBv4 DGqypPu7oC2hJbH1S/uovG6UMqFE2c/tJ0OBZogncrnEJFIuLdShJbinBk00V5xnp4xZF6 1qQVkvMKN1EtKr6HFTLgPyb12OXW0Ge47xEjueU06hLY/0duZInxHLfG7Oxw+hW/yYd+LH fIl7YdgG8Pkf/osSxJZodwnm2q7Vfjpkj9uxD2B5ljjHiOZZQmxCZlNaKflk3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHY8wXA/0eX/gCelXrF21JTU+6bafy3hbPJ0NCRAGZc=; b=yHxPxX6/1D5GeYBibN4jmphmNnBFcAtttlGI5B23E4r0sLr7pwc1HhDsZJvP7WROIDndgR lFG+gDebFE4Z6tdCCZwZRrOVUho5EAPgz6HAyfLN5V/hJSOqPyCs3YXcBNVeQmrq+Kl304 lJA7znZ1o31weep6q+1KqGL7mWU54R2JLsjm2XdMqPAcGYOjhy6vyMJMOa/wdLYZ5atLPa y4k0NuLoCsDg/hFOVR2+sfIcAMHaXqD96CsmqPZLMt2vMakK7VHgC40EYpYL+fGuelPlZL ls30mkOJp8g1mwRQaFfLuHABv94qfwBCwJwhsQWvt9KAvesXpfAVuZMvIPPp1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgkQb0zM7z45X; Wed, 6 Sep 2023 13:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386Dt34E019495; Wed, 6 Sep 2023 13:55:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386Dt3vf019492; Wed, 6 Sep 2023 13:55:03 GMT (envelope-from git) Date: Wed, 6 Sep 2023 13:55:03 GMT Message-Id: <202309061355.386Dt3vf019492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 56e3123fc864 - main - libcasper: reference system.fileargs service List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56e3123fc864b6d08ee5b3752538d2f9be52027b Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=56e3123fc864b6d08ee5b3752538d2f9be52027b commit 56e3123fc864b6d08ee5b3752538d2f9be52027b Author: Ed Maste AuthorDate: 2023-09-06 13:45:31 +0000 Commit: Ed Maste CommitDate: 2023-09-06 13:53:01 +0000 libcasper: reference system.fileargs service Reviewed by: oshogbo MFC after: 3 days Fixes: cdd6ea94b0a4 ("libcasper: introduce cap_fileargs...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41761 --- lib/libcasper/libcasper/libcasper.3 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/libcasper/libcasper/libcasper.3 b/lib/libcasper/libcasper/libcasper.3 index c98a3044df25..ccd347232777 100644 --- a/lib/libcasper/libcasper/libcasper.3 +++ b/lib/libcasper/libcasper/libcasper.3 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 10, 2023 +.Dd September 6, 2023 .Dt LIBCASPER 3 .Os .Sh NAME @@ -212,6 +212,8 @@ Casper supports the following services in the base system: .Bl -tag -width "system.random" -compact -offset indent .It system.dns provides libc compatible DNS API +.It system.fileargs +provides an API for opening files specified on a command line .It system.grp provides a .Xr getgrent 3 @@ -272,6 +274,7 @@ functions always succeed. .Xr poll 2 , .Xr select 2 , .Xr cap_dns 3 , +.Xr cap_fileargs 3 , .Xr cap_grp 3 , .Xr cap_net 3 , .Xr cap_netdb 3 , From nobody Wed Sep 6 14:01:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgkZ60gRlz4skMq; Wed, 6 Sep 2023 14:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgkZ6088Yz3gcG; Wed, 6 Sep 2023 14:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hKRpiqUaH3c0Ii+fvK0pM2KerDxdiKcmppqxPAkLYKk=; b=EbhWejEnd3QaPScDLsT+8xcgKpfgNRsRagZ2lHRChsmhKHSrglGJwHrCZGXu7/2QhUoUd6 TmicAMeqjQh3zZBOo2krFmmFALIYppGngjz6qhkz9kMafgdCtOenmPIqRhfVpst/bSr9XG uS7A1Y0Wuj1/+k3dlvAjOSgVwE4viZZscRIOvRQ5QOAPiu4a2fn238L+suB7QwjGUIi+5U djR24cOIcdH6UvzrOTEJa4kFoUjo5UUdoIJmNFuhpEPv1L+CsAYwFdAyXY7vQJv1iiDOfp p4w0H+mnN4y35QMpqBoVEHVdBHNXoaxhd7QqhTxfuypvr7MeqW8pj+2tY7auKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694008894; a=rsa-sha256; cv=none; b=hmrEnF0DCiPhsn85g7jn3jFnlIrtML77pJFOYZQMUpZV8hcReScpFqVoqncTk+VbssC3Ek 2VYWhAF04ninI9BKMP576H/kSnOso6eO3PlHi0zXA31wI1OkRFStDGqONLVIbxsiK0G14e rpuzGm9xhdUzwN3FmTyPeeRoPWYqLydI0Qyf+XhNTFrZWLzxRuLFCtHQwFZ+C54N5DmQu+ Mkp/KXKGeG04jgaGfwOtIQzV21HotZGGMqcfcqRUkxCgk2eWFk+x1DmsruMxVRTjL1iI40 oq+hgDbn4JE2zPnLR3U6IQOtrvwMTlFEeb7rv8WxA5V12BAOGE2AZhHkDEZbSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hKRpiqUaH3c0Ii+fvK0pM2KerDxdiKcmppqxPAkLYKk=; b=WyrSblsikBZaNIxKjpesKCzQGErnGqL9MT3FGv10RyiiKWM5POQjkiLF2z67KOHI5MPyin i+BrEYMU/615GHv5ir+RHcsAdgUdfddHuBgZFpQyrrIS61jx1GL9J4Dim/yNEijEyH9pG9 wT/IdMagADk0/ws97raBtsHhNRv1ZLxJKRUPe+NH57GMUiFP52HAcP1U/uUkg4YnIzyxoc l3t+5DpeKHc7XuhpcA90l7/1GH/YSdE8EupHJAqpLmP6nfGcHcVwS/TbqnkjIsQyOo6NMS 3GHTuYS1rsWnaKa0QUrS2XmoD/OTiyjjy2RQgqZjFMwO5BVl0vGdyZa9bk2DwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgkZ56LXNz4MZ; Wed, 6 Sep 2023 14:01:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386E1XQc030803; Wed, 6 Sep 2023 14:01:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386E1X2p030800; Wed, 6 Sep 2023 14:01:33 GMT (envelope-from git) Date: Wed, 6 Sep 2023 14:01:33 GMT Message-Id: <202309061401.386E1X2p030800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8527bb2aee6c - main - dtrace: Fix a kernel panic in printm() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8527bb2aee6ca9013c34445de88217a954b6628d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8527bb2aee6ca9013c34445de88217a954b6628d commit 8527bb2aee6ca9013c34445de88217a954b6628d Author: Domagoj Stolfa AuthorDate: 2023-09-06 13:25:00 +0000 Commit: Mark Johnston CommitDate: 2023-09-06 14:00:59 +0000 dtrace: Fix a kernel panic in printm() When using printm(), one should always pass a scratch pointer to it. This is achieved by calling printm with memref BEGIN { printm(fixed_len, memref(ptr, var_len)); } which will return a pointer to the DTrace scratch space of size sizeof(uintptr_t) * 2. However, one can easily call printm() as follows BEGIN { printm(10, (void *)NULL); } and panic the kernel as a result. This commit does two things: (1) adds a new macro DTRACE_INSCRATCHPTR(mstate, ptr, howmany) which checks if a certain pointer is in the DTrace scratch space; (2) uses DTRACE_INSCRATCHPTR() to implement a check on printm()'s DIFO return value in order to avoid the panic and sets CPU_DTRACE_BADADDR if the address is not in the scratch space. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41722 --- .../contrib/opensolaris/uts/common/dtrace/dtrace.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c index 02a95bfab726..ce02676e0dc1 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c +++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c @@ -515,6 +515,11 @@ do { \ ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - \ (mstate)->dtms_scratch_ptr >= (alloc_sz)) +#define DTRACE_INSCRATCHPTR(mstate, ptr, howmany) \ + ((ptr) >= (mstate)->dtms_scratch_base && \ + (ptr) <= \ + ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - (howmany))) + #define DTRACE_LOADFUNC(bits) \ /*CSTYLED*/ \ uint##bits##_t \ @@ -7739,9 +7744,24 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, } case DTRACEACT_PRINTM: { - /* The DIF returns a 'memref'. */ + /* + * printm() assumes that the DIF returns a + * pointer returned by memref(). memref() is a + * subroutine that is used to get around the + * single-valued returns of DIF and is assumed + * to always be allocated in the scratch space. + * Therefore, we need to validate that the + * pointer given to printm() is in the scratch + * space in order to avoid a potential panic. + */ uintptr_t *memref = (uintptr_t *)(uintptr_t) val; + if (!DTRACE_INSCRATCHPTR(&mstate, + (uintptr_t)memref, 2 * sizeof(uintptr_t))) { + *flags |= CPU_DTRACE_BADADDR; + continue; + } + /* Get the size from the memref. */ size = memref[1]; From nobody Wed Sep 6 14:01:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgkZ71CHBz4skZk; Wed, 6 Sep 2023 14:01:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgkZ70sdkz3gfp; Wed, 6 Sep 2023 14:01:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8SNJrznIpTKarw1R6g463fiNF29G/L4/GnyNtN9SUE=; b=m7L9we8rCR+SeDeWugMQWCyCwzVOTB0LQgEFYBk4J1XkFxizgyDNho7ZXKakHGkMb643Q5 IumrqieIC7I2kISXqfbGV9sFunuUvPJimUcMXir4WDJZ0G1GvjvqXD07YQ1RMHWNY2+wcs ivsg6JEgK3rMfT43BhGgDoIloXIzmKtp3bX+OUOtuHpdt/WKTfG8XkfFpAytlXCb6w+csn W0M2mJz3j8HBql3/XH+LQkxCMeN8jerKdJjx7VcXq7Bjl/PvDI99yyla7sbRyzJ7JPUm+2 VjxnK/b7jsHtpxj01Fpb6UZg/8pgxAWrSBc28kYgA9PMa4T2g0mj2KGCARzwCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694008895; a=rsa-sha256; cv=none; b=UryuDuZe1pOFTSW5YnXh6QEJpMcoPKdJxIyZvh9CJdHqQq/Hi5Ia6S7vCEA3B8izf8G1HM /JYC2m6R7Wrb291wKW96T95UyyHp1TWtly05Z17Z5UaC2LaejLiRrrs4pgvdxBvIvtpDws udLduk+lGA6XvjJfO0XQbrR/g0IdotvJro3LPOgJXD+K0N/bblqzJZxrYG9aIDq9+vOrJB wib3GIaYaRNMG8dy+0OuZNwAUcdTG6rsKqsj4SmkngoT2cHboS7VzVFQ2oqqkibI3amMFO gPEOhYfklBXfcrBI5tWKIrfZ/bd1YuLWh8r5lrC3xHSEB+m9vA7X48ispkBqiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694008895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8SNJrznIpTKarw1R6g463fiNF29G/L4/GnyNtN9SUE=; b=OdqhB06b8YGUje2YCSmfoQwBN+o+NvSdkoPmjSClBEBRtW3nfjEx3IaSdGfZpAvDPKl2aG U4YvMBRwHz2nT5xC34QDrVFOSoGz1+SmzjkPxesZdRQHIxz8hoqdWxcBJ/qhcpG0gDce/7 1vXq6Q2Ba/0TQ5H8vch4GhUBBi//XOF809h5YKhz1hiNZW7+CNm0pWYjBo3TcwokOaesT6 kvJWJxyrUDlMlWQ4x4udagGtYXM0wwgC6I5OiXlR2q0QZS1HS/cGlDz6hKfsSRXw3QKPdq ffN1y2VLjeFJwLCwFFugCxO6hbwvp4h2nGxGss4U5imVqYSMON5XqUyaTnRFrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgkZ6745nz3l3; Wed, 6 Sep 2023 14:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386E1Ymg030851; Wed, 6 Sep 2023 14:01:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386E1YoK030848; Wed, 6 Sep 2023 14:01:34 GMT (envelope-from git) Date: Wed, 6 Sep 2023 14:01:34 GMT Message-Id: <202309061401.386E1YoK030848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 22cf89c93888 - main - qat: Intel 4xxx Series driver API extension List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22cf89c938886d14f5796fc49f9f020c23ea8eaf Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=22cf89c938886d14f5796fc49f9f020c23ea8eaf commit 22cf89c938886d14f5796fc49f9f020c23ea8eaf Author: Piotr Kasierski AuthorDate: 2023-09-06 13:51:41 +0000 Commit: Mark Johnston CommitDate: 2023-09-06 14:00:59 +0000 qat: Intel 4xxx Series driver API extension This commit introduces: - Quick Assist API update for partial decompress and zero padding. - Refactor of UIO locking. - VF driver hotplug fix. - Minor code style fixes for firmware API. Patch co-authored by: Krzysztof Zdziarski Patch co-authored by: Michal Gulbicki Patch co-authored by: Piotr Kasierski Patch co-authored by: Karol Grzadziel Sponsored by: Intel Corporation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41613 --- share/man/man4/qat.4 | 4 +- sys/dev/qat/qat_api/common/compression/dc_dp.c | 296 ++++++++++++- .../common/compression/include/dc_datapath.h | 11 + sys/dev/qat/qat_api/common/ctrl/sal_compression.c | 8 - sys/dev/qat/qat_api/firmware/include/icp_qat_fw.h | 18 +- .../qat/qat_api/firmware/include/icp_qat_fw_comp.h | 486 ++++++++++----------- .../qat_api/firmware/include/icp_qat_hw_20_comp.h | 63 ++- .../firmware/include/icp_qat_hw_20_comp_defs.h | 159 ++++++- sys/dev/qat/qat_api/include/dc/cpa_dc.h | 15 +- sys/dev/qat/qat_api/include/dc/cpa_dc_dp.h | 431 ++++++++++++++++++ sys/dev/qat/qat_api/include/icp_sal_versions.h | 2 +- sys/dev/qat/qat_common/adf_ctl_drv.c | 3 +- sys/dev/qat/qat_common/adf_freebsd_dev_processes.c | 24 +- sys/dev/qat/qat_common/adf_freebsd_uio_cleanup.c | 13 +- sys/dev/qat/qat_common/adf_pfvf_vf_proto.c | 5 + sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c | 18 +- sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c | 32 +- 17 files changed, 1221 insertions(+), 367 deletions(-) diff --git a/share/man/man4/qat.4 b/share/man/man4/qat.4 index 347f257c7aec..b0fa0b0cbc92 100644 --- a/share/man/man4/qat.4 +++ b/share/man/man4/qat.4 @@ -64,8 +64,8 @@ driver supports cryptography and compression acceleration. A complete API for offloading these operations is exposed in the kernel and may be used by any other entity directly. For details of usage and supported operations and algorithms refer to the -following documentation available from -.Lk 01.org : +following documentation available from Intel Download Center +.Lk https://downloadcenter.intel.com : .Bl -bullet -compact .It .Rs diff --git a/sys/dev/qat/qat_api/common/compression/dc_dp.c b/sys/dev/qat/qat_api/common/compression/dc_dp.c index 1bc50d89365d..8b409d9ad7ca 100644 --- a/sys/dev/qat/qat_api/common/compression/dc_dp.c +++ b/sys/dev/qat/qat_api/common/compression/dc_dp.c @@ -217,6 +217,89 @@ dcDataPlaneParamCheck(const CpaDcDpOpData *pOpData) return CPA_STATUS_SUCCESS; } +/** + ***************************************************************************** + * @ingroup cpaDcDp + * Partial-read parameters validation utility. + * + * @description + * Basic check that all partial-read related parameters provided by + * caller are valid. + * + * @param[in] pOpData Pointer to a structure containing the + * request parameters + * @param[in] pPartReadData Pointer to a structure containing the + * partial-read request parameters. + * + * @retval CPA_STATUS_SUCCESS Function executed successfully + * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in + * + *****************************************************************************/ +static CpaStatus +dcDataPlanePartReadCheck(CpaDcDpOpData *pOpData, + CpaDcDpPartialReadData *pPartReadData) +{ + sal_compression_service_t *pService = NULL; + + LAC_CHECK_NULL_PARAM(pPartReadData); + + pService = (sal_compression_service_t *)(pOpData->dcInstance); + + if (!isDcGen4x(pService)) { + /* Extended features are not supported prior Gen4 */ + return CPA_STATUS_UNSUPPORTED; + } + + if (pOpData->sessDirection == CPA_DC_DIR_COMPRESS) { + /* Decompression specific feature */ + return CPA_STATUS_INVALID_PARAM; + } + + if (pPartReadData->length > pOpData->bufferLenForData) { + QAT_UTILS_LOG( + "Partial read data length can not be greater than the destination buffer size\n"); + return CPA_STATUS_INVALID_PARAM; + } + + return CPA_STATUS_SUCCESS; +} + +/** + ***************************************************************************** + * @ingroup cpaDcDp + * Zero-padding parameters validation utility. + * + * @description + * Basic check that all zero-padding related parameters provided by + * caller are valid. + * + * @param[in] pOpData Pointer to a structure containing the + * request parameters. + * + * @retval CPA_STATUS_SUCCESS Function executed successfully + * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in + * @retval CPA_STATUS_NOT_SUPPORTED Feature not supported + * + *****************************************************************************/ +static CpaStatus +dcDataPlaneZeroPadCheck(CpaDcDpOpData *pOpData) +{ + sal_compression_service_t *pService = NULL; + + pService = (sal_compression_service_t *)(pOpData->dcInstance); + + if (!isDcGen4x(pService)) { + /* Extended features are not supported prior Gen4 */ + return CPA_STATUS_UNSUPPORTED; + } + + if (pOpData->sessDirection == CPA_DC_DIR_DECOMPRESS) { + /* Compression specific feature */ + return CPA_STATUS_INVALID_PARAM; + } + + return CPA_STATUS_SUCCESS; +} CpaStatus cpaDcDpGetSessionSize(CpaInstanceHandle dcInstance, CpaDcSessionSetupData *pSessionData, @@ -379,8 +462,60 @@ dcDpWriteRingMsg(CpaDcDpOpData *pOpData, icp_qat_fw_comp_req_t *pCurrentQatMsg) pCurrentQatMsg->comp_pars.out_buffer_sz = pOpData->bufferLenForData; } -CpaStatus -cpaDcDpEnqueueOp(CpaDcDpOpData *pOpData, const CpaBoolean performOpNow) +/** + ***************************************************************************** + * @ingroup cpaDcDp + * + * @description + * Updates the request decryptor with optional parameters: + * - partial read specific fields + * - zero-padding specific field + * + * @param[in] pOpData Pointer to a structure containing the + * request parameters. + * @param[in] pPartReadData Pointer to a structure containing the + * partial-read request parameters. + * @param[in] zeroPadFlag Boolean indicator containing the + * zero-padding enablement flag. + * @param[in] pCurrentQatMsg Pointer to current QAT message on the ring. + * + *****************************************************************************/ +static void +dcDpUpdateRingMsg(CpaDcDpOpData *pOpData, + CpaDcDpPartialReadData *pPartReadData, + CpaBoolean zeroPadFlag, + icp_qat_fw_comp_req_t *pCurrentQatMsg) +{ + sal_compression_service_t *pService = NULL; + + pService = (sal_compression_service_t *)(pOpData->dcInstance); + if (!isDcGen4x(pService)) { + return; + } + + /* Partial read settings */ + if (NULL != pPartReadData) { + pCurrentQatMsg->u1.partial_decompress + .partial_decompress_offset = pPartReadData->dataOffset; + pCurrentQatMsg->u1.partial_decompress + .partial_decompress_length = pPartReadData->length; + ICP_QAT_FW_COMP_PART_DECOMP_SET( + pCurrentQatMsg->comp_pars.req_par_flags, + ICP_QAT_FW_COMP_PART_DECOMP); + } + /* Zero padding settings */ + if (CPA_TRUE == zeroPadFlag) { + ICP_QAT_FW_COMP_ZEROPAD_SET( + pCurrentQatMsg->comp_pars.req_par_flags, + ICP_QAT_FW_COMP_ZEROPAD); + } +} + +static CpaStatus +dcDpEnqueueOpBase(CpaDcDpOpData *pOpData, + CpaDcDpPartialReadData *pPartReadData, + CpaBoolean zeroPadFlag, + const CpaBoolean performOpNow) { icp_qat_fw_comp_req_t *pCurrentQatMsg = NULL; icp_comms_trans_handle trans_handle = NULL; @@ -392,6 +527,20 @@ cpaDcDpEnqueueOp(CpaDcDpOpData *pOpData, const CpaBoolean performOpNow) return status; } + if (NULL != pPartReadData) { + status = dcDataPlanePartReadCheck(pOpData, pPartReadData); + if (CPA_STATUS_SUCCESS != status) { + return status; + } + } + + if (CPA_TRUE == zeroPadFlag) { + status = dcDataPlaneZeroPadCheck(pOpData); + if (CPA_STATUS_SUCCESS != status) { + return status; + } + } + if ((CPA_FALSE == pOpData->compressAndVerify) && (CPA_DC_DIR_COMPRESS == pOpData->sessDirection)) { return CPA_STATUS_UNSUPPORTED; @@ -422,6 +571,13 @@ cpaDcDpEnqueueOp(CpaDcDpOpData *pOpData, const CpaBoolean performOpNow) } dcDpWriteRingMsg(pOpData, pCurrentQatMsg); + if (NULL != pPartReadData || CPA_TRUE == zeroPadFlag) { + dcDpUpdateRingMsg(pOpData, + pPartReadData, + zeroPadFlag, + pCurrentQatMsg); + } + pSessionDesc->pendingDpStatelessCbCount++; if (CPA_TRUE == performOpNow) { @@ -432,9 +588,36 @@ cpaDcDpEnqueueOp(CpaDcDpOpData *pOpData, const CpaBoolean performOpNow) } CpaStatus -cpaDcDpEnqueueOpBatch(const Cpa32U numberRequests, - CpaDcDpOpData *pOpData[], - const CpaBoolean performOpNow) +cpaDcDpEnqueueOp(CpaDcDpOpData *pOpData, const CpaBoolean performOpNow) +{ + + return dcDpEnqueueOpBase(pOpData, NULL, CPA_FALSE, performOpNow); +} + +CpaStatus +cpaDcDpEnqueueOpWithPartRead(CpaDcDpOpData *pOpData, + CpaDcDpPartialReadData *pPartReadData, + const CpaBoolean performOpNow) +{ + return dcDpEnqueueOpBase(pOpData, + pPartReadData, + CPA_FALSE, + performOpNow); +} + +CpaStatus +cpaDcDpEnqueueOpWithZeroPad(CpaDcDpOpData *pOpData, + const CpaBoolean performOpNow) +{ + return dcDpEnqueueOpBase(pOpData, NULL, CPA_TRUE, performOpNow); +} + +static CpaStatus +dcDpEnqueueOpBatchBase(const Cpa32U numberRequests, + CpaDcDpOpData *pOpData[], + CpaDcDpPartialReadData *pPartData[], + CpaBoolean zeroPadFlag, + const CpaBoolean performOpNow) { icp_qat_fw_comp_req_t *pCurrentQatMsg = NULL; icp_comms_trans_handle trans_handle = NULL; @@ -462,6 +645,21 @@ cpaDcDpEnqueueOpBatch(const Cpa32U numberRequests, return status; } + if (NULL != pPartData) { + status = + dcDataPlanePartReadCheck(pOpData[i], pPartData[i]); + if (CPA_STATUS_SUCCESS != status) { + return status; + } + } + + if (CPA_TRUE == zeroPadFlag) { + status = dcDataPlaneZeroPadCheck(pOpData[i]); + if (CPA_STATUS_SUCCESS != status) { + return status; + } + } + /* Check that all instance handles and session handles are the * same */ if (pOpData[i]->dcInstance != pOpData[0]->dcInstance) { @@ -516,6 +714,18 @@ cpaDcDpEnqueueOpBatch(const Cpa32U numberRequests, for (i = 0; i < numberRequests; i++) { dcDpWriteRingMsg(pOpData[i], pCurrentQatMsg); + if (pPartData) { + dcDpUpdateRingMsg(pOpData[i], + pPartData[i], + CPA_FALSE, + pCurrentQatMsg); + } + if (CPA_TRUE == zeroPadFlag) { + dcDpUpdateRingMsg(pOpData[i], + NULL, + CPA_TRUE, + pCurrentQatMsg); + } icp_adf_getQueueNext(trans_handle, (void **)&pCurrentQatMsg); } @@ -528,6 +738,34 @@ cpaDcDpEnqueueOpBatch(const Cpa32U numberRequests, return CPA_STATUS_SUCCESS; } +CpaStatus +cpaDcDpEnqueueOpBatch(const Cpa32U numberRequests, + CpaDcDpOpData *pOpData[], + const CpaBoolean performOpNow) +{ + return dcDpEnqueueOpBatchBase( + numberRequests, pOpData, NULL, CPA_FALSE, performOpNow); +} + +CpaStatus +cpaDcDpEnqueueOpWithPartReadBatch(const Cpa32U numberRequests, + CpaDcDpOpData *pOpData[], + CpaDcDpPartialReadData *pPartReadData[], + const CpaBoolean performOpNow) +{ + return dcDpEnqueueOpBatchBase( + numberRequests, pOpData, pPartReadData, CPA_FALSE, performOpNow); +} + +CpaStatus +cpaDcDpEnqueueOpWithZeroPadBatch(const Cpa32U numberRequests, + CpaDcDpOpData *pOpData[], + const CpaBoolean performOpNow) +{ + return dcDpEnqueueOpBatchBase( + numberRequests, pOpData, NULL, CPA_TRUE, performOpNow); +} + CpaStatus icp_sal_DcPollDpInstance(CpaInstanceHandle dcInstance, Cpa32U responseQuota) { @@ -565,3 +803,51 @@ cpaDcDpPerformOpNow(CpaInstanceHandle dcInstance) return CPA_STATUS_SUCCESS; } + +CpaStatus +cpaDcDpIsPartReadSupported(const CpaInstanceHandle instanceHandle, + CpaBoolean *flag) +{ + sal_compression_service_t *pService = NULL; + dc_extd_ftrs_t *pExtendedFtrs = NULL; + + LAC_CHECK_NULL_PARAM(instanceHandle); + SAL_CHECK_INSTANCE_TYPE(instanceHandle, SAL_SERVICE_TYPE_COMPRESSION); + + pService = (sal_compression_service_t *)instanceHandle; + if (!isDcGen4x(pService)) { + *flag = CPA_FALSE; + return CPA_STATUS_SUCCESS; + } + + pExtendedFtrs = (dc_extd_ftrs_t *)&( + ((sal_service_t *)instanceHandle)->dcExtendedFeatures); + + *flag = (CpaBoolean)pExtendedFtrs->is_part_read; + + return CPA_STATUS_SUCCESS; +} + +CpaStatus +cpaDcDpIsZeroPadSupported(const CpaInstanceHandle instanceHandle, + CpaBoolean *flag) +{ + sal_compression_service_t *pService = NULL; + dc_extd_ftrs_t *pExtendedFtrs = NULL; + + LAC_CHECK_NULL_PARAM(instanceHandle); + SAL_CHECK_INSTANCE_TYPE(instanceHandle, SAL_SERVICE_TYPE_COMPRESSION); + + pService = (sal_compression_service_t *)instanceHandle; + if (!isDcGen4x(pService)) { + *flag = CPA_FALSE; + return CPA_STATUS_SUCCESS; + } + + pExtendedFtrs = (dc_extd_ftrs_t *)&( + ((sal_service_t *)instanceHandle)->dcExtendedFeatures); + + *flag = (CpaBoolean)pExtendedFtrs->is_zero_pad; + + return CPA_STATUS_SUCCESS; +} diff --git a/sys/dev/qat/qat_api/common/compression/include/dc_datapath.h b/sys/dev/qat/qat_api/common/compression/include/dc_datapath.h index 5bcff65c4fb3..58fb56f3c8ae 100644 --- a/sys/dev/qat/qat_api/common/compression/include/dc_datapath.h +++ b/sys/dev/qat/qat_api/common/compression/include/dc_datapath.h @@ -196,4 +196,15 @@ typedef enum dc_cnv_mode_s { /* CNV = TRUE, CNVNR = TRUE */ } dc_cnv_mode_t; +/* Type to access extended features bit fields */ +typedef struct dc_extended_features_s { + unsigned is_cnv : 1; /* Bit<0> */ + unsigned padding : 7; + unsigned is_cnvnr : 1; /* Bit<8> */ + unsigned reserved : 2; + unsigned is_part_read : 1; /* Bit<11> */ + unsigned is_zero_pad : 1; /* Bit<12> */ + unsigned not_used : 19; +} dc_extd_ftrs_t; + #endif /* DC_DATAPATH_H_ */ diff --git a/sys/dev/qat/qat_api/common/ctrl/sal_compression.c b/sys/dev/qat/qat_api/common/ctrl/sal_compression.c index f0e8d28949ff..c0f5a411d87e 100644 --- a/sys/dev/qat/qat_api/common/ctrl/sal_compression.c +++ b/sys/dev/qat/qat_api/common/ctrl/sal_compression.c @@ -52,14 +52,6 @@ /* C string null terminator size */ #define SAL_NULL_TERM_SIZE 1 -/* Type to access extended features bit fields */ -typedef struct dc_extended_features_s { - unsigned is_cnv : 1; /* Bit<0> */ - unsigned padding : 7; - unsigned is_cnvnr : 1; /* Bit<8> */ - unsigned not_used : 23; -} dc_extd_ftrs_t; - /* * Prints statistics for a compression instance */ diff --git a/sys/dev/qat/qat_api/firmware/include/icp_qat_fw.h b/sys/dev/qat/qat_api/firmware/include/icp_qat_fw.h index 28dfeff6579e..b4d1f5829ba2 100644 --- a/sys/dev/qat/qat_api/firmware/include/icp_qat_fw.h +++ b/sys/dev/qat/qat_api/firmware/include/icp_qat_fw.h @@ -1386,21 +1386,9 @@ typedef struct icp_qat_fw_comn_resp_s { /**< Error Code constant value for submission of empty dynamic stored block to * slice */ -#define ERR_CODE_EXCEED_MAX_REQ_TIME -24 -/**< Error Code constant for exceeding max request time */ - -#define ERR_CODE_KPT_CRYPTO_SERVICE_FAIL_INVALID_HANDLE -20 -/**< Error Code constant for invalid handle in kpt crypto service */ - -#define ERR_CODE_KPT_CRYPTO_SERVICE_FAIL_HMAC_FAILED -21 -/**< Error Code constant for failed hmac in kpt crypto service */ - -#define ERR_CODE_KPT_CRYPTO_SERVICE_FAIL_INVALID_WRAPPING_ALGO -22 -/**< Error Code constant for invalid wrapping algo in kpt crypto service */ - -#define ERR_CODE_KPT_DRNG_SEED_NOT_LOAD -23 -/**< Error Code constant for no drng seed is not loaded in kpt ecdsa signrs -/service */ +#define ERR_CODE_REGION_OUT_OF_BOUNDS -21 +/**< Error returned when decompression ends before the specified partial + * decompression region was produced */ #define ERR_CODE_MISC_ERROR -50 /**< Error Code constant for error detected but the source diff --git a/sys/dev/qat/qat_api/firmware/include/icp_qat_fw_comp.h b/sys/dev/qat/qat_api/firmware/include/icp_qat_fw_comp.h index 5edf7022ee1d..fe1b7ad55de8 100644 --- a/sys/dev/qat/qat_api/firmware/include/icp_qat_fw_comp.h +++ b/sys/dev/qat/qat_api/firmware/include/icp_qat_fw_comp.h @@ -47,6 +47,7 @@ typedef enum { } icp_qat_fw_comp_cmd_id_t; + /* * REQUEST FLAGS IN COMMON COMPRESSION * In common message it is named as SERVICE SPECIFIC FLAGS. @@ -64,7 +65,8 @@ typedef enum { * are don't care. i.e., these features are removed from QAT 2.0. */ -/** Flag usage */ + +/**< Flag usage */ #define ICP_QAT_FW_COMP_STATELESS_SESSION 0 /**< @ingroup icp_qat_fw_comp @@ -108,7 +110,7 @@ typedef enum { * Flag representing secure RAM from being used as * an intermediate buffer is ENABLED. */ -/** Flag mask & bit position */ +/**< Flag mask & bit position */ #define ICP_QAT_FW_COMP_SESSION_TYPE_BITPOS 2 /**< @ingroup icp_qat_fw_comp @@ -148,7 +150,7 @@ typedef enum { #define ICP_QAT_FW_COMP_DISABLE_SECURE_RAM_AS_INTMD_BUF_BITPOS 7 /**< @ingroup icp_qat_fw_comp * Starting bit position for flag used to disable secure ram from - * being used as an intermediate buffer. */ + being used as an intermediate buffer. */ #define ICP_QAT_FW_COMP_DISABLE_SECURE_RAM_AS_INTMD_BUF_MASK 0x1 /**< @ingroup icp_qat_fw_comp @@ -170,7 +172,7 @@ typedef enum { * @ret_uncomp RetUnCompressed * @secure_ram Secure Ram usage * - *********************************************************************************/ + ******************************************************************************/ #define ICP_QAT_FW_COMP_FLAGS_BUILD( \ sesstype, autoselect, enhanced_asb, ret_uncomp, secure_ram) \ (((sesstype & ICP_QAT_FW_COMP_SESSION_TYPE_MASK) \ @@ -215,7 +217,7 @@ typedef enum { * * @param flags Flags to extract the session type bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_SESSION_TYPE_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_SESSION_TYPE_BITPOS, \ @@ -230,7 +232,7 @@ typedef enum { * * @param flags Flags to extract the autoSelectBest bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_AUTO_SELECT_BEST_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_AUTO_SELECT_BEST_BITPOS, \ @@ -245,7 +247,7 @@ typedef enum { * * @param flags Flags to extract the enhanced asb bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_EN_ASB_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_ENHANCED_AUTO_SELECT_BEST_BITPOS, \ @@ -260,7 +262,7 @@ typedef enum { * * @param flags Flags to extract the Ret Uncomp bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_RET_UNCOMP_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_RET_DISABLE_TYPE0_HEADER_DATA_BITPOS, \ @@ -275,21 +277,21 @@ typedef enum { * * @param flags Flags to extract the Secure Ram usage from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_SECURE_RAM_USE_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_DISABLE_SECURE_RAM_AS_INTMD_BUF_BITPOS, \ ICP_QAT_FW_COMP_DISABLE_SECURE_RAM_AS_INTMD_BUF_MASK) /** - ****************************************************************************** + ***************************************************************************** * @ingroup icp_qat_fw_comp * Definition of the compression header cd pars block * @description * Definition of the compression processing cd pars block. * The structure is a service-specific implementation of the common * structure. - ******************************************************************************/ + *****************************************************************************/ typedef union icp_qat_fw_comp_req_hdr_cd_pars_s { /**< LWs 2-5 */ struct { @@ -301,15 +303,10 @@ typedef union icp_qat_fw_comp_req_hdr_cd_pars_s { uint8_t content_desc_params_sz; /**< Size of the content descriptor parameters in quad words. - * These - * parameters describe the session setup configuration info for - * the - * slices that this request relies upon i.e. the configuration - * word and - * cipher key needed by the cipher slice if there is a request - * for - * cipher - * processing. */ + * These parameters describe the session setup configuration + * info for the slices that this request relies upon i.e. the + * configuration word and cipher key needed by the cipher slice + * if there is a request for cipher processing. */ uint8_t content_desc_hdr_resrvd2; /**< Content descriptor reserved field */ @@ -324,28 +321,28 @@ typedef union icp_qat_fw_comp_req_hdr_cd_pars_s { uint32_t content_desc_resrvd4; /**< Content descriptor reserved field */ + } sl; } icp_qat_fw_comp_req_hdr_cd_pars_t; /** - ****************************************************************************** + ***************************************************************************** * @ingroup icp_qat_fw_comp * Definition of the compression request parameters block * @description * Definition of the compression processing request parameters block. * The structure below forms part of the Compression + Translation - * Parameters block spanning LWs 14-21, thus differing from the common + * Parameters block spanning LWs 14-23, thus differing from the common * base Parameters block structure. Unused fields must be set to 0. * - ******************************************************************************/ + *****************************************************************************/ typedef struct icp_qat_fw_comp_req_params_s { /**< LW 14 */ uint32_t comp_len; /**< Size of input to process in bytes Note: Only EOP requests can be - * odd - * for decompression. IA must set LSB to zero for odd sized intermediate - * inputs */ + * odd for decompression. IA must set LSB to zero for odd sized + * intermediate inputs */ /**< LW 15 */ uint32_t out_buffer_sz; @@ -368,10 +365,10 @@ typedef struct icp_qat_fw_comp_req_params_s { /**< CRC data structure pointer */ } crc; - /** LW 18 */ + /**< LW 18 */ uint32_t req_par_flags; - /** LW 19 */ + /**< LW 19 */ uint32_t rsrvd; } icp_qat_fw_comp_req_params_t; @@ -394,8 +391,10 @@ typedef struct icp_qat_fw_comp_req_params_s { * @param cnvnr Whether internal CNV recovery is to be performed * * ICP_QAT_FW_COMP_NO_CNV_RECOVERY * * ICP_QAT_FW_COMP_CNV_RECOVERY + * @param cnvdfx Whether CNV error injection is to be performed + * * ICP_QAT_FW_COMP_NO_CNV_DFX + * * ICP_QAT_FW_COMP_CNV_DFX * @param crc CRC Mode Flag - 0 legacy, 1 crc data struct - * *****************************************************************************/ #define ICP_QAT_FW_COMP_REQ_PARAM_FLAGS_BUILD( \ sop, eop, bfinal, cnv, cnvnr, cnvdfx, crc) \ @@ -411,21 +410,64 @@ typedef struct icp_qat_fw_comp_req_params_s { ((crc & ICP_QAT_FW_COMP_CRC_MODE_MASK) \ << ICP_QAT_FW_COMP_CRC_MODE_BITPOS)) + +/* + * REQUEST FLAGS IN REQUEST PARAMETERS COMPRESSION + * + * +=====+-----+----- + --- + --- +-----+ --- + ----- + --- + ---- + -- + -- + + * | Bit |31-24| 20 | 19 | 18 | 17 | 16 | 15-7 | 6 | 5-2 | 1 | 0 | + * +=====+-----+----- + --- + ----+-----+ --- + ----- + --- + ---- + -- + -- + + * |Flags|Resvd|xxHash| CRC | CNV |CNVNR| CNV | Resvd |BFin | Resvd|EOP |SOP | + * | |=0 |acc | MODE| DFX | | | =0 | | =0 | | | + * | | | | | | | | | | | | | + * +=====+-----+----- + --- + ----+-----+ --- + ----- + --- + ---- + -- + -- + + */ + + +/** +***************************************************************************** +* @ingroup icp_qat_fw_comp +* Definition of the additional QAT2.0 Compression command types +* @description +* Enumeration which is used to indicate the ids of functions +* that are exposed by the Compression QAT FW service +* +*****************************************************************************/ +typedef enum { + ICP_QAT_FW_COMP_20_CMD_LZ4_COMPRESS = 3, + /*!< LZ4 Compress Request */ + + ICP_QAT_FW_COMP_20_CMD_LZ4_DECOMPRESS = 4, + /*!< LZ4 Decompress Request */ + + ICP_QAT_FW_COMP_20_CMD_LZ4S_COMPRESS = 5, + /*!< LZ4S Compress Request */ + + ICP_QAT_FW_COMP_20_CMD_LZ4S_DECOMPRESS = 6, + /*!< LZ4S Decompress Request */ + + ICP_QAT_FW_COMP_20_CMD_XP10_COMPRESS = 7, + /*!< XP10 Compress Request -- Placeholder */ + + ICP_QAT_FW_COMP_20_CMD_XP10_DECOMPRESS = 8, + /*!< XP10 Decompress Request -- Placeholder */ + + ICP_QAT_FW_COMP_20_CMD_DELIMITER + /**< Delimiter type */ + +} icp_qat_fw_comp_20_cmd_id_t; + + /* * REQUEST FLAGS IN REQUEST PARAMETERS COMPRESSION * - * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- + ---- + --- + - * --- + - * | Bit | 31-20 | 19 | 18 | 17 | 16 | 15 - 7 | 6 | 5-2 | 1 | 0 - * | - * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- | ---- + --- + - * --- + - * | Flags | Resvd | CRC |Resvd| CNVNR | CNV |Resvd Bits|BFin |Resvd | EOP | - * SOP | - * | | =0 | Mode| =0 | | | =0 | | =0 | | | - * | | | | | | | | | | | | - * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- | ---- + --- + - * --- + + * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- + ---- + --- + --- + + * | Bit | 31-20 | 19 | 18 | 17 | 16 | 15 - 7 | 6 | 5-2 | 1 | 0 | + * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- | ---- + --- + --- + + * | Flags | Resvd | CRC | CNV | CNVNR | CNV |Resvd Bits|BFin |Resvd | EOP | SOP | + * | | =0 | Mode| DFX | | | =0 | | =0 | | | + * | | | | | | | | | | | | + * + ===== + ----- + --- +-----+-------+ --- + ---------+ --- | ---- + --- + --- + */ #define ICP_QAT_FW_COMP_NOT_SOP 0 @@ -434,15 +476,15 @@ typedef struct icp_qat_fw_comp_req_params_s { #define ICP_QAT_FW_COMP_SOP 1 /**< @ingroup icp_qat_fw_comp - * Flag representing that a request IS Start of Packet */ + * * Flag representing that a request IS Start of Packet */ #define ICP_QAT_FW_COMP_NOT_EOP 0 /**< @ingroup icp_qat_fw_comp - * Flag representing that a request is NOT Start of Packet */ + * Flag representing that a request is NOT Start of Packet */ #define ICP_QAT_FW_COMP_EOP 1 /**< @ingroup icp_qat_fw_comp - * Flag representing that a request IS End of Packet */ + * Flag representing that a request IS End of Packet */ #define ICP_QAT_FW_COMP_NOT_BFINAL 0 /**< @ingroup icp_qat_fw_comp @@ -484,6 +526,30 @@ typedef struct icp_qat_fw_comp_req_params_s { /**< @ingroup icp_qat_fw_comp * Flag representing to use the external CRC data struct */ +#define ICP_QAT_FW_COMP_NO_XXHASH_ACC 0 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating that xxHash will NOT be accumulated across requests */ + +#define ICP_QAT_FW_COMP_XXHASH_ACC 1 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating that xxHash WILL be accumulated across requests */ + +#define ICP_QAT_FW_COMP_PART_DECOMP 1 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating to perform partial de-compressing */ + +#define ICP_QAT_FW_COMP_NO_PART_DECOMP 1 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating to not perform partial de-compressing */ + +#define ICP_QAT_FW_COMP_ZEROPAD 1 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating to perform zero-padding in compression request */ + +#define ICP_QAT_FW_COMP_NO_ZEROPAD 0 +/**< @ingroup icp_qat_fw_comp + * * Flag indicating to not perform zero-padding in compression request */ + #define ICP_QAT_FW_COMP_SOP_BITPOS 0 /**< @ingroup icp_qat_fw_comp * Starting bit position for SOP */ @@ -516,14 +582,6 @@ typedef struct icp_qat_fw_comp_req_params_s { /**< @ingroup icp_qat_fw_comp * Starting bit position for the CNV bit */ -#define ICP_QAT_FW_COMP_CNV_RECOVERY_MASK 0x1 -/**< @ingroup icp_qat_fw_comp - * One bit mask for the CNV Recovery bit */ - -#define ICP_QAT_FW_COMP_CNV_RECOVERY_BITPOS 17 -/**< @ingroup icp_qat_fw_comp - * Starting bit position for the CNV Recovery bit */ - #define ICP_QAT_FW_COMP_CNVNR_MASK 0x1 /**< @ingroup icp_qat_fw_comp * One bit mask for the CNV Recovery bit */ @@ -556,6 +614,22 @@ typedef struct icp_qat_fw_comp_req_params_s { /**< @ingroup icp_qat_fw_comp * One bit mask used to determine xxHash accumulate mode */ +#define ICP_QAT_FW_COMP_PART_DECOMP_BITPOS 27 +/**< @ingroup icp_qat_fw_comp + * Starting bit position for the partial de-compress bit */ + +#define ICP_QAT_FW_COMP_PART_DECOMP_MASK 0x1 +/**< @ingroup icp_qat_fw_comp + * Starting bit position for the partial de-compress mask */ + +#define ICP_QAT_FW_COMP_ZEROPAD_BITPOS 26 +/**< @ingroup icp_qat_fw_comp + * Starting bit position for the partial zero-pad bit */ + +#define ICP_QAT_FW_COMP_ZEROPAD_MASK 0x1 +/**< @ingroup icp_qat_fw_comp + * Starting bit position for the partial zero-pad mask */ + /** ****************************************************************************** * @ingroup icp_qat_fw_comp @@ -565,7 +639,7 @@ typedef struct icp_qat_fw_comp_req_params_s { * * @param flags Flags to extract the SOP bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_SOP_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_SOP_BITPOS, \ @@ -585,8 +659,9 @@ typedef struct icp_qat_fw_comp_req_params_s { QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_EOP_BITPOS, \ ICP_QAT_FW_COMP_EOP_MASK) - /** + + ****************************************************************************** * @ingroup icp_qat_fw_comp * @@ -595,7 +670,7 @@ typedef struct icp_qat_fw_comp_req_params_s { * * @param flags Flags to extract the bfinal bit from * - ******************************************************************************/ + *****************************************************************************/ #define ICP_QAT_FW_COMP_BFINAL_GET(flags) \ QAT_FIELD_GET(flags, \ ICP_QAT_FW_COMP_BFINAL_BITPOS, \ @@ -663,6 +738,70 @@ typedef struct icp_qat_fw_comp_req_params_s { ICP_QAT_FW_COMP_XXHASH_ACC_MODE_BITPOS, \ ICP_QAT_FW_COMP_XXHASH_ACC_MODE_MASK) +/** + ****************************************************************************** + * @ingroup icp_qat_fw_comp + * + * @description + * Macro for extraction of the partial de-compress on/off bit + * + * @param flags Flags to extract the partial de-compress on/off bit from + * + ******************************************************************************/ +#define ICP_QAT_FW_COMP_PART_DECOMP_GET(flags) \ + QAT_FIELD_GET(flags, \ + ICP_QAT_FW_COMP_PART_DECOMP_BITPOS, \ + ICP_QAT_FW_COMP_PART_DECOMP_MASK) + +/** + ****************************************************************************** + * @ingroup icp_qat_fw_comp + * + * @description + * Macro for setting of the partial de-compress on/off bit + * + * @param flags Flags to set the partial de-compress on/off bit to + * @param val partial de-compress on/off bit + * + *****************************************************************************/ +#define ICP_QAT_FW_COMP_PART_DECOMP_SET(flags, val) \ + QAT_FIELD_SET(flags, \ + val, \ + ICP_QAT_FW_COMP_PART_DECOMP_BITPOS, \ + ICP_QAT_FW_COMP_PART_DECOMP_MASK) + +/** + ****************************************************************************** + * @ingroup icp_qat_fw_comp + * + * @description + * Macro for extraction of the zero padding on/off bit + * + * @param flags Flags to extract the zero padding on/off bit from + * + ******************************************************************************/ +#define ICP_QAT_FW_COMP_ZEROPAD_GET(flags) \ + QAT_FIELD_GET(flags, \ + ICP_QAT_FW_COMP_ZEROPAD_BITPOS, \ + ICP_QAT_FW_COMP_ZEROPAD_MASK) + +/** + ****************************************************************************** + * @ingroup icp_qat_fw_comp + * + * @description + * Macro for setting of the zero-padding on/off bit + * + * @param flags Flags to set the zero-padding on/off bit to + * @param val zero-padding on/off bit + * + *****************************************************************************/ +#define ICP_QAT_FW_COMP_ZEROPAD_SET(flags, val) \ + QAT_FIELD_SET(flags, \ + val, \ + ICP_QAT_FW_COMP_ZEROPAD_BITPOS, \ + ICP_QAT_FW_COMP_ZEROPAD_MASK) + /** ****************************************************************************** * @ingroup icp_qat_fw_comp @@ -670,23 +809,23 @@ typedef struct icp_qat_fw_comp_req_params_s { * @description * Definition of the translator processing request parameters block * The structure below forms part of the Compression + Translation - * Parameters block spanning LWs 20-21, thus differing from the common + * Parameters block spanning LWs 14-23, thus differing from the common * base Parameters block structure. Unused fields must be set to 0. * - ******************************************************************************/ + *****************************************************************************/ typedef struct icp_qat_fw_xlt_req_params_s { /**< LWs 20-21 */ uint64_t inter_buff_ptr; /**< This field specifies the physical address of an intermediate - * buffer SGL array. The array contains a pair of 64-bit - * intermediate buffer pointers to SGL buffer descriptors, one pair - * per CPM. Please refer to the CPM1.6 Firmware Interface HLD - * specification for more details. - * Placeholder for QAT2.0. */ + * buffer SGL array. The array contains a pair of 64-bit + * intermediate buffer pointers to SGL buffer descriptors, one pair + * per CPM. Please refer to the CPM1.6 Firmware Interface HLD + * specification for more details. */ + } icp_qat_fw_xlt_req_params_t; /** - ****************************************************************************** + ***************************************************************************** * @ingroup icp_qat_fw_comp * Compression header of the content descriptor block * @description @@ -697,7 +836,7 @@ typedef struct icp_qat_fw_xlt_req_params_s { * cd block, thus differing from the common base content descriptor * structure. * - ******************************************************************************/ + *****************************************************************************/ typedef struct icp_qat_fw_comp_cd_hdr_s { /**< LW 24 */ uint16_t ram_bank_flags; @@ -705,16 +844,15 @@ typedef struct icp_qat_fw_comp_cd_hdr_s { *** 1564 LINES SKIPPED *** From nobody Wed Sep 6 14:38:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RglNd3sD1z4rpFF; Wed, 6 Sep 2023 14: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RglNd32Hpz4LvN; Wed, 6 Sep 2023 14: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=1694011105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ra0Mq7/tIuNuAXjy9I5bO2ZaClSE5j8fPkRX0bpQsRg=; b=NQ29DgQwQYsSFwczwhxsrrU3AOxvBp4u7HNq6sL8pxf18/7Sn3I/kSSZ3lONHkUVU+3ds9 /nRLmaOTSVoUq1YcbUkxxWMvGI3UVJr9+xh/HH9XNPsRiTkcG0zvb1LcYJAcsuIFmURbHq RUEadbZolWSPuAdfaBo6xavQip2UGr+ULHtOV4P2zYqaICoj16M2ddPqZkWgKhpKAVD01b r+z5x1LCo7Nqn+RQ4rerFSWim3uovSXdu8kjVbIbTqMRKiHRREO0It72P5Xk2pR5FiK2Xg i/z3hjpBFLn30PxBxNON4CHiMXw3tvz/HzqM4aXk6sO1yBBB1yQX8WTcPVWaUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694011105; a=rsa-sha256; cv=none; b=LjJtmzPPUgUwnLuWOPw/Dv1pQW/HqJu/NN+rY6UbG41BnXFrhCahfDB590tfRsvDQduJNP f5VqIjkeN0JPv5Sn5tnoYY2TnRQIeuEaAUErtBPoT2YgJctr452zEncS8/dyCG7WgLuvd/ NYw5n+A7DIsO7iKA8f+aQFyROv9vjE+Xgmv3YHHLsrh0AOiYxq2CL1RlvJ6HSsTuUZBdRZ eNWp4ryOPOQfDiw12q/OcOYmx9Ai281bdlV+cd1NBlcT7e9e9SNN9WG/3H1VwJVS9jSiay Js5sa6sZ9wxBRdRwX9t+V7+hLr/E3BhhZ8lWrD05vT2rF8gC8tlp05yRLVTDXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694011105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ra0Mq7/tIuNuAXjy9I5bO2ZaClSE5j8fPkRX0bpQsRg=; b=G+eMeTx+oRwLlYEU8VxP5pXxUnPWAX9jog0kk+7dMx8Oxf6yO9qr4tPPteZtHHBx49LgOm sRjhBxhQPUuQG5I4+60HcZJBIfYVCCd9h0kcKr/VKIAYuvVg65J1cg+VFVKWlYEto2SCrF stqSf82FWad/zhE9sp2poQDJXxOjvVcyuaIvx3GHfNTDlnKjhh8xYBYnjaV1yZYPwLOR2P AGZ9iwKT3bEATCc8Qvxz38Gpn7CfwAjRjotvI5h+aLu4X7btHXUxmez4mRMph/3AqOnyD2 eQ0aoIrfGRZR0dXL//qX9GAS4vrgy4k3T6mB7U7B6AW9HZshD28YoUQbNxm2gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RglNd261Wz4nR; Wed, 6 Sep 2023 14:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386EcP5X086282; Wed, 6 Sep 2023 14:38:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386EcPev086279; Wed, 6 Sep 2023 14:38:25 GMT (envelope-from git) Date: Wed, 6 Sep 2023 14:38:25 GMT Message-Id: <202309061438.386EcPev086279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 09b0401e91a9 - main - linuxkpi: fix iteration in __sg_alloc_table_from_pages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09b0401e91a92bcb58ea1873857b42f8211f660f Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=09b0401e91a92bcb58ea1873857b42f8211f660f commit 09b0401e91a92bcb58ea1873857b42f8211f660f Author: Austin Shafer AuthorDate: 2023-09-06 14:08:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-09-06 14:37:12 +0000 linuxkpi: fix iteration in __sg_alloc_table_from_pages Commit 3f686532c9b4 tried to fix an issue with not properly starting at the first page in the sg list to prevent a panic. This worked but with the side effect of incrementing "s" during the final iteration causing it to be NULL since the list had ended. In cases non-DEBUG kernels this causes a panic with drm-5.15, since "s" is NULL when we later pass it to sg_mark_end(). This change decouples the iteration sg from the return value so that it is never incremented past the final page in the chain. MFC after: 3 days Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41574 --- sys/compat/linuxkpi/common/include/linux/scatterlist.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/scatterlist.h b/sys/compat/linuxkpi/common/include/linux/scatterlist.h index 0e4cc90e57a5..e462d5c649f1 100644 --- a/sys/compat/linuxkpi/common/include/linux/scatterlist.h +++ b/sys/compat/linuxkpi/common/include/linux/scatterlist.h @@ -343,7 +343,7 @@ __sg_alloc_table_from_pages(struct sg_table *sgt, { unsigned int i, segs, cur, len; int rc; - struct scatterlist *s; + struct scatterlist *s, *sg_iter; #if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 51300 if (prv != NULL) { @@ -377,10 +377,18 @@ __sg_alloc_table_from_pages(struct sg_table *sgt, #endif cur = 0; - for (i = 0, s = sgt->sgl; i < sgt->orig_nents; i++) { + for_each_sg(sgt->sgl, sg_iter, sgt->orig_nents, i) { unsigned long seg_size; unsigned int j; + /* + * We need to make sure that when we exit this loop "s" has the + * last sg in the chain so we can call sg_mark_end() on it. + * Only set this inside the loop since sg_iter will be iterated + * until it is NULL. + */ + s = sg_iter; + len = 0; for (j = cur + 1; j < count; ++j) { len += PAGE_SIZE; @@ -394,8 +402,6 @@ __sg_alloc_table_from_pages(struct sg_table *sgt, size -= seg_size; off = 0; cur = j; - - s = sg_next(s); } KASSERT(s != NULL, ("s is NULL after loop in __sg_alloc_table_from_pages()")); From nobody Wed Sep 6 15:07:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgm1f0JV1z4s4Yk; Wed, 6 Sep 2023 15:07:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgm1d6zZnz4TRP; Wed, 6 Sep 2023 15:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694012822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ERtMom/CBecxS6AJFRKojVXSEd3C8q5vp75ZwUwc6y0=; b=YXvoqrIAgSC4fnWn2mf7MmUN7S4m0u/oVyLdBefjh5s7S3d45q0m16fc95EJ61OdRkw9y/ lo9AXTplGJM/CXMe7WlC4IZ0pfB1f5MhkcD5dvcNaSlNY3uyFiTyQmu6p9+MqEFPOwcZtn uRa7S6NkJvIuLwWTnOR06koOkFOMig1Dp2rb6BUxogH7lVarJLPPiYVfXXTsKX7Dpp6Z+g HJKSX1fsZDAJbW7L2CCpJ8lHk5skFEocX8M5BwuXjTg09nX1B3+oML1/d1uUQXTgS/C+Io UTB71oX/wga/OgD9oyroi/oq2zgXfzZRQ6o26Lw7OnPBGH6ewhUvbolCNISYxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694012822; a=rsa-sha256; cv=none; b=KmiWc+5S5KGN7ybC7COQIDzk2Znwm+p38gysVmtQn2Zz+0veJf9Cgz1YMh7Dj24efRjTE4 1ZFrwan1X5XFNEhGRTs6k/9s8oD6uUqQ4dNKWBR4WG6huvS8Jh6cJpvghGynHrrrYoxZvJ 5Cc4rr2rh7QmwlW+AuSFVLilbmuYCP6iOKyw9KffvPhXQDKWzBn9kvqBdeV73ZXC104Kx3 8FqfKQpEa9fAPoJ7wN4lbAMuCemI3lNRRr3HEG7L+zly5mg2T8EXdjCCMPuGL1x66Cdzji Gy+cu1a0fFhz8GfXbviItd9r6hnZURlIkDN698Jr3s2Udd0W/ZvYaZk1DVFJUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694012822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ERtMom/CBecxS6AJFRKojVXSEd3C8q5vp75ZwUwc6y0=; b=nVeQnIqeBLy5milLHuXqlP9hnUfDeSYk0Xk1RkS4YMX3EzUAS27eVDOF8VwqH2NF1H1TFC fHPcexyrh6Dzc7Yn6RPNFi/xsCZjyF8+QYVaVz7npj1fb0FuqPfFk8z9k3BiFqJgaRQTqM 8N8JpqKHj9ux4Zaxc/wPDqcZmTngffUyhYRDWdaDWByX/MxFHrUnEGZuMrGs36T1Onn3LF BVMKsv0YIX9dbl5FLzrplD600PDCL4rIWwYa5Zomr8G1uSPB0/ng6fYscNU0f7OMSrVi05 sh52CUFZw75UA4hDUDnxXSXTtZBdyWh19G4ULdfWFiqBbP7Zg9l3RQZD7RB1+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rgm1d62qhz5ZZ; Wed, 6 Sep 2023 15:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386F71Jv037538; Wed, 6 Sep 2023 15:07:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386F71FP037535; Wed, 6 Sep 2023 15:07:01 GMT (envelope-from git) Date: Wed, 6 Sep 2023 15:07:01 GMT Message-Id: <202309061507.386F71FP037535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b37a6938e39a - main - diff3: make the diff3 -E -m and diff3 -m behaviour match gnu diff3 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b37a6938e39a7ed9542fafee671465bf719fd537 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b37a6938e39a7ed9542fafee671465bf719fd537 commit b37a6938e39a7ed9542fafee671465bf719fd537 Author: Baptiste Daroussin AuthorDate: 2023-09-05 11:24:53 +0000 Commit: Baptiste Daroussin CommitDate: 2023-09-06 15:06:39 +0000 diff3: make the diff3 -E -m and diff3 -m behaviour match gnu diff3 In gnu diff3 3 way merging files where the new file and the target are already the same will die and show what has failed to be merged except if -E is passed in argument, in this case it will finish the merge. This difference in behaviour was breaking one of the etcupdate testcase with bsd diff3 Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D41730 --- usr.bin/diff3/diff3.c | 8 +++++--- usr.bin/diff3/tests/Makefile | 2 ++ usr.bin/diff3/tests/diff3_test.sh | 32 ++++++++++++++++++++++++++++++++ usr.bin/diff3/tests/fbsdid1.txt | 5 +++++ usr.bin/diff3/tests/fbsdid2.txt | 5 +++++ 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index e80b1d142231..380987560ee0 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -335,7 +335,8 @@ merge(int m1, int m2) change(2, &d2->old, false); } else if (Aflag || mflag) { // XXX-THJ: What does it mean for the second file to differ? - j = edit(d2, dup, j, DIFF_TYPE2); + if (eflag == EFLAG_UNMERGED) + j = edit(d2, dup, j, DIFF_TYPE2); } d2++; continue; @@ -861,7 +862,7 @@ main(int argc, char **argv) eflag = EFLAG_UNMERGED; break; case 'E': - eflag = EFLAG_UNMERGED; + eflag = EFLAG_OVERLAP; oflag = 1; break; case 'i': @@ -907,7 +908,8 @@ main(int argc, char **argv) argv += optind; if (Aflag) { - eflag = EFLAG_UNMERGED; + if (eflag == EFLAG_NONE) + eflag = EFLAG_UNMERGED; oflag = 1; } diff --git a/usr.bin/diff3/tests/Makefile b/usr.bin/diff3/tests/Makefile index df000d68cc7e..3b720586d148 100644 --- a/usr.bin/diff3/tests/Makefile +++ b/usr.bin/diff3/tests/Makefile @@ -23,5 +23,7 @@ ${PACKAGE}FILES+= \ long-ed.out \ long-A.out \ long-merge.out \ + fbsdid1.txt \ + fbsdid2.txt .include diff --git a/usr.bin/diff3/tests/diff3_test.sh b/usr.bin/diff3/tests/diff3_test.sh index 3a4fc128ca16..3cbd7dac1ed9 100755 --- a/usr.bin/diff3/tests/diff3_test.sh +++ b/usr.bin/diff3/tests/diff3_test.sh @@ -4,6 +4,7 @@ atf_test_case diff3_lesssimple atf_test_case diff3_ed atf_test_case diff3_A atf_test_case diff3_merge +atf_test_case diff3_E_merge diff3_body() { @@ -66,6 +67,36 @@ diff3_merge_body() diff3 -m -L long-m.txt -L long-o.txt -L long-y.txt $(atf_get_srcdir)/long-m.txt $(atf_get_srcdir)/long-o.txt $(atf_get_srcdir)/long-y.txt } +diff3_E_merge_body() +{ + +expected="<<<<<<< 2 +# \$FreeBSD: head/local 12000 jhb \$ +======= +# \$FreeBSD: head/local 12345 jhb \$ +>>>>>>> 3 +# \$FreeBSD: head/local 12345 jhb \$ + +this is a file + +these are some local mods to the file +" + # first test the regular test + cp $(atf_get_srcdir)/fbsdid2.txt out.txt + atf_check -s exit:1 -o inline:"${expected}" \ + diff3 -m -L 1 -L 2 -L 3 out.txt $(atf_get_srcdir)/fbsdid1.txt $(atf_get_srcdir)/fbsdid2.txt + +merged="# \$FreeBSD: head/local 12345 jhb \$ + +this is a file + +these are some local mods to the file +" + atf_check -s exit:0 -o inline:"${merged}" \ + diff3 -E -m out.txt $(atf_get_srcdir)/fbsdid1.txt $(atf_get_srcdir)/fbsdid2.txt +} + + atf_init_test_cases() { atf_add_test_case diff3 @@ -73,4 +104,5 @@ atf_init_test_cases() atf_add_test_case diff3_ed atf_add_test_case diff3_A atf_add_test_case diff3_merge + atf_add_test_case diff3_E_merge } diff --git a/usr.bin/diff3/tests/fbsdid1.txt b/usr.bin/diff3/tests/fbsdid1.txt new file mode 100644 index 000000000000..9f94660bda97 --- /dev/null +++ b/usr.bin/diff3/tests/fbsdid1.txt @@ -0,0 +1,5 @@ +# $FreeBSD: head/local 12000 jhb $ + +this is a file + +these are some local mods to the file diff --git a/usr.bin/diff3/tests/fbsdid2.txt b/usr.bin/diff3/tests/fbsdid2.txt new file mode 100644 index 000000000000..420ad975868b --- /dev/null +++ b/usr.bin/diff3/tests/fbsdid2.txt @@ -0,0 +1,5 @@ +# $FreeBSD: head/local 12345 jhb $ + +this is a file + +these are some local mods to the file From nobody Wed Sep 6 17:11:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgpnY6tt1z4sByn; Wed, 6 Sep 2023 17:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgpnY6RVHz3WSR; Wed, 6 Sep 2023 17:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694020305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sh46PjuESf/DMIkVd/ug2zS+z/b7TfdD1cGH/ILvnXk=; b=TTb2DILaHZOvPBCEVmQI53PmxvHOQ6Src/p7w6t02KpR/3DYR46BeCWzbfR8LuxhCNON8h l9e94J1T0havKA7GcyB209EEMXemHp01j2CZv57KQ3RlN4UK2voBypdfpnJLE0hDBY8Gxu oa+zJBRXOE/zZ94yDAgNmhak7kGGIdqmg5mFT5iC7VvNyzgGylijiUm234xz1ZL/tRxZz5 Q5Zir8iVeqVufiK9/qaHEod/a6+ff99o2ofySUHkPlrqqOm4biYUrPL/8idZya6hOSvv/a qPoFGjysZ6qPgDhAjDwqI3ORowrYeqhf2DqIqeK1R6f9Olz+eq2xvEhB3okS5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694020305; a=rsa-sha256; cv=none; b=gTLTBzjG8RbjgYcuyLiWIOWqscBAPNXb8Q6KLRdy9E03dwax3e0GysS1v6eXV6Spr1EGBL 9jPjDYL1V/lXttfNTZmgDRaB/5+VjAzeWfGxXCVfi5707qgDdTCVb5ASC1Nd0bOiH4JPvf lyb5CGx/MkfnCfm88/lY3QvM12n8qoU2wViJYuGq4mwIKyLrIWPMkDDkkHh4HrQOZxD1A7 fO/rpSb5cUgxxI/lQ7Os4uW9Ng5cKd+NO6zHXfbflvZ3zdN2H7OEhXYbDVRl4VGAgdKR49 Xtt9sNCuxIaGpgC7Y3KVj8UIYnIRfD4utmI77c6A0erDmfvVZW3vb/qn12Z8Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694020305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sh46PjuESf/DMIkVd/ug2zS+z/b7TfdD1cGH/ILvnXk=; b=nrA32UmzAv3+zh/PpsN+HQQ4UbKMMUK1UZa9h/sSHBpTkxp8pqT0CEasJupb/O1jfaDa4p C+3eUr9lMiRK01Yu9nVdZ+EsCTD67pGkzq264YL8yi3F29E64z1W+wPNHCG/1kGbyA1eKM QPV7FKQ6tKPsOkV0rOPVkw0HiWq7SGOCJKwO10EOc7VWVsJo7F7xiLLXL1ykUSEpuSPbAU wZYQ8W/NLAcnn4hkNF7LuI6C/3kGMhaVjIypaLqwntYIIvPjxIRdu7vdPPZnX6FUTq3+f3 YFX/GMdqzeQ04i+4AEkn+BIk6NuL/RD5a/kK/0ddIKa8UayyC5zv7ocbw0yznQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgpnY5VyJz9BH; Wed, 6 Sep 2023 17:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386HBjrr051285; Wed, 6 Sep 2023 17:11:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386HBj2a051282; Wed, 6 Sep 2023 17:11:45 GMT (envelope-from git) Date: Wed, 6 Sep 2023 17:11:45 GMT Message-Id: <202309061711.386HBj2a051282@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: aacbe7384221 - main - unifdef: Handle redefined symbols correctly. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aacbe7384221d2eafa326864bbbe2f22a10063ce Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=aacbe7384221d2eafa326864bbbe2f22a10063ce commit aacbe7384221d2eafa326864bbbe2f22a10063ce Author: Dag-Erling Smørgrav AuthorDate: 2023-09-06 17:11:04 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-06 17:11:13 +0000 unifdef: Handle redefined symbols correctly. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41758 --- contrib/unifdef/unifdef.c | 6 +++++- usr.bin/unifdef/tests/unifdef_test.sh | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/contrib/unifdef/unifdef.c b/contrib/unifdef/unifdef.c index 82f6acd66038..3dd4ace7b81e 100644 --- a/contrib/unifdef/unifdef.c +++ b/contrib/unifdef/unifdef.c @@ -1550,8 +1550,12 @@ addsym2(bool ignorethis, const char *symname, const char *val) sym->value = val; r = RB_INSERT(MACROMAP, ¯o_tree, sym); assert(r == NULL); + debugsym("addsym", sym); + } else { + sym->ignore = ignorethis; + sym->value = val; + debugsym("updsym", sym); } - debugsym("addsym", sym); } static void diff --git a/usr.bin/unifdef/tests/unifdef_test.sh b/usr.bin/unifdef/tests/unifdef_test.sh index 98adef3adfdc..dfb08c187724 100644 --- a/usr.bin/unifdef/tests/unifdef_test.sh +++ b/usr.bin/unifdef/tests/unifdef_test.sh @@ -17,6 +17,27 @@ EOF atf_check -o file:f unifdef file < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 9e2cafe4fb90 - main - arm64: Enable FEAT_E0PD when supported List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e2cafe4fb901214903484998adf51a6cc5e4ebb Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9e2cafe4fb901214903484998adf51a6cc5e4ebb commit 9e2cafe4fb901214903484998adf51a6cc5e4ebb Author: Andrew Turner AuthorDate: 2023-09-06 11:07:41 +0000 Commit: Andrew Turner CommitDate: 2023-09-06 17:32:49 +0000 arm64: Enable FEAT_E0PD when supported FEAT_E0PD adds two fields to the tcr_el1 special register that, when set, cause userspace access to either the top or bottom half of the address spaces without a page walk. This can be used to stop userspace probing the kernel address space as the CPU will raise an exception in the same time if the probed address is in the TLB or not. Reviewed by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41760 --- sys/arm64/arm64/identcpu.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index fced2ffab258..e84ac338497b 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2259,6 +2259,31 @@ cpu_features_sysinit(void *dummy __unused) /* Log features before APs are released and start printing to the dmesg. */ SYSINIT(cpu_features, SI_SUB_SMP - 1, SI_ORDER_ANY, cpu_features_sysinit, NULL); +static void +tcr_set_e0pd1(void *arg __unused) +{ + uint64_t tcr; + + tcr = READ_SPECIALREG(tcr_el1); + tcr |= TCR_E0PD1; + WRITE_SPECIALREG(tcr_el1, tcr); + isb(); +} + +/* Enable support for more recent architecture features */ +static void +cpu_feat_support(void *arg __unused) +{ + /* + * If FEAT_E0PD is supported use it to cause faults without a page + * table walk if userspace tries to access kernel memory. + */ + if (ID_AA64MMFR2_E0PD_VAL(kern_cpu_desc.id_aa64mmfr2) != + ID_AA64MMFR2_E0PD_NONE) + smp_rendezvous(NULL, tcr_set_e0pd1, NULL, NULL); +} +SYSINIT(cpu_feat_support, SI_SUB_SMP, SI_ORDER_ANY, cpu_feat_support, NULL); + #ifdef COMPAT_FREEBSD32 static u_long parse_cpu_features_hwcap32(void) From nobody Wed Sep 6 17:43:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgqVP6LnQz4sThP; Wed, 6 Sep 2023 17:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgqVP5dHkz4DhM; Wed, 6 Sep 2023 17:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694022221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7F8qFHCOMduO00dpWUuPFYt14Cnrj/ZHGOz6/54AWNM=; b=LSuto2fF2YVZTU9UIzu1wV0tR1Rbzcqn643n5qzSTBPoD4I9mPeL+o3h9CnQQEvosPjZTu PA79wdV6i5eQ6CIUFEh+bJr6qicLpc4Q/sj/Fa0B+YJCMDQiYI64QWitgiEJzsLCxL5Qbb F8mSyt0nc1DWs4nLh3/OHML8Rl90EZeL1FHvRNHfBa166jwgrPIrKwE/cb+jFhZqDRfEBA JtDFfkB0x0Pu/mR0QCD7EXxoR4EqT5QO6tEjS2/57cHKRCQWitSLCV65qH138aD3N/CLqd WQiibyrIDhcob8oyTG9lqYXuMEHW6Rjxz94U8ZRpazHs7hOFNSFG1Arn4U9rtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694022221; a=rsa-sha256; cv=none; b=sBtDJcSAwNy9b2QpnuftBU0ksToi9BfwkXYUTGNM8LsbXfNqce+GlVf2lGGMagD9fk9uLK NgfEEHawMjtEOMM/M5e7BGgxp8vnN1U/TMkiMBq20g0742Dvzl294nPpSeNRSiBhTek8x1 zXlDxkcWAeEoMQGAYVzAEI3E3flF2nCArWfsieqhC/8Vcfj3RLJJGxaTy53GKK+Hr4zBSQ z45iaUIDw6BrjhgIpxMi/KAT77krtDQ7LyUXk6SsCT1YoA/0dduDOgrJoNJcrmEQAYAdZj i33ftA6ouJ5pfWcS78lu8LzNGH78HYBj/W7xCKKDQIgUGCjTmq8Tu0R9gL6hdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694022221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7F8qFHCOMduO00dpWUuPFYt14Cnrj/ZHGOz6/54AWNM=; b=KGFADTytxGNTy5JT38E4I7nOTMGM7T+rS/T7xDCoGX/FAJt2kLllRRPpIBsFtz1hkL/2Gd KMtGNvjTspNAzBIxh/kUwkt1U+u+mPX8TYLx1Cr6Z6+K9LDa3Hvf/e+AG5+rxaXrTuJSH0 ypwVgR1LWTYWQCXCuxT30wJy/ORO0O7cJHHG/Ze9GJyS6ntIiAW5WPj8CbJsCE0JgfVTYO eoMOKH0bDLS4OsKVXpWgxIwi0B2k7ZLEDYQeC4rKZKhXC4o/Y8Dt33HxSwkjOFeIkarn8C fVRnkDO+G7dgeS2hRSSn9ZRZxGlbJgUwR/ZHtjGqKIGtM0YPZYv0RpGMGepxkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RgqVP4k36zB90; Wed, 6 Sep 2023 17:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386Hhfji002845; Wed, 6 Sep 2023 17:43:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386HhfHc002842; Wed, 6 Sep 2023 17:43:41 GMT (envelope-from git) Date: Wed, 6 Sep 2023 17:43:41 GMT Message-Id: <202309061743.386HhfHc002842@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 8f26d01f5331 - main - arm64: Fix the TCR_EPD0 definition List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f26d01f53316c055cc1116eb56ff438da50d831 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8f26d01f53316c055cc1116eb56ff438da50d831 commit 8f26d01f53316c055cc1116eb56ff438da50d831 Author: Andrew Turner AuthorDate: 2023-09-06 17:32:15 +0000 Commit: Andrew Turner CommitDate: 2023-09-06 17:32:49 +0000 arm64: Fix the TCR_EPD0 definition Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 5892a9b08502..034504727b39 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2167,7 +2167,7 @@ #define TCR_IRGN0_SHIFT 8 #define TCR_IRGN0_WBWA (1UL << TCR_IRGN0_SHIFT) #define TCR_EPD0_SHIFT 7 -#define TCR_EPD0 (1UL << TCR_EPD1_SHIFT) +#define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 #define TCR_T0SZ_MASK 0x3f From nobody Wed Sep 6 18:37:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgrh023Psz4strt; Wed, 6 Sep 2023 18:37:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgrh01ccsz4TTV; Wed, 6 Sep 2023 18:37:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BwTFVic/3s4up7H5vpN4Sl/ES6yt4QvKG8rlSM4weAQ=; b=H+k17A8FHEl0RIF7nmuIuCMtz2VXWus4WLYKAnoVx50TnAO97OxGo1NBFIUjFHe/68Xg5K biociB8Y/oLJelU1jMCeNs8lfp4jZ+g4yvZeRJizd6N/XqT9ql10500yvpiw0vlObgV0E1 eZX1dZwQxRJW/OQbHQRPapoMrp2UZ2XL7YnC+/dO+VyND89PrtKRO6s4tW8hWAJGHruPE2 spYEn91zqD48Wrg0WPUmuTE3fToB7fXzecqmwgaGEFe6EIqS8z0ulCrp5TENGRffJeSzw2 jOkgV+H3NK5q0TanuSmnCgM0cmEohw1layaziJA3aL19D0iMxSS9OccHUWFfaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694025424; a=rsa-sha256; cv=none; b=JLR3qfr/Ao5qC4ZLAXIER5Tid28TahLO/J2kH3JRqgnUwgRySppQIM8izm+XM9nbRWDgX2 M7+UKtipqtwWQBLEOhtFRrOoUolZK/WV0Wu0kqBOD3gbNk4WoJYxgr5JslKHtowZeiAk4p 6FgaPl9s2WG7Yxh1q6akiGmvi9b7tlrgQnAWC33SWHRZjTJzHUxdfCVKGIg7F9V+CBRZEC UzY2jybY/wUTwLtRnt/jmVq33Tlr2lxErOFQJX5pdsyHmdYwtELgBWTjxsdCtlx0iYTXvC ppfK0/UArYgRoGqz/Js/PNwDwbOky6wjJhR1y1FhHe63E7oI85uYuCWt4GVMSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BwTFVic/3s4up7H5vpN4Sl/ES6yt4QvKG8rlSM4weAQ=; b=JGxE14JJ6dDeu0u1gjNWwI5194oXNIzOntkz5J/CkLXtTW4qtedGe2mOXcCpYlw0H940K/ /CPHWFVgDO1hyAmJwLQyqWZKI9bxEZWJKcwJ24Au8NGj5nnxbn7LV1W/M+Q7rkSKlJLryg ZsOXq5oTUVK7HEW4QdLPrJ35CRO0stqwMiYQaRK86ZeUgbmZSpQuGihbYtmXZhWW2yzqr2 LJQk3nZR6NI8BwkceLyyc+9zP42xR+PshyX3hfWJfWIb4BbicYW5KCePtAZNUFvDQ0vV6E m9RRI5M+C1S1oeMyuyXgthSZF/+eS5jYuAiMdUgrqg2Cwp3z4MMT/TsvYSwxbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rgrh00QhxzCZt; Wed, 6 Sep 2023 18:37:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386Ib4bL086221; Wed, 6 Sep 2023 18:37:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386Ib3nL086218; Wed, 6 Sep 2023 18:37:03 GMT (envelope-from git) Date: Wed, 6 Sep 2023 18:37:03 GMT Message-Id: <202309061837.386Ib3nL086218@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 71679cf468ba - main - init_main: Switch from SLIST to STAILQ, fix order List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71679cf468ba28c0e3c88371f3fde13fccec99bd Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=71679cf468ba28c0e3c88371f3fde13fccec99bd commit 71679cf468ba28c0e3c88371f3fde13fccec99bd Author: Colin Percival AuthorDate: 2023-09-05 23:46:38 +0000 Commit: Colin Percival CommitDate: 2023-09-06 18:36:36 +0000 init_main: Switch from SLIST to STAILQ, fix order Constructing an SLIST of SYSINITs by inserting them one by one at the head of the list resulted in them being sorted in anti-stable order: When two SYSINITs tied for (subsystem, order), they were executed in the reverse order to the order in which they appeared in the linker set. Note that while this changes struct sysinit, it doesn't affect ABI since SLIST_ENTRY and STAILQ_ENTRY are compatible (in both cases a single pointer to the next element). Fixes: 9a7add6d01f3 "init_main: Switch from sysinit array to SLIST" Reported by: gallatin Reviewed by: jhb, gallatin, emaste Tested by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41748 --- sys/kern/init_main.c | 22 +++++++++++----------- sys/sys/kernel.h | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index aa82eafff9b0..a6b327339c80 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -165,7 +165,7 @@ SET_DECLARE(sysinit_set, struct sysinit); /* * The sysinit list itself. Items are removed as they are run. */ -static SLIST_HEAD(sysinitlist, sysinit) sysinit_list; +static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; /* * Compare two sysinits; return -1, 0, or 1 if a comes before, at the same time @@ -194,12 +194,12 @@ sysinit_mklist(struct sysinitlist *list, struct sysinit **set, TSENTER(); TSENTER2("listify"); - SLIST_INIT(list); + STAILQ_INIT(list); for (sipp = set; sipp < set_end; sipp++) - SLIST_INSERT_HEAD(list, *sipp, next); + STAILQ_INSERT_TAIL(list, *sipp, next); TSEXIT2("listify"); TSENTER2("mergesort"); - SLIST_MERGESORT(list, NULL, sysinit_compar, sysinit, next); + STAILQ_MERGESORT(list, NULL, sysinit_compar, sysinit, next); TSEXIT2("mergesort"); TSEXIT(); } @@ -218,9 +218,9 @@ sysinit_add(struct sysinit **set, struct sysinit **set_end) sysinit_mklist(&new_list, set, set_end); /* Merge the new list into the existing one. */ - TSENTER2("SLIST_MERGE"); - SLIST_MERGE(&sysinit_list, &new_list, NULL, sysinit_compar, sysinit, next); - TSEXIT2("SLIST_MERGE"); + TSENTER2("STAILQ_MERGE"); + STAILQ_MERGE(&sysinit_list, &new_list, NULL, sysinit_compar, sysinit, next); + TSEXIT2("STAILQ_MERGE"); TSEXIT(); } @@ -284,11 +284,11 @@ mi_startup(void) * Perform each system initialization task from the ordered list. Note * that if sysinit_list is modified (e.g. by a KLD) we will nonetheless * always perform the earlist-sorted sysinit at each step; using the - * SLIST_FOREACH macro would result in items being skipped if inserted + * STAILQ_FOREACH macro would result in items being skipped if inserted * earlier than the "current item". */ - while ((sip = SLIST_FIRST(&sysinit_list)) != NULL) { - SLIST_REMOVE_HEAD(&sysinit_list, next); + while ((sip = STAILQ_FIRST(&sysinit_list)) != NULL) { + STAILQ_REMOVE_HEAD(&sysinit_list, next); if (sip->subsystem == SI_SUB_DUMMY) continue; /* skip dummy task(s)*/ @@ -904,7 +904,7 @@ DB_SHOW_COMMAND_FLAGS(sysinit, db_show_sysinit, DB_CMD_MEMSAFE) db_printf("SYSINIT vs Name(Ptr)\n"); db_printf(" Subsystem Order\n"); db_printf(" Function(Name)(Arg)\n"); - SLIST_FOREACH(sip, &sysinit_list, next) { + STAILQ_FOREACH(sip, &sysinit_list, next) { db_show_print_syinit(sip, true); if (db_pager_quit) break; diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index 12e346514d1a..62b9e6a02b3c 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -220,7 +220,7 @@ typedef void (*sysinit_cfunc_t)(const void *); struct sysinit { enum sysinit_sub_id subsystem; /* subsystem identifier*/ enum sysinit_elem_order order; /* init order within subsystem*/ - SLIST_ENTRY(sysinit) next; /* singly-linked list */ + STAILQ_ENTRY(sysinit) next; /* singly-linked list */ sysinit_cfunc_t func; /* function */ const void *udata; /* multiplexer/argument */ }; From nobody Wed Sep 6 18:37:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgrh13sXrz4stxZ; Wed, 6 Sep 2023 18:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgrh12Zbdz4TcM; Wed, 6 Sep 2023 18:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KGTDdrkUsxoVAieKfjlduNNphL4kF64PhNyU+UE1koE=; b=SjqBZIe9/k15fgKPmRgz1J3ftmDzNYIbSph/a4gUJzB2g6lge+SpxX9UtORhMAM1Yw7onx mY2h6czIMzpOhBgc/wK6Gofq4dR7srqMbHMblV5GWaKWeBzJE//dWg/xfxrXMyO5mBFO5K 1DY4D71hfTjPjobNVUMoJ+CH+n3gY17bFltLJ8Lhvw83n+Uxv4P6eeRWWFtT8eDKwwVWrv +9RNdptk2i1GhnZ/vlm8EfbKTZTKSHfpZPU4J/L8JPtw1KKN+86yznA/MQM/FgfuYpQwdN rxJYfPBM5s7/M7rEtkteNmDW4OBRDpJIJvkreK2MZYvBcBt94D5cgPhlmTGJ4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694025425; a=rsa-sha256; cv=none; b=LI21gtnyBTuRn8pDRl5tUBJjrsULLJ5B+5b51nHywRj47OdEYuAfYNvRBUe6YTAq4v8x+V a9lzQYNR0dSt+ArBX02L4Oupl1WpqiO0UsaF1OMNc+skHjZAQf+h4QYxWkqhXbTSKSfH+s o74Gj3OSwT7qP/TPORYzGD75OVhKL/wBSkOB/yBVle+Stw3SSLdNVisc9xZyBn/sQvh1pN Zov5M5O04yEXaBBfav1qlqBt09C0j7/Dm5pTJY+ACdcvoII+RHI5IcD7Fu8Al5GMUxQQ6I a029tiu4chroOGZy+M9FaozROBKs7taDEe2ihHM0Yw72GY0AI4YB7s8/gNDM+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KGTDdrkUsxoVAieKfjlduNNphL4kF64PhNyU+UE1koE=; b=HDX0jchlXGGNE6ZhG7fBLYTdiznHAHEwfl+gT0Fj6iucOYAN74vg0fHTly7GVX9GmzhbxS xomdpIQ7AuLx+a9DbhB9LHpw30IIQIuzWJmAPBCzY+frV3sXyd/ZZpaWP+waf+iIl+lU3l UKzSMz+1bhNMf5nPN+y9l+nTLvUEl+L6tOIwHEMf/8tYZFQ8pzU1m17JFs/yVo7d3T8Ugt zaNZcM6auuMcdT/OaIhIIpt0N0zllZ3VJs9MNVS++6aY/sWvZ3RxQhAPVBdIU7DU6mx85u esdFf+Qrk6QDpbwxocNGGAZWu/oliOWQFArxiMjzckLkQwWdPwLGKLPg0SdGrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rgrh11Nf7zCqw; Wed, 6 Sep 2023 18:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386Ib5fX086267; Wed, 6 Sep 2023 18:37:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386Ib5AK086264; Wed, 6 Sep 2023 18:37:05 GMT (envelope-from git) Date: Wed, 6 Sep 2023 18:37:05 GMT Message-Id: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1926d5cef6eaa1302024d6471271c930ad65f9b2 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1926d5cef6eaa1302024d6471271c930ad65f9b2 commit 1926d5cef6eaa1302024d6471271c930ad65f9b2 Author: Colin Percival AuthorDate: 2023-09-05 23:47:57 +0000 Commit: Colin Percival CommitDate: 2023-09-06 18:36:36 +0000 init_main: Record completed SYSINITs When removing them from sysinit_list, append them to sysinit_done_list; print this list from 'show sysinit' along with the list of future sysinits. Reviewed by: jhb, gallatin (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41749 --- sys/kern/init_main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index a6b327339c80..a8df9f84a29a 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -163,9 +163,11 @@ SYSINIT(placeholder, SI_SUB_DUMMY, SI_ORDER_ANY, NULL, NULL); SET_DECLARE(sysinit_set, struct sysinit); /* - * The sysinit list itself. Items are removed as they are run. + * The sysinit lists. Items are moved to sysinit_done_list when done. */ static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; +static struct sysinitlist sysinit_done_list = + STAILQ_HEAD_INITIALIZER(sysinit_done_list); /* * Compare two sysinits; return -1, 0, or 1 if a comes before, at the same time @@ -289,6 +291,7 @@ mi_startup(void) */ while ((sip = STAILQ_FIRST(&sysinit_list)) != NULL) { STAILQ_REMOVE_HEAD(&sysinit_list, next); + STAILQ_INSERT_TAIL(&sysinit_done_list, sip, next); if (sip->subsystem == SI_SUB_DUMMY) continue; /* skip dummy task(s)*/ @@ -904,6 +907,11 @@ DB_SHOW_COMMAND_FLAGS(sysinit, db_show_sysinit, DB_CMD_MEMSAFE) db_printf("SYSINIT vs Name(Ptr)\n"); db_printf(" Subsystem Order\n"); db_printf(" Function(Name)(Arg)\n"); + STAILQ_FOREACH(sip, &sysinit_done_list, next) { + db_show_print_syinit(sip, true); + if (db_pager_quit) + return; + } STAILQ_FOREACH(sip, &sysinit_list, next) { db_show_print_syinit(sip, true); if (db_pager_quit) From nobody Wed Sep 6 18:37:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgrhy06Dfz4sv9K; Wed, 6 Sep 2023 18:37:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgrhx6Xfqz4VBG; Wed, 6 Sep 2023 18:37:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/k7AKXZA1bqepM48+w4D+ys3YD4bLpKSu2fMP1PrFKA=; b=NbscRpmPX13eFLf79X5QQDcvoZsKWu0RyyZTjir865ySBSoZSnjyMj5v20Cajr1D22byuq WgyPgvfyCBDmZ4NW7ACF0+0JYyn1yGp+YwWBPavb05DudYyKFhrVeD7aT8PNNyQvxKegiM 6YKRn2P+SHKP2DrgITtkWLePim7yk9WKgwLoa67Hfes0OSCgDo+pamDzfDy7CMcja1/WCK 4i4P7IMGHh/jTGg9kTiBCsJCxYY/QnJZx72EGpRoIAQSCiH2h95dPli5+Pil8mYTTKMq8g DRzjZM9QRuex/+mck9SekqNc8Sehj2Gs8wiaouUymT2RCpCYO/JrkowawIUDVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694025473; a=rsa-sha256; cv=none; b=w9h8eQTwmNMHLWZsdG17yZi/+u9EZnw0NHlMBZHMwEEWOGEJ6JXu6HkwkAnh9fGdYwHBU3 8JYvVXS8fp42QRGiznsjxyHj2bEL02YFVnkKocSJWw8QKUKGV5j0ftNqAK8eRtKcXEifUn zNySPyumX1q8AqNt3qTMnxWgLQ4TmjRSGRctKqy/CLZT8xts6rhP3LI3LHDe38YEDGXk3q RvqmwevpzQbrrLkvRElT8hdIMX1Zgr2PoLGd3T4dV3OMyRvy4fJV+LdtZI8F+S1vDXwPcJ Rwlveri+Ays9f9iBYUF3BlNPwcC9A0kI25hmnhsuRdT2Q1Sz018TNrNVM9IQsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694025473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/k7AKXZA1bqepM48+w4D+ys3YD4bLpKSu2fMP1PrFKA=; b=mZYr0ylHISm7yyo6XucKTqkMp/mL/dfavSa/nndy3gJw5fjwJwjfS+O0f6N8oOkf6bHpUb d7FwBONGSmBN5QD61Cfgs3tJTuQaXaczC57YK3It5XF77/2EpzpRbEY4IG/vrKqmuku4AA 9oPW3NhrkeVCziYoqKMhTpT3xE0dj8niNy+pWd6Vc5DUPWDNYU3EptY3JyzgSkvbVMJ6O6 hvulq8hU71dccrag7FJAGJbmxjGqDVGNh4znWpIXSds6OS8Cd/0eFcNQwm0z8dayjJhHZa hGIUy0rFcjF6OTAa8HeUjA/G5yfxkxwQHqfH2HVlek9Zx89jRS8Yv4rUHEcffQ== Received: from [IPV6:2601:648:8683:a9e0:596d:20df:e8a5:a6d1] (unknown [IPv6:2601:648:8683:a9e0:596d:20df:e8a5:a6d1]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Rgrhx0sDSzqb1; Wed, 6 Sep 2023 18:37:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Wed, 6 Sep 2023 11:37:51 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. Content-Language: en-US To: "Bjoern A. Zeeb" , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202309052116.385LGoau059784@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202309052116.385LGoau059784@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: > The branch main has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 > > commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 > Author: Bjoern A. Zeeb > AuthorDate: 2023-06-08 21:35:09 +0000 > Commit: Bjoern A. Zeeb > CommitDate: 2023-09-05 21:13:18 +0000 > > rtw88/rtw89: remove local firmware. > > Remove firmware from src/ in favor of the ports/packages and fwget(8). > This will allow us to shrink the size of src (and installed modules). > Update the rtw88 man page to reflect the change. How does this interfact with doing an install to a machine over one of these interfaces? Will the install media need to have the suitable firmare packages pre-installed in the image? I'm not sure that's something we do today in our install images? -- John Baldwin From nobody Wed Sep 6 18:56:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgs6s6PzYz4rr43; Wed, 6 Sep 2023 18:56:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgs6s5wnyz4Z3t; Wed, 6 Sep 2023 18:56:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694026613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KxYIw0NkGSZiLh5u4cb+kgD38mKPAykZ31R04Uyq9zo=; b=P46BQGlycX390rAiLpduR1dw6vI7JKekbsHF6T0biBG+34K5+nCT7nSZwjPD/SHymOCIRv yQ/gb0vlvH5ogj1qCqdQ31g1X0Tz4Su+IgfjLcDiAlsP70cs4cY4zzDW8P184o6TGr8jct YjPyXGW+3AyNCMaIZ5vQnEo/gZQqN9zw99qQDWTEeX/WaO0fxDM/eBhLXQ0Z0GRgvR7juZ d7zaaTREZEFdF+cnMdHkjJ6kqMSprg3gs6uSoIQ96m/gXIm5iKg3VR0gJMpzpcC4gaEjSR 1SKK2FvVfxj3fQO57om3gpLNsCQwGDYjhsgThb3q7nUsfycw1BEqTvLAOvuP4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694026613; a=rsa-sha256; cv=none; b=lZq4z8z1XEWnwlGDaF+/MDkXWwurRMnU3AiUa2RC5IFdO2j2MMUQ2zW5SasYor1cNPGkOY bR7eHu9WIUxA7u5Pf4DKJpRpN/8JwhCHwBavj0WCQfku/SRcpwuRLPQs6PMAht6zo03bSB jl052lXMW/UMlSC8nQoS/RN2xsyxCMpoTCloxM8q5jKmhxaGox1YQ7NA5SjOcK3+n6K+6i PQMWdyLZXOyyxIl2z9nli+EuncZHI1CVae2g/hc8NdqWhwxoKgA/ydywfe6GCzCeL2yYvU mJRKnDEyHguZnyJJw6304PXe+Ypx2d1Nl5LesPHF69R4Hbf9I7k428mWGh6UOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694026613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KxYIw0NkGSZiLh5u4cb+kgD38mKPAykZ31R04Uyq9zo=; b=cBSl8d/P9oKCIjeYBeWSgi/6eirvEAtinTsH84odkuz7SMjPKMr9GpFrwJmqj5tLK/f7LN qhF6jfw47rRRhuKsyvhlVGrdqNzOG8bM9bp2n+x5JB2ux4amLBTl9gTPu9t+6Iv+mQpd2L z9pFBvOfpdx4qFXUKcfBDP7t2KEruO4lBhWfBQMEy1CoOP2EEFsjROAMtsZzdZcJEiUofY 35pbDpLNR3i7kXH4qZodCmkWFdrBp1VdM9pgOOtOIa4/dbQbqExcS6x+Bev9kGkWNlglFc 6Bibeo6MowI6PDyrWW4TocMq3B/qjexP9cqykUjlyTVJlgu/UEiLCansOWh4aQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rgs6s4zm5zCsX; Wed, 6 Sep 2023 18:56:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386IurlB019287; Wed, 6 Sep 2023 18:56:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386Iurm0019284; Wed, 6 Sep 2023 18:56:53 GMT (envelope-from git) Date: Wed, 6 Sep 2023 18:56:53 GMT Message-Id: <202309061856.386Iurm0019284@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: b7528b16c603 - main - release: remove inet blackhole sysctls from GCE config List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7528b16c6039a9f0af28f8f3ccdd6ea4eb7e604 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b7528b16c6039a9f0af28f8f3ccdd6ea4eb7e604 commit b7528b16c6039a9f0af28f8f3ccdd6ea4eb7e604 Author: Ed Maste AuthorDate: 2023-09-06 00:03:25 +0000 Commit: Ed Maste CommitDate: 2023-09-06 18:56:40 +0000 release: remove inet blackhole sysctls from GCE config Other cloud images do not do this, and it can produce confusing results. Reviewed by: Jose Luis Duran, delphij MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41751 --- release/tools/gce.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/release/tools/gce.conf b/release/tools/gce.conf index d219852b63a2..aad4a74d2e39 100644 --- a/release/tools/gce.conf +++ b/release/tools/gce.conf @@ -83,8 +83,6 @@ EOF cat << EOF >> ${DESTDIR}/etc/sysctl.conf net.inet.icmp.drop_redirect=1 net.inet.ip.redirect=0 -net.inet.tcp.blackhole=2 -net.inet.udp.blackhole=1 kern.ipc.soacceptqueue=1024 debug.trace_on_panic=1 debug.debugger_on_panic=0 From nobody Wed Sep 6 19:06:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgsKt0jVWz4rwhc; Wed, 6 Sep 2023 19:06:26 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgsKs6YNBz4cSb; Wed, 6 Sep 2023 19:06:25 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694027185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aQO5Y20DMfoJy9Lv83FJ3eNnyReplF0lvTO/pmYDLvY=; b=Rf3WcHLoZaLT5exaBenWIiCRmNmjoVi2wzNdqMMjKBH4Fn/dYUqPxIRgr6ybOAmLvORHXE Vw6SE0LjTJc1iwY6tn/9ewymCfU1lfv/9hrmE7OplOcqNnNFctZB9wbPoyJu0Cj6Jtt3wq 02Q7AE0SonRgX1Oz3ZGY+vXtzHEh1wmImjgSbwjdn8ANtZcAFrc3qDy68EgjbnyY/CYOqQ 34l+7uEcF7ZhNMRatMU+GJpwl1s9W4rsLQHGzq9fUt7hhp5ZrHVtaiM5Qi+rR+P4PI8ylr Xcvs1S2ooQilmZoPX/QDcyhx0tAXfEFfsOb4TXaAp1s9agni/U1mi70J+Fm4+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694027185; a=rsa-sha256; cv=none; b=ThlVnlits1q9snrKPMPcRNscEZk0KMb0oPAG7hegLsp7djdlWS98MlN8dSUjiYK8a5Hv/x k6oWHSejB/OSwxddEJCevYQiYYijZumGMdMLAYCrO41Qmnp3jkzU3Cy/litLLDMxNIOM+5 wKUlRZiRIynhVOuyefuoG/AANQ0hzl3rFAXTk2h8N2nKSleN/iy0Hq9XQgyQ3ls7lwtD+W xxiPHajflXXit5t2fS5qtpp/EtMFL0UhZ6i93BYYOjRg169V6RRN0jx2ZYY5EoVRPHLyLz r7BqZcWjktAmWzc9Q77j/nJn8nifZHRinWtIVo5S4Y6avq4hvf+VfWO1W7H61Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694027185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aQO5Y20DMfoJy9Lv83FJ3eNnyReplF0lvTO/pmYDLvY=; b=pCoZsrYmjHzhgb3R8cLin9LZXSf/QYypFE1HALj/dap1qJ2u3CwX4+mage1eDJUSNXyukf 98UNehLPQsZLu7uyJqsxdjTjTozhjQC5sWteM4T1FfdiIcrosh8R2uojLBDhjrcAZurQNw OJhMrcAQn1HoeWrmaXKvx0aKFxx8yX0mLsTA0bcmoaxWeaIdC/TnqXNyv9tSKw4HWKD7GL VJMooGN6euj6qC2B23uZJdvhz/M8yotRDMcmSMGezNo1c43fp+YT6oqbNI4TP2N+bIxi1Q P9y65X7R19Z3wAJPQqGwSdDbAmaQ8Wo/pIRJstp8s653kZAVWhpZHhxkLuTodA== Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RgsKs46DFzqt4; Wed, 6 Sep 2023 19:06:25 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 1FF8B8D4A178; Wed, 6 Sep 2023 19:06:22 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 971502D029D3; Wed, 6 Sep 2023 19:06:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id fJ2HZmVvDQNQ; Wed, 6 Sep 2023 19:06:20 +0000 (UTC) Received: from strong-aiccu0.sbone.de (strong-aiccu0.sbone.de [IPv6:fde9:577b:c1a9:f491::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 3BBAB2D029D2; Wed, 6 Sep 2023 19:06:20 +0000 (UTC) Date: Wed, 6 Sep 2023 19:06:19 +0000 (UTC) From: "Bjoern A. Zeeb" To: John Baldwin cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. In-Reply-To: Message-ID: <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> References: <202309052116.385LGoau059784@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Wed, 6 Sep 2023, John Baldwin wrote: > On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: >> The branch main has been updated by bz: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 >> >> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 >> Author: Bjoern A. Zeeb >> AuthorDate: 2023-06-08 21:35:09 +0000 >> Commit: Bjoern A. Zeeb >> CommitDate: 2023-09-05 21:13:18 +0000 >> >> rtw88/rtw89: remove local firmware. >> Remove firmware from src/ in favor of the ports/packages and >> fwget(8). >> This will allow us to shrink the size of src (and installed modules). >> Update the rtw88 man page to reflect the change. > > How does this interfact with doing an install to a machine over one of these > interfaces? That's nothing we support. At least we do not support netboot over wifi currently, so you'll always need another install media. How's the "bootstrapping" going to work if wireless is the only network option? > Will the install media need to have the suitable firmare packages > pre-installed in the image? Yes. Basically for all supported chipsets as if we'd ship them from src (*). But you'd likely only do this on the memstick image. (*) and then we'll one day face the problem that we may not be able to and need yet another way, but that for then. And then as a 2nd part, bsdinstall (with networking avail) needs to go and fwget from inside the installed system. All kind-of ugly incl. pkg bootstrapping, but the only way unless one wants to bring in packages on a physical install media as well. > I'm not sure that's something we do today in our install images? No, we do not. And 14.0 will not provide all of that. That's the reason I've done this in 15 after the branch and left 14/13 open as an X-MFC question. That's also the reason iwlwifi firmware is still in the tree. I've slowly been discussing some of the issues with core@, re@ and others over the last ... hmm.. 18? months -- basically since I was asked if we can stop shipping an extra ~140MB++ of wifi firmware in src and things are slowly moving in the right directions. /bz -- Bjoern A. Zeeb r15:7 From nobody Wed Sep 6 19:38:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgt300fjSz4sF4m; Wed, 6 Sep 2023 19:38:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgt2z6LXZz4Lgt; Wed, 6 Sep 2023 19:38:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694029115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38R8rHu9pNiYtRAx8w5+9XmBzH2A68UbsKx9ARAVxvg=; b=u7IBy0+TGn8pGFyGWJ06KPqseEtNsy6Uoh4BJaIefzjlB9pEOqD+udHGSC4FHLiTlfyu/h GUJoFJf11OGwMyZtg0EIBMdjVC66+datxEX2Oyrq+GwXc8QDuwIr9d1418eAifZXRI0yHY wugrwrbsHZa8qt7POeAgACEYVfT2BySPMgJIjz/XGUJqiRoPVkK87Tdfv6lEVDI1gn7UpY 4CEp2rQfIO5oV1qJt2nOuJnLtsaWQSI506LYjv3T7QJ791hwS6NdWZdfJ2CzZYLVbdRfZv 53WkKTe4hp/a968ggPY31F9fM7nAx58rI6cvwH6E33SRVlycVgLAK+4Bj4gq3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694029115; a=rsa-sha256; cv=none; b=BJk8k9DIeFAFQlWRrf8ZmPBMCNwp51F9CvxNFLnS36cPG6JjUJFa9eZw281v/7sZFUKE11 FyYjk8F5HOye0Drh7koIfo1HbGePJV+r4APHjYTRstzTXy3Dcx/xP6DAWcOLXK1dLIF7k9 WcoGoFfs6FV96atxxdYaZWLHPtWsVx06FIOzJCC8MLRTo69Ie2+CEl4eQEqL51ZBIOUCua On9NoOPUZJ1SN/YhlWXbXKk4vLiIMrfU0fL6ezwSBB1f1eY6fJ6oQOu7lgjmzvgi7Y/R1w 5Hj+1+vmpwKmxmY5vJ1oKypKifrwinwvUT3hz1J8G30iEZNQd5T40NnmgVm8fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694029115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38R8rHu9pNiYtRAx8w5+9XmBzH2A68UbsKx9ARAVxvg=; b=Cx+BGUYSVDI4IRBExgm1YjZ8XlCClPgcxBWluPLOmmQkv/jaWIfqw3yGA74+pVYKD4n6gJ ZAZUkSSnR5L7jHtZigHrYWZVB+tpI1PqdJXS+PPpehYDCHZUEaZSh2pPvBwzz0fuQUfeH2 6c1y0zxnPHoi9lQmPLH5GD1dJqJpaBlN2r5FNodazjkzJig2tuyqGcETxyjYVUbrZ3mayI d+deevtVkl0cxKi/Fb5vrNlLfNg2B8ROJqgB26YHFHXK1+xVbTe3pPC/xbGD6m0Yg8BfpD NpB092V4drCuOAfNuQqxY+QZa31q8FmFMTeL5bTsWWzYSLdRIvNzPIoA+VyFGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rgt2z5Q7VzVR2; Wed, 6 Sep 2023 19:38:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386JcZ3W086787; Wed, 6 Sep 2023 19:38:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386JcZiV086784; Wed, 6 Sep 2023 19:38:35 GMT (envelope-from git) Date: Wed, 6 Sep 2023 19:38:35 GMT Message-Id: <202309061938.386JcZiV086784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 03a7c36ddbc0 - main - __crt_aligned_alloc_offset(): fix ov_index for backing allocation address List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03a7c36ddbc0ddb1063d2c8a37c64d83e1519c55 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=03a7c36ddbc0ddb1063d2c8a37c64d83e1519c55 commit 03a7c36ddbc0ddb1063d2c8a37c64d83e1519c55 Author: Konstantin Belousov AuthorDate: 2023-09-06 13:50:27 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-06 19:38:15 +0000 __crt_aligned_alloc_offset(): fix ov_index for backing allocation address Wrong value of ov_index resulted in magic check failure, and refuse to free() the memory allocated with __crt_aligned_alloc_offset(). Then the TLS segments of exited threads leaked. Reported and tested by: glebius Fixes: c29ee08204ce4106d4992474005c5f2fb7d5fbf1 Sponsored by: The FreeBSD Foundation MFC after: 3 days --- libexec/rtld-elf/rtld_malloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c index 6e011e88ba5a..4b5140551675 100644 --- a/libexec/rtld-elf/rtld_malloc.c +++ b/libexec/rtld-elf/rtld_malloc.c @@ -188,7 +188,7 @@ __crt_aligned_alloc_offset(size_t align, size_t size, size_t offset) x += offset; ov = cp2op((void *)x); ov1.ov_magic = AMAGIC; - ov1.ov_index = x - (uintptr_t)mem - sizeof(union overhead); + ov1.ov_index = x - (uintptr_t)mem + sizeof(union overhead); memcpy(ov, &ov1, sizeof(ov1)); return ((void *)x); } From nobody Wed Sep 6 21:10:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgw5T07jsz4rqP9; Wed, 6 Sep 2023 21:10:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgw5S6mGmz3NTL; Wed, 6 Sep 2023 21:10:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694034652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DlkxEc/9MqTPKmWE+O24oC92/Wo9kWmLC9RgeQNtK/s=; b=RY243U/XONGl5of2kIzmE6v/Ic/2+82yGvFIODHc15DiOEhNSlFr3zCbvJte6+UFG9F8D6 OJECNvY3I2xGXpe2uuplygs0Z672IcdbO3FO9fumr7etPiIxhBHPsQj8kcvFa1LisH44i6 EV8+IOyFldj4nRxzo7yUcTRUnhNKvxdinM/uwLkvAEqkr+3pTh2+T2+885Ca7Zn9NVFYtk OTyp7zx56/W+7MmGOWPQj52hf8qsQWsgdM9coPovgt0e7RtKP8LKmMS5qupZnss7ztSeiy /TM8lS2TuhTIL97KnTgmFC+Al8Lh+O8Yu0tDM+NS0lIf/8xG6XsT6dMcctSDfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694034652; a=rsa-sha256; cv=none; b=X8qL34LV0Kqn+oWLtTSiQEjhDuUzhBQg98LTvDuiHv4OfIRNIK26HWcw5yCiMi6HQiMiIt xgObINJR15bHW4el+DG8n9zajiBv7zCKiQ+vUnEJtlzXZGftifzVEEQCOI55CnErXIgHt9 paTS1Uv5IUxWXJC+g73XhpvVYYLVFJYA6XzfkE4DR9dFHBzbmusZqgNu89G5jomU4N4Y1c BHKtgzVLEKhGFtrVHNmF6neELnZDJiUAAYaCaCtpREOa75mHHDjtfbE/nJH5FriVLLnAQr C6uJ2Dz1b3rYH57Mb6/TD026usz3dWqLf+LJiBvNOeK/L22JDBeod3BlH95+JQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694034652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DlkxEc/9MqTPKmWE+O24oC92/Wo9kWmLC9RgeQNtK/s=; b=FVw+7CiihS6pRZhJJt1LBqriK2SDJcdXBkst3D71YkvGMjkavzadMv7C91JuYUImyZqKz1 p2sfjVCe5tPmJw7vgBAFs2gQTJATdweclyMgXgGdbwYjsZZJ014lrmXWfE85dzaFY6Bsmt DvVO/2UK13tBGof5EZJRbGp0RQEXSQhhsC2jeZHKqH7Ze/3q+zJ24xqq3osocC8zWjmvtA x/+mIpueFyfoiK9FAJTAVKdlbGIqgfNfxOIfDz+4ZNQSyqaVjwPwm4qzuK+XcT0zp/6myb koPsrgtUG35i34E52Wdji/mdCMMSIdWXsEIRUrHPSu7fber+6Axu6frFLvoFrQ== Received: from [IPV6:2601:648:8683:a9e0:20bb:5514:8449:a0ef] (unknown [IPv6:2601:648:8683:a9e0:20bb:5514:8449:a0ef]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Rgw5S2gC5zs8C; Wed, 6 Sep 2023 21:10:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> Date: Wed, 6 Sep 2023 14:10:51 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. Content-Language: en-US To: "Bjoern A. Zeeb" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> From: John Baldwin In-Reply-To: <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: > On Wed, 6 Sep 2023, John Baldwin wrote: > >> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: >>> The branch main has been updated by bz: >>> >>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>> >>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>> Author: Bjoern A. Zeeb >>> AuthorDate: 2023-06-08 21:35:09 +0000 >>> Commit: Bjoern A. Zeeb >>> CommitDate: 2023-09-05 21:13:18 +0000 >>> >>> rtw88/rtw89: remove local firmware. >>> Remove firmware from src/ in favor of the ports/packages and >>> fwget(8). >>> This will allow us to shrink the size of src (and installed modules). >>> Update the rtw88 man page to reflect the change. >> >> How does this interfact with doing an install to a machine over one of these >> interfaces? > > That's nothing we support. At least we do not support netboot over wifi > currently, so you'll always need another install media. > > How's the "bootstrapping" going to work if wireless is the only network > option? To be clear, I was discussing the case you use a USB memstick, but fetch the base system and packages over the network. Or at least you need to install pkg over the network, but you need pkg to install the firmware so you can bring up the network which you did address, though it seems something we plan to fix in the future so won't be in 14.0? -- John Baldwin From nobody Wed Sep 6 21:39:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rgwl621T1z4s7Sr for ; Wed, 6 Sep 2023 21:40:02 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rgwl56tnBz3VVQ for ; Wed, 6 Sep 2023 21:40:01 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-31c479ede21so320396f8f.2 for ; Wed, 06 Sep 2023 14:40:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1694036399; x=1694641199; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0TFWOwrIASJoIVHr8vWNiZHK+zHEQwKNB957XJeeDlA=; b=C7rrL3iGGXFiFDbpWxBVkC4ct9MKA/Pkam/Yne6Ke694w1+ERK96CNn1DMT/zppXx/ QaFJtVF7c1mCRImxEbIELSc9C7FwfSy9Ept4K418Zw7r7i21a97WCc19p/ea9K/hks1k CNyUVgG8hO1GbBJg/xpc00ihKX1Dzz3y5+AF6YCC3GRvt4YX+pToFPtph4bEzUPUxb/9 3hJMBiCOKabW/h3oOMs1mYva7C+o42TJLQOHU7BRehKW0Zm7Bhwr6tOzxcw0DfDDpNy2 LvE92GmiuP8FWBjaU1aA84wxHTM2SdVNvqaSxuuuWy/Onk0lg8Y1DP+NQNvXeNrk2n7i L1bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694036399; x=1694641199; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0TFWOwrIASJoIVHr8vWNiZHK+zHEQwKNB957XJeeDlA=; b=k6XBTlc/fMtkCO6Mu5a+/nqNyX60STtpMi0vm7WHrhkgF/fTiP+NbH83J9kTR9Rp4l se8Vvb9UZQ69nCb2DWWDhdEgd0c3p/YbCww8WIegY3Jl474uX+c67zig/1yeD9ErsJBq zaHvgIqyiEzhRF5fBf2njB0EokCRAykukxTYZqHAsqC0n4/72NXoGTYyDsxOfWx/kyCI HbXQK0bL/7RRYb9l4eqqMKc03gQ0TP+bOLDFk5aiF3Ryh3M1vD+xppyHAKOtAQtjwK+5 cnX3/StQZ8eYna0DyefjRz33N8eVpgtpEWCVBzPH2kcdkN9Uigk3KgOtvXz3GlxjMLK0 uvbQ== X-Gm-Message-State: AOJu0YwpTdMOp80KeKgBaSHf8ZZIVMQcW9HUzs4S3Q65DsUybBRbOLIL I1or/Qi839F260iasQDEDgFsrRNEW9Ow5VkRYqN+fQ== X-Google-Smtp-Source: AGHT+IGu0gfF1KCbARMU9f4MnzB+wPvFreI2qN6cg6cN+H0CCa4uW/mVW+yJmbVxpkDwSgHHb4+hkxs94saIqStqgGk= X-Received: by 2002:a5d:5183:0:b0:319:8161:ecc6 with SMTP id k3-20020a5d5183000000b003198161ecc6mr3288505wrv.63.1694036398720; Wed, 06 Sep 2023 14:39:58 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> In-Reply-To: <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> From: Warner Losh Date: Wed, 6 Sep 2023 15:39:47 -0600 Message-ID: Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. To: John Baldwin Cc: "Bjoern A. Zeeb" , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000c862410604b795b4" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Rgwl56tnBz3VVQ --000000000000c862410604b795b4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 6, 2023 at 3:10=E2=80=AFPM John Baldwin wrote= : > On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: > > On Wed, 6 Sep 2023, John Baldwin wrote: > > > >> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: > >>> The branch main has been updated by bz: > >>> > >>> URL: > >>> > https://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62= bbfc8dbe5 > >>> > >>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 > >>> Author: Bjoern A. Zeeb > >>> AuthorDate: 2023-06-08 21:35:09 +0000 > >>> Commit: Bjoern A. Zeeb > >>> CommitDate: 2023-09-05 21:13:18 +0000 > >>> > >>> rtw88/rtw89: remove local firmware. > >>> Remove firmware from src/ in favor of the ports/packages a= nd > >>> fwget(8). > >>> This will allow us to shrink the size of src (and installed > modules). > >>> Update the rtw88 man page to reflect the change. > >> > >> How does this interfact with doing an install to a machine over one of > these > >> interfaces? > > > > That's nothing we support. At least we do not support netboot over wif= i > > currently, so you'll always need another install media. > > > > How's the "bootstrapping" going to work if wireless is the only network > > option? > > To be clear, I was discussing the case you use a USB memstick, but fetch > the base system and packages over the network. Or at least you need to > install pkg over the network, but you need pkg to install the firmware > so you can bring up the network which you did address, though it seems > something we plan to fix in the future so won't be in 14.0? > Yea, I don't see how this can possibly work on a memstick or any other install media, unless we ship the firmware on the media. Otherwise you don't have the network you need to install the firmware you need for the network... Warner --000000000000c862410604b795b4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Sep 6, 2023 at 3:10=E2=80=AFP= M John Baldwin <jhb@freebsd.org&g= t; wrote:
On 9/6= /23 12:06 PM, Bjoern A. Zeeb wrote:
> On Wed, 6 Sep 2023, John Baldwin wrote:
>
>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote:
>>> The branch main has been updated by bz:
>>>
>>> URL:
>>> https= ://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62bbfc8db= e5
>>>
>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5
>>> Author:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.org&g= t;
>>> AuthorDate: 2023-06-08 21:35:09 +0000
>>> Commit:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.org&g= t;
>>> CommitDate: 2023-09-05 21:13:18 +0000
>>>
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0rtw88/rtw89: remove local firmware.<= br> >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Remove firmware from = src/ in favor of the ports/packages and
>>> fwget(8).
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0This will allow us to shrink the siz= e of src (and installed modules).
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0Update the rtw88 man page to reflect= the change.
>>
>> How does this interfact with doing an install to a machine over on= e of these
>> interfaces?
>
> That's nothing we support.=C2=A0 At least we do not support netboo= t over wifi
> currently, so you'll always need another install media.
>
> How's the "bootstrapping" going to work if wireless is t= he only network
> option?

To be clear, I was discussing the case you use a USB memstick, but fetch the base system and packages over the network.=C2=A0 Or at least you need t= o
install pkg over the network, but you need pkg to install the firmware
so you can bring up the network which you did address, though it seems
something we plan to fix in the future so won't be in 14.0?

Yea, I don't see how this can possibly work on= a memstick or any other install
media, unless we ship the firmwa= re on the media. Otherwise you don't have
the network you nee= d to install the firmware you need for the network...

<= div>Warner=C2=A0
--000000000000c862410604b795b4-- From nobody Thu Sep 7 01:12:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh1SK12cpz4rvgj; Thu, 7 Sep 2023 01:12:33 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh1SK0ZwDz3GQ2; Thu, 7 Sep 2023 01:12:33 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694049153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5kGkveKA2D+qoOZJT6jagBnKmCB59osv+Q+6POSSH7k=; b=LPWtNzqUqLEhrmk8xfNQJGs9X168qGNceRpX3Ro0WgS0jb42CWG9RFrs/rBaNSEKfwnrk3 4F0YVvIAVJYjrtSpAjaREI9t+rfdlfLlTvzbQ6/MxRCOEdV0JF0a5svE0q6WJRMUIi5UCj djo/dZeq+o6X9Yo2Sa/sQMDY93zO7K8Hh8emgt5TugxRingh7wNfW0ky6z+RjzdTBEajth wuyqpD7yUpYFIJpstlgBUO14M/MzTuftTkbTjC9wSVn//DDNWa6ffhdhNcnZ/i5jsD0swY gqzCTCmQWfyePbA8xUrB3K39oDKXLcyQvtdIiIV73xeM2iqD5Yzhqz4Q2C2ndw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694049153; a=rsa-sha256; cv=none; b=FADdetImfE03XbLYBBiK9Vujj9mzfyulcZRNNScgRkAn5Sbltf5P2bBq8Ua3+ImNwwYSb0 wnLtNpLS4SVyCxLKzrIjZrQH98IuDHBwOSdegxhID6i+94U3uI2HtpdjB7AeTFl3LLmjgE VFa20HagMJOOPpGs5FeQwe5cX7uq8TNhg0yPi7mhkbPWEGoeCuU/7rMsL6msOEeCic1b/t mqL3oY5ZBLyKFgKcR7K/BenE8p6Qo2RplyY0Sx/ZbmXPakOTLW6gMUThZEASE5PdM47Ntw rjhYaieEmDdhguRA3kSSD+9dwQj8cukRTMalxmKzR67rNcOogfv34UB1Rvoglw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694049153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5kGkveKA2D+qoOZJT6jagBnKmCB59osv+Q+6POSSH7k=; b=ErQuUV69dFNq7wknqWdgacED+mWv/VarZE7Huu4c+DrVMCtleqFJ8HajpyydfXPq17JDfP hsNXN/I1jy21Y/ZA/rvj+GJUlIyYng8D8L0yD08VhdxS+Kt3mgjSomwIaTFxVvQdKQaY1u 22GUenCAKj6egHnHkKIvBZ4o+Dtl4nZhS0Csxjvxdg0YWt53pYL3H42CdSAfdk3BzQW6TU c5cAqSfT2Rxocyx+Cbkh12qKAnF+V50l2I2LZ+Yr9UAcHF+Bnsv3hbyJ6BhLU/co3eri9o PoFNJrTyxBl1C3gKLx0rwhnoFIFBQ90x6QCzecaBFnZYqrDD+OYKlxdhV7OZeg== Received: from smtpclient.apple (unknown [IPv6:2001:19f0:6001:9db:98f0:9fe0:3545:10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Rh1SH3QtQzyGQ; Thu, 7 Sep 2023 01:12:31 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.4\)) Subject: Re: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs From: Zhenlei Huang In-Reply-To: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> Date: Thu, 7 Sep 2023 09:12:22 +0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> References: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> To: Colin Percival X-Mailer: Apple Mail (2.3696.120.41.1.4) > On Sep 7, 2023, at 2:37 AM, Colin Percival = wrote: >=20 > The branch main has been updated by cperciva: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1926d5cef6eaa1302024d6471271c930= ad65f9b2 >=20 > commit 1926d5cef6eaa1302024d6471271c930ad65f9b2 > Author: Colin Percival > AuthorDate: 2023-09-05 23:47:57 +0000 > Commit: Colin Percival > CommitDate: 2023-09-06 18:36:36 +0000 >=20 > init_main: Record completed SYSINITs >=20 > When removing them from sysinit_list, append them to = sysinit_done_list; > print this list from 'show sysinit' along with the list of future > sysinits. So the `sysinit_done_list` is for DDB only. >=20 > Reviewed by: jhb, gallatin (previous version) > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D41749 > --- > sys/kern/init_main.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) >=20 > diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c > index a6b327339c80..a8df9f84a29a 100644 > --- a/sys/kern/init_main.c > +++ b/sys/kern/init_main.c > @@ -163,9 +163,11 @@ SYSINIT(placeholder, SI_SUB_DUMMY, SI_ORDER_ANY, = NULL, NULL); > SET_DECLARE(sysinit_set, struct sysinit); >=20 > /* > - * The sysinit list itself. Items are removed as they are run. > + * The sysinit lists. Items are moved to sysinit_done_list when = done. > */ > static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; > +static struct sysinitlist sysinit_done_list =3D > + STAILQ_HEAD_INITIALIZER(sysinit_done_list); Then it should be wrapped around with #ifdef DDB and #endif >=20 > /* > * Compare two sysinits; return -1, 0, or 1 if a comes before, at the = same time > @@ -289,6 +291,7 @@ mi_startup(void) > */ > while ((sip =3D STAILQ_FIRST(&sysinit_list)) !=3D NULL) { > STAILQ_REMOVE_HEAD(&sysinit_list, next); > + STAILQ_INSERT_TAIL(&sysinit_done_list, sip, next); Ditto. >=20 > if (sip->subsystem =3D=3D SI_SUB_DUMMY) > continue; /* skip dummy task(s)*/ > @@ -904,6 +907,11 @@ DB_SHOW_COMMAND_FLAGS(sysinit, db_show_sysinit, = DB_CMD_MEMSAFE) > db_printf("SYSINIT vs Name(Ptr)\n"); > db_printf(" Subsystem Order\n"); > db_printf(" Function(Name)(Arg)\n"); > + STAILQ_FOREACH(sip, &sysinit_done_list, next) { > + db_show_print_syinit(sip, true); > + if (db_pager_quit) > + return; > + } > STAILQ_FOREACH(sip, &sysinit_list, next) { > db_show_print_syinit(sip, true); > if (db_pager_quit) Best regards, Zhenlei From nobody Thu Sep 7 01:46:59 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh2D64pP3z4sGb9 for ; Thu, 7 Sep 2023 01:47:02 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from mail.tarsnap.com (mail.tarsnap.com [54.86.246.204]) by mx1.freebsd.org (Postfix) with SMTP id 4Rh2D56P3Wz3QLC for ; Thu, 7 Sep 2023 01:47:01 +0000 (UTC) (envelope-from cperciva@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: (qmail 55915 invoked from network); 7 Sep 2023 01:46:59 -0000 Received: from unknown (HELO dell7390.daemonology.net) (127.0.0.1) by mail.tarsnap.com with SMTP; 7 Sep 2023 01:46:59 -0000 Received: (qmail 494 invoked from network); 7 Sep 2023 01:46:59 -0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by localhost with SMTP; 7 Sep 2023 01:46:59 -0000 Message-ID: Date: Wed, 6 Sep 2023 18:46:59 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs Content-Language: en-US To: Zhenlei Huang Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> From: Colin Percival In-Reply-To: <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:14618, ipnet:54.86.0.0/16, country:US] X-Rspamd-Queue-Id: 4Rh2D56P3Wz3QLC On 9/6/23 18:12, Zhenlei Huang wrote: >> On Sep 7, 2023, at 2:37 AM, Colin Percival wrote: >> init_main: Record completed SYSINITs >> >> When removing them from sysinit_list, append them to sysinit_done_list; >> print this list from 'show sysinit' along with the list of future >> sysinits. > > So the `sysinit_done_list` is for DDB only. Well... sort of. You can open up kgdb and run 'p sysinit_done_list'. >> static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; >> +static struct sysinitlist sysinit_done_list = >> + STAILQ_HEAD_INITIALIZER(sysinit_done_list); > > Then it should be wrapped around with #ifdef DDB and #endif I considered that, but since we're literally talking about 2 pointers of memory I figured it wasn't worth making it conditional. -- Colin Percival FreeBSD Deputy Release Engineer & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Thu Sep 7 06:33:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8Zz25J2z4sggw; Thu, 7 Sep 2023 06:33:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8Zz1cYvz4Jlm; Thu, 7 Sep 2023 06:33:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9JGG6+5n3kLOFvspSeXbYyzJzrZFAzbg0g7Q0LlWTy8=; b=QiO5Yq0ZXSWwj1cfBlJOLaNPj35ejuMrCdzaxSpvsnXcqjMatnX16XOWqNTffs+u1n3fYS rsKvtTxOpbzR960G9nwWv09ABC4FJU0Rw+yT3kR5LfM+1zbG0e17WJTeQVqcJdcbtulPKf bk8nRGcU7IAAb/SKx6Uqc/VFbXOMh87rJjtcATJgXR0zSZUOBBSUNwzVM5C56WDNgIKzh7 7yiGH5u7paF8rI/vy727DF75pRzhiHPw63jkNocmDKCOa19ksL6V+0aZ/WvT2xBIpcU4XA D11ssde7+05nHdMeRPVftsd8+Zx7+HgcskCPUDZKlnTOuNBHskVfMAAthBh79Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068427; a=rsa-sha256; cv=none; b=U9MC0TWm6gNQu3lnmlX3PFznc1e+sqylVvRNaHBOqjZ5baWBWHOtbRRW98oNuChb8RaVlX II9/Fk0UhCBFRKHkREWGdaYrMP/YNJaqClIAPq0rgPxz7+y9DEn79OMSzsYf1mWhTPR3La eBMSBE33spsDxoLv5kPU1Yrf5rIcWIuNM4Tl+ljg+n34A7q0a2jc7D47mKf4Xnr1wrCisj erb88zzSIeUV3KK4my8PZozhAc37WX7Li4vhE/eiQCDuA2dyIwnmlRxtcy5mQd9W5HXMUZ 4LTXA645Ugk5TxAWXsXiq8VWTqElw/eTheCX3v+NYgiV4RYEeChY/gH65p6cVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9JGG6+5n3kLOFvspSeXbYyzJzrZFAzbg0g7Q0LlWTy8=; b=VKzgRRkUZGSLiSxtOQu8BAf03/HS2IlwKf4ZfT8VaYrZ5Y/CD8DSLVhi0fkiT7kaz+dTKH 0gGnmiCbge3RFJdW5OvKUE+aoGsGgP0+hcuP9DzJg1x5j3l4DlLXToL7qwR4wWvL5HybkB 5l4BrzCIOAH++zoZuFu9Z+eIo6HUKhN8q3TB2XnatW4djp5CEbz4O8t6yrpvQVENOE4rbw BvQSHBfCcGp5tkKmjIwL5Xj2JBWlZaXVRoDrONt2v31JgalM8GyVba8OpNfrkGHrA3fezJ jRhttFU7Z3NvDaq48qSycF/wqnbzDc3YC3N/v5xGMKiEWfqFU1VzvnUe4lfmvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8Zz0jMszpBV; Thu, 7 Sep 2023 06:33:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876XlYt086756; Thu, 7 Sep 2023 06:33:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876Xlwb086753; Thu, 7 Sep 2023 06:33:47 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:33:47 GMT Message-Id: <202309070633.3876Xlwb086753@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: 035f7c9a3653 - main - switch groff parameter -man to -mandoc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 035f7c9a3653d91564a5513f1311aa3b6e14a17e Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=035f7c9a3653d91564a5513f1311aa3b6e14a17e commit 035f7c9a3653d91564a5513f1311aa3b6e14a17e Author: Wolfram Schneider AuthorDate: 2023-09-07 06:28:24 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-07 06:28:24 +0000 switch groff parameter -man to -mandoc groff 1.23.0 changed the semantics of the -man parameter, and many manual pages are not rendered. The -mandoc parameter brings back the old behavior, as in groff 1.22.4 and earlier. PR: 273565, 273245 Reviewed by: emaste, bapt MFC after: 1 week for all supported branches (stable/12, 13, 14) Differential Revision: https://reviews.freebsd.org/D41737 --- usr.bin/man/man.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index dd327cc5d1d8..b18895a91d96 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -1071,11 +1071,11 @@ do_whatis() { # User's PATH setting decides on the groff-suite to pick up. EQN=eqn -NROFF='groff -S -P-h -Wall -mtty-char -man' +NROFF='groff -S -P-h -Wall -mtty-char -mandoc' PIC=pic REFER=refer TBL=tbl -TROFF='groff -S -man' +TROFF='groff -S -mandoc' VGRIND=vgrind LOCALE=/usr/bin/locale From nobody Thu Sep 7 06:36:59 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8fg4MvJz4sjCL; Thu, 7 Sep 2023 06:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8fg3kGdz4Kjk; Thu, 7 Sep 2023 06:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IbTSCLdynxCr5HB01XM8FXk9FIWUaEyyRuqhcn+OwGo=; b=XJiTU8rF+sFcc3CX9LreK2rYAJhz98pvpNYept10sOCz5fBqsVe+46IBhxYzYoyQIw7klH VUwVF9QjbaClleaqFikBj6iOZ0ev6IBdPTGZoN1tSD3tFopbi2WqeM5XS+YLhhajDgySJa 80lrBQtxqFBM8mi64G/y9mw2liQxmws1wbXzyESI/PRtN/RkWUnP6+SupbtxM2SlEHpHWp nraO21P6F3rn+IYClanrkDMEta5m37C6TlkrOfq/XJyF2lM/h6XQ/9Vikd0b6IsWKORZN+ atg/kKnLV9zpNbEsYXrPo5Ult2ggZjhRJ8vfIx2oe6LSM6zOgMB+wmnbJV2F3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068619; a=rsa-sha256; cv=none; b=E+/divKb7vlZSuuUN/Mt3J7mH6dNDv5eNeBPWUNyby67i+PDD3WagW/U/76+8nWSAHSGma ZTxQXOaHmqFwaED6Y01KhZbBMAnrem0lfLpvxjOYTcHv6NF7LTjbVm4njPfAkgQWNEflUE w9gnTFlbcJDzE3eah22Seq2mU+I1nMOykBVHH9jgbINglYQuep/2PjlsX3+qxTsZbxLyz3 OWr9MN5G3/SQtjtpEekUxqeMccjOyXDCihib9KkvAtxMNUSKSTh8lfUOf2Khe5JBGEXVAr sd3+X9DjXd3us7ITwCFYibSoa/au+zPigL1Uxv1GysnoAQOf7uoJK5s2yJpAyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IbTSCLdynxCr5HB01XM8FXk9FIWUaEyyRuqhcn+OwGo=; b=EpLwf0yDs4jFHeekVlBcaTHIHB6WgOhiFceBCxkpaIJw/WcC5G+AXAKRmT1SkETw8Omejb pbV2pn/Ito+PhHUPhp/NlUuJQyC732AsGJAUR0lcNXhpPCTC94Rue4zTIZivS69Vl/nGLR qMiweMUDmTqbkyeKodM8hUxfqfu92h90FhsJKEaZKtUVLnyGa3Y+3C1gY43l3cnUmzhlaB 5gpV7jZs6viAhEBbf0NmdABkWVB3gqZw72sNKd5X6eaVRAEON2XuY6TNYNvA04jV6OQxsA UvZuA4OrZIWbxkbFN0UOX3LsrM+E1fGasM62yQxqoxRuDtPPdr1nbxjEIs6D7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8fg2pq9zpDq; Thu, 7 Sep 2023 06:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876axaP087367; Thu, 7 Sep 2023 06:36:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876axkW087364; Thu, 7 Sep 2023 06:36:59 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:36:59 GMT Message-Id: <202309070636.3876axkW087364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: 2322159a2b7e - main - Update HISTORY section. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2322159a2b7eb41bb34cafd1b24182735c183367 Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=2322159a2b7eb41bb34cafd1b24182735c183367 commit 2322159a2b7eb41bb34cafd1b24182735c183367 Author: David E. O'Brien AuthorDate: 2023-09-07 06:36:27 +0000 Commit: David E. O'Brien CommitDate: 2023-09-07 06:36:27 +0000 Update HISTORY section. --- share/man/man5/style.Makefile.5 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/share/man/man5/style.Makefile.5 b/share/man/man5/style.Makefile.5 index 122b38cb19a4..cc5d2f6bb28a 100644 --- a/share/man/man5/style.Makefile.5 +++ b/share/man/man5/style.Makefile.5 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2002-2003 David O'Brien +.\" Copyright (c) 2002-2003, 2023 David O'Brien .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -262,10 +262,12 @@ SRCS= foo.c .Xr make.conf 5 , .Xr style 9 .Sh HISTORY -This manual page is inspired from the same source as +This manual page is inspired from the .Xr style 9 -manual page in -.Fx . +manual page and first appeared in +.Fx 5.1 . +.Sh AUTHORS +.An David O'Brien Aq deo@NUXI.org .Sh BUGS There are few hard and fast style rules here. The style of many things is too dependent on the context of the whole makefile, From nobody Thu Sep 7 06:41:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mN1wXyz4slQv; Thu, 7 Sep 2023 06:41:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mN1VVSz4M6x; Thu, 7 Sep 2023 06:41:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhadLKC7qqw0ZfttLVJKCzDm73JazZK7bfTQpHJdVi8=; b=QLjHdFRpYjERQRAed6Y5/xgEx2rkJ+/LbQXcGSIa3xTT/PaU2v+RwtqOE1HPDWeUReYPE8 O3/8O9SG6AMakvH4GHCM8kyKuBPc6sxBq3VMWDw+GlpLLfIk6Cr7m7c1jhAqw0prqAZJPW ZQh/3MJ3A8mdUle9MKeCo1PByGUpUPeE8gmQzO27otFa6BamjqnUOqA7MeQDCKlVcObTah xZAe/c8M+DnbFq9qFyFPRyFCknyoFBdmO9tMdksL7ZuZYngeesKy212/jmRfxxhowTtikQ TGK0BeDFUaj4Gv1EY6ZI1abVOwMnm7Jrxuu4kBUBYHKMjGXzXsXYC1Vw/JP8qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068916; a=rsa-sha256; cv=none; b=UbTNoxkaJj4BKHSP3Z9g3T5SA39hxZ9gby2ka0g+sUafvn5sqtwY/kRosOrBDbXygWfGIM DmYR1v6/MhcL4EscCdqAzTVd+5/T/fAPGTSDErBJ61KvFMC2kl10YMys0ArfN7kQLuj6Le 4jKEiE5D/a1MRRNcktoK+HWlEXUZuCpW99f7tzUQ7i0jvvwFSIgtIiUlngGVwhIbGi/TS3 wYxTo0OsZxgxhhF1zXxSfP+XFW8D9iki5Fl6jBWVLXKaaaVTmoOopE6DZMXfFskhSKNG1e JVWYzRF+86RkUVcmwq6kOg9+6osloTkuAyAcHQ3A360Qau9ikoO0zM0JXaVnag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhadLKC7qqw0ZfttLVJKCzDm73JazZK7bfTQpHJdVi8=; b=sIykUn8/N4vD/FWaXFzsQFxOZK9Wi9XKZurnsd47rM5iuZtE19k7Z2La+aouYL6tO+PczJ n2BX+QNFubsgvZYCkY8TvDUWoh2FgoJ7EcB5wF9xgANeldiDUcM1MAvzm3lAnXwOkzCr3H lNHFKajJ4ycm3vNL8bc1XcR2AjWBbAsMOvt56+Me6PpDmr68Uz9S0JvD+MtIY1gZix3ej9 0jZ9tHRYxMJ5jYv4FVkIfIck6EvMSnMozGaO1DhCM2KJKyo5A78MATWJOaNy5rHENnZsUu h9lBYQZzKwGxS9FheZR2qJwG0028ipANq/kK4b30L0Q7hAI7N6VnWfyC3sKxzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mN0ZmCzpYQ; Thu, 7 Sep 2023 06:41:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876ftH2002071; Thu, 7 Sep 2023 06:41:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876ftRJ002068; Thu, 7 Sep 2023 06:41:55 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:41:55 GMT Message-Id: <202309070641.3876ftRJ002068@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 4ec9ee991276 - main - libc: Add a wide version of snprintf_test. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ec9ee9912765ac4ca57353999caa92a23283d8e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4ec9ee9912765ac4ca57353999caa92a23283d8e commit 4ec9ee9912765ac4ca57353999caa92a23283d8e Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:30 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 libc: Add a wide version of snprintf_test. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D41726 --- lib/libc/tests/stdio/Makefile | 1 + lib/libc/tests/stdio/snprintf_test.c | 21 +++--- lib/libc/tests/stdio/swprintf_test.c | 140 +++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+), 10 deletions(-) diff --git a/lib/libc/tests/stdio/Makefile b/lib/libc/tests/stdio/Makefile index f7383e5b3ef4..2a8a4e69a6c4 100644 --- a/lib/libc/tests/stdio/Makefile +++ b/lib/libc/tests/stdio/Makefile @@ -18,6 +18,7 @@ ATF_TESTS_C+= printfloat_test ATF_TESTS_C+= scanfloat_test ATF_TESTS_C+= snprintf_test ATF_TESTS_C+= sscanf_test +ATF_TESTS_C+= swprintf_test ATF_TESTS_C+= swscanf_test SRCS.fopen2_test= fopen_test.c diff --git a/lib/libc/tests/stdio/snprintf_test.c b/lib/libc/tests/stdio/snprintf_test.c index 0c335bc1a512..10d938435b96 100644 --- a/lib/libc/tests/stdio/snprintf_test.c +++ b/lib/libc/tests/stdio/snprintf_test.c @@ -12,18 +12,19 @@ #include -#define SNPRINTF_TEST(output, format, ...) \ +#ifndef nitems +#define nitems(a) (sizeof(a) / sizeof(a[0])) +#endif + +#define SNPRINTF_TEST(output, format, ...) \ do { \ char buf[256]; \ - assert(output == NULL || strlen(output) < sizeof(buf)); \ - int ret = snprintf(buf, sizeof(buf), format, __VA_ARGS__); \ - if (output == NULL) { \ - ATF_CHECK_EQ(-1, ret); \ - } else { \ - ATF_CHECK_EQ(strlen(output), ret); \ - if (ret > 0) { \ - ATF_CHECK_STREQ(output, buf); \ - } \ + assert(strlen(output) < nitems(buf)); \ + int ret = snprintf(buf, nitems(buf), format, \ + __VA_ARGS__); \ + ATF_CHECK_EQ(strlen(output), ret); \ + if (ret > 0) { \ + ATF_CHECK_EQ(0, strcmp(output, buf)); \ } \ } while (0) diff --git a/lib/libc/tests/stdio/swprintf_test.c b/lib/libc/tests/stdio/swprintf_test.c new file mode 100644 index 000000000000..23859b5cd2e1 --- /dev/null +++ b/lib/libc/tests/stdio/swprintf_test.c @@ -0,0 +1,140 @@ +/*- + * Copyright (c) 2023 Dag-Erling Smørgrav + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include + +#include + +#ifndef nitems +#define nitems(a) (sizeof(a) / sizeof(a[0])) +#endif + +#define SWPRINTF_TEST(output, format, ...) \ + do { \ + wchar_t buf[256]; \ + assert(wcslen(L##output) < nitems(buf)); \ + int ret = swprintf(buf, nitems(buf), L##format, \ + __VA_ARGS__); \ + ATF_CHECK_EQ(wcslen(L##output), ret); \ + if (ret > 0) { \ + ATF_CHECK_EQ(0, wcscmp(L##output, buf)); \ + } \ + } while (0) + +ATF_TC_WITHOUT_HEAD(swprintf_b); +ATF_TC_BODY(swprintf_b, tc) +{ + SWPRINTF_TEST("0", "%b", 0); + SWPRINTF_TEST(" 0", "%12b", 0); + SWPRINTF_TEST("000000000000", "%012b", 0); + SWPRINTF_TEST("1", "%b", 1); + SWPRINTF_TEST(" 1", "%12b", 1); + SWPRINTF_TEST("000000000001", "%012b", 1); + SWPRINTF_TEST("1111111111111111111111111111111", "%b", INT_MAX); + SWPRINTF_TEST("0", "%#b", 0); + SWPRINTF_TEST(" 0", "%#12b", 0); + SWPRINTF_TEST("000000000000", "%#012b", 0); + SWPRINTF_TEST("0b1", "%#b", 1); + SWPRINTF_TEST(" 0b1", "%#12b", 1); + SWPRINTF_TEST("0b0000000001", "%#012b", 1); + SWPRINTF_TEST("0b1111111111111111111111111111111", "%#b", INT_MAX); +} + +ATF_TC_WITHOUT_HEAD(swprintf_B); +ATF_TC_BODY(swprintf_B, tc) +{ + SWPRINTF_TEST("0", "%B", 0); + SWPRINTF_TEST(" 0", "%12B", 0); + SWPRINTF_TEST("000000000000", "%012B", 0); + SWPRINTF_TEST("1", "%B", 1); + SWPRINTF_TEST(" 1", "%12B", 1); + SWPRINTF_TEST("000000000001", "%012B", 1); + SWPRINTF_TEST("1111111111111111111111111111111", "%B", INT_MAX); + SWPRINTF_TEST("0", "%#B", 0); + SWPRINTF_TEST(" 0", "%#12B", 0); + SWPRINTF_TEST("000000000000", "%#012B", 0); + SWPRINTF_TEST("0B1", "%#B", 1); + SWPRINTF_TEST(" 0B1", "%#12B", 1); + SWPRINTF_TEST("0B0000000001", "%#012B", 1); + SWPRINTF_TEST("0B1111111111111111111111111111111", "%#B", INT_MAX); +} + +ATF_TC_WITHOUT_HEAD(swprintf_d); +ATF_TC_BODY(swprintf_d, tc) +{ + SWPRINTF_TEST("0", "%d", 0); + SWPRINTF_TEST(" 0", "%12d", 0); + SWPRINTF_TEST("000000000000", "%012d", 0); + SWPRINTF_TEST("1", "%d", 1); + SWPRINTF_TEST(" 1", "%12d", 1); + SWPRINTF_TEST("000000000001", "%012d", 1); + SWPRINTF_TEST("2147483647", "%d", INT_MAX); + SWPRINTF_TEST(" 2147483647", "%12d", INT_MAX); + SWPRINTF_TEST("002147483647", "%012d", INT_MAX); + SWPRINTF_TEST("2,147,483,647", "%'d", INT_MAX); +} + +ATF_TC_WITHOUT_HEAD(swprintf_x); +ATF_TC_BODY(swprintf_x, tc) +{ + SWPRINTF_TEST("0", "%x", 0); + SWPRINTF_TEST(" 0", "%12x", 0); + SWPRINTF_TEST("000000000000", "%012x", 0); + SWPRINTF_TEST("1", "%x", 1); + SWPRINTF_TEST(" 1", "%12x", 1); + SWPRINTF_TEST("000000000001", "%012x", 1); + SWPRINTF_TEST("7fffffff", "%x", INT_MAX); + SWPRINTF_TEST(" 7fffffff", "%12x", INT_MAX); + SWPRINTF_TEST("00007fffffff", "%012x", INT_MAX); + SWPRINTF_TEST("0", "%#x", 0); + SWPRINTF_TEST(" 0", "%#12x", 0); + SWPRINTF_TEST("000000000000", "%#012x", 0); + SWPRINTF_TEST("0x1", "%#x", 1); + SWPRINTF_TEST(" 0x1", "%#12x", 1); + SWPRINTF_TEST("0x0000000001", "%#012x", 1); + SWPRINTF_TEST("0x7fffffff", "%#x", INT_MAX); + SWPRINTF_TEST(" 0x7fffffff", "%#12x", INT_MAX); + SWPRINTF_TEST("0x007fffffff", "%#012x", INT_MAX); +} + +ATF_TC_WITHOUT_HEAD(swprintf_X); +ATF_TC_BODY(swprintf_X, tc) +{ + SWPRINTF_TEST("0", "%X", 0); + SWPRINTF_TEST(" 0", "%12X", 0); + SWPRINTF_TEST("000000000000", "%012X", 0); + SWPRINTF_TEST("1", "%X", 1); + SWPRINTF_TEST(" 1", "%12X", 1); + SWPRINTF_TEST("000000000001", "%012X", 1); + SWPRINTF_TEST("7FFFFFFF", "%X", INT_MAX); + SWPRINTF_TEST(" 7FFFFFFF", "%12X", INT_MAX); + SWPRINTF_TEST("00007FFFFFFF", "%012X", INT_MAX); + SWPRINTF_TEST("0", "%#X", 0); + SWPRINTF_TEST(" 0", "%#12X", 0); + SWPRINTF_TEST("000000000000", "%#012X", 0); + SWPRINTF_TEST("0X1", "%#X", 1); + SWPRINTF_TEST(" 0X1", "%#12X", 1); + SWPRINTF_TEST("0X0000000001", "%#012X", 1); + SWPRINTF_TEST("0X7FFFFFFF", "%#X", INT_MAX); + SWPRINTF_TEST(" 0X7FFFFFFF", "%#12X", INT_MAX); + SWPRINTF_TEST("0X007FFFFFFF", "%#012X", INT_MAX); +} + +ATF_TP_ADD_TCS(tp) +{ + setlocale(LC_NUMERIC, "en_US.UTF-8"); + ATF_TP_ADD_TC(tp, swprintf_b); + ATF_TP_ADD_TC(tp, swprintf_B); + ATF_TP_ADD_TC(tp, swprintf_d); + ATF_TP_ADD_TC(tp, swprintf_x); + ATF_TP_ADD_TC(tp, swprintf_X); + return (atf_no_error()); +} From nobody Thu Sep 7 06:41:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mP3ljdz4slM7; Thu, 7 Sep 2023 06:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mP2vRfz4MCc; Thu, 7 Sep 2023 06:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=awqXBSOro9GMNNz6K6ddBFT0s/iZRE/2o7HupfKuhgU=; b=FFk4XQliQZqZ7Y1G+hVhcerIY0F2eEHCJ/5yIfX0vrKVuXZj6NFmK/fSyS8rzhgN//NN29 8qUcASKhgcbw/nCKihKPiFcwUtjrCCCy7bxJuO8bpQKHPe6bNbtodxIN6roNCtl+J1nMNR M9auXj8B2aW2Bwc1YxNV1xh1OVvRDz1+qMEd3iUEUBAkCEtxcbv6qB6jLKngAGd1exD/xo 3I4OTmKEnZTEiIsBnpivxCeYympEdM6IJ7P2lC1hMn95VoyhVAYLQF4CWdOsEtx5lRLWZC Bx67zUTTU7Fyz1eRqw3aJ5BPHfFWCALstORKD9qBjv3z8eK4iB9yHPuRIFLrNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068917; a=rsa-sha256; cv=none; b=KIbD2i1SIUjwDshJ/h4Iw84btb4Is3WTYIBYSZCUpUFzT3W0DG2dSFlgHVNpDmXdx/iE6O PFB/dvhL3rAHYwhE4C+CGaOYn+FSHoeuQ+eRkaCDugzSGmZp55zmGhPzRveBe3zOef85JS DMUsodkqWTSg/NemTwpsKh5LNxVLLHI+jsQW87cWAnK5uVQxmJ71g7B2R0zh+2RC+00LG5 cADhNzCJEXSRvEYrlK7DCLhKDPs+hh2S//SZkGiPckC3hSUmJv2lTk3di5yb68S5pAfhtV 6uWOLoZsqq9DU92cNMYgsw3sYjYIer1jgK+amlt8017UG02HgRR+I1uAUEUdbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=awqXBSOro9GMNNz6K6ddBFT0s/iZRE/2o7HupfKuhgU=; b=HnWseXV9HjaF3HUdTLg+Z7Y+8nf1xHdj3Yy93U4Mru2nuL+RHtkKmMkRU5LRkG4PranmIS srDi3maY2DWXUX2B8qnqMKea2YmtDPOwDTI0bVuX1mL4zhIO4N6NWP0NHDpHNXSwa2l6TB n6w23eOdch0Nd4m+gwJJ9J4MMWSPSRJDYF225KvP+iOEN1sSXLTCSsfbnHAw4dYQV8IUaq uo6V6n88xIRiDUHmFgkO7u4aiSuJEJQ/HoWjVcVKmxY11scVWyrzGZGCO7u2oGWCNNkVXD PfOUWdo8AsEvKNwbe59WJxErvSLbwEBWz92j8g7GpLD97hFSZ6dew0WItG1nCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mP1cJ6zpNK; Thu, 7 Sep 2023 06:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876fvKh002128; Thu, 7 Sep 2023 06:41:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876fvck002125; Thu, 7 Sep 2023 06:41:57 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:41:57 GMT Message-Id: <202309070641.3876fvck002125@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 294bd2827e61 - main - libc: Suppress format checks on printf() / scanf() tests. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 294bd2827e61a78041f6613f4b82235fcc454157 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=294bd2827e61a78041f6613f4b82235fcc454157 commit 294bd2827e61a78041f6613f4b82235fcc454157 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:39 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 libc: Suppress format checks on printf() / scanf() tests. Reviewed by: jrtc27, markj, emaste Differential Revision: https://reviews.freebsd.org/D41727 --- lib/libc/tests/stdio/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/libc/tests/stdio/Makefile b/lib/libc/tests/stdio/Makefile index 2a8a4e69a6c4..7716a60c0e6b 100644 --- a/lib/libc/tests/stdio/Makefile +++ b/lib/libc/tests/stdio/Makefile @@ -38,9 +38,15 @@ LIBADD.eintr_test+= md LIBADD.printfloat_test+= m LIBADD.scanfloat_test+= m +# Older toolchains won't understand C23 %b, %wN, %wfN +PROG_OVERRIDE_VARS+= NO_WFORMAT +NO_WFORMAT.snprintf_test= +NO_WFORMAT.sscanf_test= +NO_WFORMAT.swprintf_test= +NO_WFORMAT.swscanf_test= + .if ${COMPILER_TYPE} == "gcc" # 90: use of assignment suppression and length modifier together in scanf format -PROG_OVERRIDE_VARS+= NO_WFORMAT NO_WFORMAT.scanfloat_test= .endif From nobody Thu Sep 7 06:41:58 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mR057Lz4slCj; Thu, 7 Sep 2023 06:41:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mQ3kbtz4M7w; Thu, 7 Sep 2023 06:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3mYLQylpdh3BpvTaYjorxtgz7tO/VRUSPXLlFkQNmy8=; b=jX+nlav4K3/zb7OPHpuh3ThgBzhr8DXtRStto8LSBMRrvG6LHEehUZB5A+5qxSdtbvWK3o J4S2u+cscFC5uR1p5CErhdIXy4ihfN+kppENio9eO1bplOPZ6ahwpt2650w/XOkBu8iwpe 0ycjqeDWKeVtqUpOEsjHDrSMAwZhYopOIPE10rNEU02GOF0NNGeR9DD2ec9fl3mXS+zd3H NrT6QxuaDx4zlUb0EJrSV3ONsDpvbo62GMxsvAuOxPOIx/NLiCFkQzVGSfwLcRzmJZmtip OtbT8J5t4ys7yIBq3dX1kTVrP0eOYUGEERItaW8ac2zYSkyaA5O23/IfPQje+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068918; a=rsa-sha256; cv=none; b=uSOn+mmy8SIJWtp1dMq52qRNhhuhELXPjAUO4Nzd9O+xML24n4EzLn4nVL7Bo7fLm+fAU+ HB+RnUKlYzW1eLg3cnbSGPv+UCIY0Cc3dD/XMz3ZwGT72SwAjS46PPm7hI1kiTtVRZ8Yw2 b0I3hRzXTl12XC9l/6ER0+pWPeRO98JWroVKUfnn3uNiAhtMRHa6IXfJGI91wh4cbkIUKY mtEkX42o1DA0xgCWjcZgky468SqHBIzs3KtXtatPgEuoCGb1TULFlFwJfXgbrk6NxhifJr Hj2CBeF14aK0An2f22FGLS4oOnP/Q4bxIjvdpHUDqVBLPSqs48LGFgwDd5itOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3mYLQylpdh3BpvTaYjorxtgz7tO/VRUSPXLlFkQNmy8=; b=aRu4gAOLGPhnvYD7Svd3LuJenGLcorie6RbGjzaIpRmOm7QVVC9LcW0eBjX+LoWjxtdT43 qYPUIfNNcHTU9AMc7nIoW48lqCq6AmHaQmIFUa0jOK2y3o3V5c22d+vD5U/T7uJJUQMbdn B0CqQXlLtDx76gZJZgbElg+gxSL8hGNs3cMFE+R9+xeKmxczbUi8HyCr94fQvDEnqNask6 t+3xboJN0gCmjhLgKgP3ppQ+iI0oXsaGv34RQ2oXV4YteFyeQQMILlI6pNayZmf0lLVdRk iQNKSejRyOfvOUkR1P+J0JhTU+z3CZ6iKsHVlqXIq1sm+zVRtcex6ECWFdgvTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mQ2ddkzpGj; Thu, 7 Sep 2023 06:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876fwXQ002167; Thu, 7 Sep 2023 06:41:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876fw0a002164; Thu, 7 Sep 2023 06:41:58 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:41:58 GMT Message-Id: <202309070641.3876fw0a002164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: bce0bef3c6ab - main - libc: Implement N2680. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bce0bef3c6abab92c7ac8cc23b7cc632a382721e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=bce0bef3c6abab92c7ac8cc23b7cc632a382721e commit bce0bef3c6abab92c7ac8cc23b7cc632a382721e Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 libc: Implement N2680. This adds specific width length modifiers in the form of wN and wfN (where N is 8, 16, 32, or 64) which allow printing intN_t and int_fastN_t without resorting to casts or PRI macros. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D41725 --- lib/libc/stdio/printf.3 | 4 +++- lib/libc/stdio/printflocal.h | 1 + lib/libc/stdio/scanf.3 | 30 +++++++++++++++++++++++++++++- lib/libc/stdio/vfprintf.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ lib/libc/stdio/vfscanf.c | 40 ++++++++++++++++++++++++++++++++++++++++ lib/libc/stdio/vfwprintf.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ lib/libc/stdio/vfwscanf.c | 40 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 201 insertions(+), 2 deletions(-) diff --git a/lib/libc/stdio/printf.3 b/lib/libc/stdio/printf.3 index 110851e2a421..a7b0c7399e2e 100644 --- a/lib/libc/stdio/printf.3 +++ b/lib/libc/stdio/printf.3 @@ -31,7 +31,7 @@ .\" .\" @(#)printf.3 8.1 (Berkeley) 6/4/93 .\" -.Dd August 21, 2023 +.Dd September 5, 2023 .Dt PRINTF 3 .Os .Sh NAME @@ -342,6 +342,8 @@ conversion: .It Cm ll No (ell ell) Ta Vt "long long" Ta Vt "unsigned long long" Ta Vt "long long *" .It Cm j Ta Vt intmax_t Ta Vt uintmax_t Ta Vt "intmax_t *" .It Cm t Ta Vt ptrdiff_t Ta (see note) Ta Vt "ptrdiff_t *" +.It Cm w Ns Ar N Ta Vt intN_t Ta Vt uintN_t Ta Vt "intN_t *" +.It Cm wf Ns Ar N Ta Vt int_fastN_t Ta Vt uint_fastN_t Ta Vt "int_fastN_t *" .It Cm z Ta (see note) Ta Vt size_t Ta (see note) .It Cm q Em (deprecated) Ta Vt quad_t Ta Vt u_quad_t Ta Vt "quad_t *" .El diff --git a/lib/libc/stdio/printflocal.h b/lib/libc/stdio/printflocal.h index 3594f75d0050..f3d0d3e9e216 100644 --- a/lib/libc/stdio/printflocal.h +++ b/lib/libc/stdio/printflocal.h @@ -49,6 +49,7 @@ #define PTRDIFFT 0x800 /* ptrdiff_t */ #define INTMAXT 0x1000 /* intmax_t */ #define CHARINT 0x2000 /* print char using int format */ +#define FASTINT 0x4000 /* int_fastN_t */ /* * Macros for converting digits to letters and vice versa diff --git a/lib/libc/stdio/scanf.3 b/lib/libc/stdio/scanf.3 index 6cefdb133983..b8d2360c5e76 100644 --- a/lib/libc/stdio/scanf.3 +++ b/lib/libc/stdio/scanf.3 @@ -31,7 +31,7 @@ .\" .\" @(#)scanf.3 8.2 (Berkeley) 12/11/93 .\" -.Dd August 21, 2023 +.Dd September 5, 2023 .Dt SCANF 3 .Os .Sh NAME @@ -217,6 +217,34 @@ and the next pointer is a pointer to a .Vt ptrdiff_t (rather than .Vt int ) . +.It Cm w Ns Ar N +.Po +where +.Ar N +is 8, 16, 32, or 64 +.Pc +Indicates that the conversion will be one of +.Cm bdioux +or +.Cm n +and the next pointer is a pointer to a +.Vt intN_t +(rather than +.Vt int ) . +.It Cm wf Ns Ar N +.Po +where +.Ar N +is 8, 16, 32, or 64 +.Pc +Indicates that the conversion will be one of +.Cm bdioux +or +.Cm n +and the next pointer is a pointer to a +.Vt int_fastN_t +(rather than +.Vt int ) . .It Cm z Indicates that the conversion will be one of .Cm bdioux diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index 5e5a9b5e31c1..8ce77626fb6f 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -610,6 +610,49 @@ reswitch: switch (ch) { case 't': flags |= PTRDIFFT; goto rflag; + case 'w': + /* + * Fixed-width integer types. On all platforms we + * support, int8_t is equivalent to char, int16_t + * is equivalent to short, int32_t is equivalent + * to int, int64_t is equivalent to long long int. + * Furthermore, int_fast8_t, int_fast16_t and + * int_fast32_t are equivalent to int, and + * int_fast64_t is equivalent to long long int. + */ + flags &= ~(CHARINT|SHORTINT|LONGINT|LLONGINT|INTMAXT); + if (fmt[0] == 'f') { + flags |= FASTINT; + fmt++; + } else { + flags &= ~FASTINT; + } + if (fmt[0] == '8') { + if (!(flags & FASTINT)) + flags |= CHARINT; + else + /* no flag set = 32 */ ; + fmt += 1; + } else if (fmt[0] == '1' && fmt[1] == '6') { + if (!(flags & FASTINT)) + flags |= SHORTINT; + else + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '3' && fmt[1] == '2') { + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '6' && fmt[1] == '4') { + flags |= LLONGINT; + fmt += 2; + } else { + if (flags & FASTINT) { + flags &= ~FASTINT; + fmt--; + } + goto invalid; + } + goto rflag; case 'z': flags |= SIZET; goto rflag; @@ -932,6 +975,7 @@ number: if ((dprec = prec) >= 0) default: /* "%?" prints ?, unless ? is NUL */ if (ch == '\0') goto done; +invalid: /* pretend it was %c with argument ch */ cp = buf; *cp = ch; diff --git a/lib/libc/stdio/vfscanf.c b/lib/libc/stdio/vfscanf.c index 9727c9e70c34..fa2e865f33f9 100644 --- a/lib/libc/stdio/vfscanf.c +++ b/lib/libc/stdio/vfscanf.c @@ -75,6 +75,7 @@ static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93"; #define SUPPRESS 0x08 /* *: suppress assignment */ #define POINTER 0x10 /* p: void * (as hex) */ #define NOSKIP 0x20 /* [ or c: do not skip blanks */ +#define FASTINT 0x200 /* wfN: int_fastN_t */ #define LONGLONG 0x400 /* ll: long long (+ deprecated q: quad) */ #define INTMAXT 0x800 /* j: intmax_t */ #define PTRDIFFT 0x1000 /* t: ptrdiff_t */ @@ -555,6 +556,45 @@ literal: case 't': flags |= PTRDIFFT; goto again; + case 'w': + /* + * Fixed-width integer types. On all platforms we + * support, int8_t is equivalent to char, int16_t + * is equivalent to short, int32_t is equivalent + * to int, int64_t is equivalent to long long int. + * Furthermore, int_fast8_t, int_fast16_t and + * int_fast32_t are equivalent to int, and + * int_fast64_t is equivalent to long long int. + */ + flags &= ~(SHORTSHORT|SHORT|LONG|LONGLONG|SIZET|INTMAXT|PTRDIFFT); + if (fmt[0] == 'f') { + flags |= FASTINT; + fmt++; + } else { + flags &= ~FASTINT; + } + if (fmt[0] == '8') { + if (!(flags & FASTINT)) + flags |= SHORTSHORT; + else + /* no flag set = 32 */ ; + fmt += 1; + } else if (fmt[0] == '1' && fmt[1] == '6') { + if (!(flags & FASTINT)) + flags |= SHORT; + else + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '3' && fmt[1] == '2') { + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '6' && fmt[1] == '4') { + flags |= LONGLONG; + fmt += 2; + } else { + goto match_failure; + } + goto again; case 'z': flags |= SIZET; goto again; diff --git a/lib/libc/stdio/vfwprintf.c b/lib/libc/stdio/vfwprintf.c index 259a86467ea7..d298ed03f521 100644 --- a/lib/libc/stdio/vfwprintf.c +++ b/lib/libc/stdio/vfwprintf.c @@ -681,6 +681,49 @@ reswitch: switch (ch) { case 't': flags |= PTRDIFFT; goto rflag; + case 'w': + /* + * Fixed-width integer types. On all platforms we + * support, int8_t is equivalent to char, int16_t + * is equivalent to short, int32_t is equivalent + * to int, int64_t is equivalent to long long int. + * Furthermore, int_fast8_t, int_fast16_t and + * int_fast32_t are equivalent to int, and + * int_fast64_t is equivalent to long long int. + */ + flags &= ~(CHARINT|SHORTINT|LONGINT|LLONGINT|INTMAXT); + if (fmt[0] == 'f') { + flags |= FASTINT; + fmt++; + } else { + flags &= ~FASTINT; + } + if (fmt[0] == '8') { + if (!(flags & FASTINT)) + flags |= CHARINT; + else + /* no flag set = 32 */ ; + fmt += 1; + } else if (fmt[0] == '1' && fmt[1] == '6') { + if (!(flags & FASTINT)) + flags |= SHORTINT; + else + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '3' && fmt[1] == '2') { + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '6' && fmt[1] == '4') { + flags |= LLONGINT; + fmt += 2; + } else { + if (flags & FASTINT) { + flags &= ~FASTINT; + fmt--; + } + goto invalid; + } + goto rflag; case 'z': flags |= SIZET; goto rflag; @@ -993,6 +1036,7 @@ number: if ((dprec = prec) >= 0) default: /* "%?" prints ?, unless ? is NUL */ if (ch == '\0') goto done; +invalid: /* pretend it was %c with argument ch */ cp = buf; *cp = ch; diff --git a/lib/libc/stdio/vfwscanf.c b/lib/libc/stdio/vfwscanf.c index b03c9dba0699..e2c730b5e7a9 100644 --- a/lib/libc/stdio/vfwscanf.c +++ b/lib/libc/stdio/vfwscanf.c @@ -73,6 +73,7 @@ static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93"; #define SUPPRESS 0x08 /* *: suppress assignment */ #define POINTER 0x10 /* p: void * (as hex) */ #define NOSKIP 0x20 /* [ or c: do not skip blanks */ +#define FASTINT 0x200 /* wfN: int_fastN_t */ #define LONGLONG 0x400 /* ll: long long (+ deprecated q: quad) */ #define INTMAXT 0x800 /* j: intmax_t */ #define PTRDIFFT 0x1000 /* t: ptrdiff_t */ @@ -539,6 +540,45 @@ literal: case 't': flags |= PTRDIFFT; goto again; + case 'w': + /* + * Fixed-width integer types. On all platforms we + * support, int8_t is equivalent to char, int16_t + * is equivalent to short, int32_t is equivalent + * to int, int64_t is equivalent to long long int. + * Furthermore, int_fast8_t, int_fast16_t and + * int_fast32_t are equivalent to int, and + * int_fast64_t is equivalent to long long int. + */ + flags &= ~(SHORTSHORT|SHORT|LONG|LONGLONG|SIZET|INTMAXT|PTRDIFFT); + if (fmt[0] == 'f') { + flags |= FASTINT; + fmt++; + } else { + flags &= ~FASTINT; + } + if (fmt[0] == '8') { + if (!(flags & FASTINT)) + flags |= SHORTSHORT; + else + /* no flag set = 32 */ ; + fmt += 1; + } else if (fmt[0] == '1' && fmt[1] == '6') { + if (!(flags & FASTINT)) + flags |= SHORT; + else + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '3' && fmt[1] == '2') { + /* no flag set = 32 */ ; + fmt += 2; + } else if (fmt[0] == '6' && fmt[1] == '4') { + flags |= LONGLONG; + fmt += 2; + } else { + goto match_failure; + } + goto again; case 'z': flags |= SIZET; goto again; From nobody Thu Sep 7 06:41:59 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mS0nS2z4slJv; Thu, 7 Sep 2023 06:42:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mR43Z9z4MD4; Thu, 7 Sep 2023 06:41:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ziakp4WCmgXpiRhZifoWjlaxquNjarcgZNRI2bnllhk=; b=WRafzHm0Fp04hb21qMnTYrzxzCBpJBxXw5xHzRft0PpekhGtisTbrE1e2jqX8vaTWE0XiH dn79B7K7cZ/yz9b2vRSoTs8BbDrMiRwc/1HgKAZTJttMji7iBRV5Hsq8IU6D/aF2FZksc7 qLZFAKpX59gDJyFmaBwXxC7iVgBJ3w1lfcgNJpQHFg/p9dtFwMp2XZH9XUm6bHwJaRlw/k yMJp/H2sZ/e1mWTc9eepivYJg/8shdpGyYXbXUldBP1hRLSVMCNKAbr1fQ8YnLWSbaQMUf Fwk88tAHq6hwxESkosQyeYmyNpsDtSCCSEj5jPS0+FxkvcNolHeQLBBgBOd8Hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068919; a=rsa-sha256; cv=none; b=ogWTOVQh++EX/CBN7bOiF4lsW/eJOzfa1h7D4fHGFgqAxjoN87uf9SwhTxPG4aLXizq8Im U5wHhM9xJLoOPRae9S+c4CWGa8nPDpngXzka3NDGepW183+fId91PjYORqMJC+62pVTMsu Ipsw6Pn4Jz0Ec0g0VA9wDvZcH47LH1do9p99y6TCXnJnxb72MrtvZJws4i8y4S4yfqnKgm uUZzFpVSJm+iDbpFtCFcZCvK30RzVqtN2EMgobcGugUjytMqW2JX0s8OXTx5tcOlSvxJW0 sFN+AI1E8qiw+8XVNf8nSieyFOzJ0Yaq9Vt700a/pJTZVzQyutH/JD0ZPPH9jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ziakp4WCmgXpiRhZifoWjlaxquNjarcgZNRI2bnllhk=; b=smS6Pn7FsV80BIqVcNmcbA/LJCDNVY4fnHjnTsQhDpygULVkdijhaIBA+UpgHF6uNkbk54 Eo1XmtHB6T7CJaYPTe9DK/OWGizXKNO5SAKwZXqV29JRHGpKPtM+qCOmR1EL2/kofvdmw6 mmVNpptj9UL3Jx2IjO7zW7xLgAN6b5l133Dz64cDUjwylVjTJ1+ZCGmAVIHO+QMajTgzrX vpeCrK4kjC3vQsBVnkg9wVNkoRvakeg24A3eeE2BKwkd2VxnUas20iY2sfR5Nw7s2uuHjh kA+T7ojZOkJSVxTR4ARyunKwWC8EjyRIOKq4cIl/ZfnTqFv/WZcQ9avvVDt2ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mR38TczpXt; Thu, 7 Sep 2023 06:41:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876fx2L002865; Thu, 7 Sep 2023 06:41:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876fxe5002854; Thu, 7 Sep 2023 06:41:59 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:41:59 GMT Message-Id: <202309070641.3876fxe5002854@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 12b1c1e3fb44 - main - libc: Add test cases for N2680. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12b1c1e3fb446021a881d9815465137843fca50b Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=12b1c1e3fb446021a881d9815465137843fca50b commit 12b1c1e3fb446021a881d9815465137843fca50b Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:49 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 libc: Add test cases for N2680. This adds test cases for %wN and %wfN to the printf(3) and scanf(3) tests. While here, fix a few nits in the N2630 test cases. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D41743 --- lib/libc/tests/stdio/snprintf_test.c | 66 ++++++++++++++++++++++++++++++++ lib/libc/tests/stdio/sscanf_test.c | 65 ++++++++++++++++++++++++++++++++ lib/libc/tests/stdio/swprintf_test.c | 66 ++++++++++++++++++++++++++++++++ lib/libc/tests/stdio/swscanf_test.c | 73 ++++++++++++++++++++++++++++++++++-- 4 files changed, 267 insertions(+), 3 deletions(-) diff --git a/lib/libc/tests/stdio/snprintf_test.c b/lib/libc/tests/stdio/snprintf_test.c index 10d938435b96..323356b37a7d 100644 --- a/lib/libc/tests/stdio/snprintf_test.c +++ b/lib/libc/tests/stdio/snprintf_test.c @@ -127,6 +127,70 @@ ATF_TC_BODY(snprintf_X, tc) SNPRINTF_TEST("0X007FFFFFFF", "%#012X", INT_MAX); } +ATF_TC_WITHOUT_HEAD(snprintf_wN); +ATF_TC_BODY(snprintf_wN, tc) +{ + SNPRINTF_TEST("0", "%w8d", (int8_t)0); + SNPRINTF_TEST("-128", "%w8d", (int8_t)CHAR_MIN); + SNPRINTF_TEST("127", "%w8d", (int8_t)CHAR_MAX); + SNPRINTF_TEST("0", "%w8u", (uint8_t)0); + SNPRINTF_TEST("255", "%w8u", (uint8_t)UCHAR_MAX); + + SNPRINTF_TEST("0", "%w16d", (int16_t)0); + SNPRINTF_TEST("-32768", "%w16d", (int16_t)SHRT_MIN); + SNPRINTF_TEST("32767", "%w16d", (int16_t)SHRT_MAX); + SNPRINTF_TEST("0", "%w16u", (uint16_t)0); + SNPRINTF_TEST("65535", "%w16u", (uint16_t)USHRT_MAX); + + SNPRINTF_TEST("0", "%w32d", (int32_t)0); + SNPRINTF_TEST("-2147483648", "%w32d", (int32_t)INT_MIN); + SNPRINTF_TEST("2147483647", "%w32d", (int32_t)INT_MAX); + SNPRINTF_TEST("0", "%w32u", (uint32_t)0); + SNPRINTF_TEST("4294967295", "%w32u", (uint32_t)UINT_MAX); + + SNPRINTF_TEST("0", "%w64d", (int64_t)0); + SNPRINTF_TEST("-9223372036854775808", "%w64d", (int64_t)LLONG_MIN); + SNPRINTF_TEST("9223372036854775807", "%w64d", (int64_t)LLONG_MAX); + SNPRINTF_TEST("0", "%w64u", (uint64_t)0); + SNPRINTF_TEST("18446744073709551615", "%w64u", (uint64_t)ULLONG_MAX); + + SNPRINTF_TEST("wd", "%wd", 0); + SNPRINTF_TEST("w1d", "%w1d", 0); + SNPRINTF_TEST("w128d", "%w128d", 0); +} + +ATF_TC_WITHOUT_HEAD(snprintf_wfN); +ATF_TC_BODY(snprintf_wfN, tc) +{ + SNPRINTF_TEST("0", "%wf8d", (int_fast8_t)0); + SNPRINTF_TEST("-2147483648", "%wf8d", (int_fast8_t)INT_MIN); + SNPRINTF_TEST("2147483647", "%wf8d", (int_fast8_t)INT_MAX); + SNPRINTF_TEST("0", "%wf8u", (uint8_t)0); + SNPRINTF_TEST("4294967295", "%wf8u", (uint_fast8_t)UINT_MAX); + + SNPRINTF_TEST("0", "%wf16d", (int_fast16_t)0); + SNPRINTF_TEST("-2147483648", "%wf16d", (int_fast16_t)INT_MIN); + SNPRINTF_TEST("2147483647", "%wf16d", (int_fast16_t)INT_MAX); + SNPRINTF_TEST("0", "%wf16u", (uint16_t)0); + SNPRINTF_TEST("4294967295", "%wf16u", (uint_fast16_t)UINT_MAX); + + SNPRINTF_TEST("0", "%wf32d", (int_fast32_t)0); + SNPRINTF_TEST("-2147483648", "%wf32d", (int_fast32_t)INT_MIN); + SNPRINTF_TEST("2147483647", "%wf32d", (int_fast32_t)INT_MAX); + SNPRINTF_TEST("0", "%wf32u", (uint32_t)0); + SNPRINTF_TEST("4294967295", "%wf32u", (uint_fast32_t)UINT_MAX); + + SNPRINTF_TEST("0", "%wf64d", (int_fast64_t)0); + SNPRINTF_TEST("-9223372036854775808", "%wf64d", (int_fast64_t)LLONG_MIN); + SNPRINTF_TEST("9223372036854775807", "%wf64d", (int_fast64_t)LLONG_MAX); + SNPRINTF_TEST("0", "%wf64u", (uint64_t)0); + SNPRINTF_TEST("18446744073709551615", "%wf64u", (uint_fast64_t)ULLONG_MAX); + + SNPRINTF_TEST("wfd", "%wfd", 0); + SNPRINTF_TEST("wf1d", "%wf1d", 0); + SNPRINTF_TEST("wf128d", "%wf128d", 0); +} + ATF_TP_ADD_TCS(tp) { setlocale(LC_NUMERIC, "en_US.UTF-8"); @@ -135,5 +199,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, snprintf_d); ATF_TP_ADD_TC(tp, snprintf_x); ATF_TP_ADD_TC(tp, snprintf_X); + ATF_TP_ADD_TC(tp, snprintf_wN); + ATF_TP_ADD_TC(tp, snprintf_wfN); return (atf_no_error()); } diff --git a/lib/libc/tests/stdio/sscanf_test.c b/lib/libc/tests/stdio/sscanf_test.c index 462b4a6586da..e916873d38c3 100644 --- a/lib/libc/tests/stdio/sscanf_test.c +++ b/lib/libc/tests/stdio/sscanf_test.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -237,6 +238,68 @@ ATF_TC_BODY(sscanf_i, tc) } } +ATF_TC_WITHOUT_HEAD(sscanf_wN); +ATF_TC_BODY(sscanf_wN, tc) +{ + const char x00[] = "0x00"; + const char x7f[] = "0x7fffffffffffffff"; + const char xff[] = "0xffffffffffffffff"; + +#define SSCANF_WN_TEST(N, imin, umax) \ + do { \ + int##N##_t i; \ + uint##N##_t u; \ + ATF_CHECK_EQ(1, sscanf(x00, "%w" #N "i", &i)); \ + ATF_CHECK_EQ(0, i); \ + ATF_CHECK_EQ(1, sscanf(x7f, "%w" #N "i", &i)); \ + ATF_CHECK_EQ(imin, i); \ + ATF_CHECK_EQ(1, sscanf(x00, "%w" #N "x", &u)); \ + ATF_CHECK_EQ(0, u); \ + ATF_CHECK_EQ(1, sscanf(xff, "%w" #N "x", &u)); \ + ATF_CHECK_EQ(umax, u); \ + } while (0) + SSCANF_WN_TEST(8, -1, UCHAR_MAX); + SSCANF_WN_TEST(16, -1, USHRT_MAX); + SSCANF_WN_TEST(32, -1, UINT_MAX); + SSCANF_WN_TEST(64, LLONG_MAX, ULLONG_MAX); +#undef SSCANF_WN_TEST + + ATF_CHECK_EQ(0, sscanf(x00, "%wi", (int *)NULL)); + ATF_CHECK_EQ(0, sscanf(x00, "%w1i", (int *)NULL)); + ATF_CHECK_EQ(0, sscanf(x00, "%w128i", (int *)NULL)); +} + +ATF_TC_WITHOUT_HEAD(sscanf_wfN); +ATF_TC_BODY(sscanf_wfN, tc) +{ + const char x00[] = "0x00"; + const char x7f[] = "0x7fffffffffffffff"; + const char xff[] = "0xffffffffffffffff"; + +#define SSCANF_WFN_TEST(N, imin, umax) \ + do { \ + int_fast##N##_t i; \ + uint_fast##N##_t u; \ + ATF_CHECK_EQ(1, sscanf(x00, "%wf" #N "i", &i)); \ + ATF_CHECK_EQ(0, i); \ + ATF_CHECK_EQ(1, sscanf(x7f, "%wf" #N "i", &i)); \ + ATF_CHECK_EQ(imin, i); \ + ATF_CHECK_EQ(1, sscanf(x00, "%wf" #N "x", &u)); \ + ATF_CHECK_EQ(0, u); \ + ATF_CHECK_EQ(1, sscanf(xff, "%wf" #N "x", &u)); \ + ATF_CHECK_EQ(umax, u); \ + } while (0) + SSCANF_WFN_TEST(8, -1, UINT_MAX); + SSCANF_WFN_TEST(16, -1, UINT_MAX); + SSCANF_WFN_TEST(32, -1, UINT_MAX); + SSCANF_WFN_TEST(64, LLONG_MAX, ULLONG_MAX); +#undef SSCANF_WFN_TEST + + ATF_CHECK_EQ(0, sscanf(x00, "%wfi", (int *)NULL)); + ATF_CHECK_EQ(0, sscanf(x00, "%wf1i", (int *)NULL)); + ATF_CHECK_EQ(0, sscanf(x00, "%wf128i", (int *)NULL)); +} + /* * Test termination cases: non-numeric character, fixed width, EOF */ @@ -261,6 +324,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, sscanf_d); ATF_TP_ADD_TC(tp, sscanf_x); ATF_TP_ADD_TC(tp, sscanf_i); + ATF_TP_ADD_TC(tp, sscanf_wN); + ATF_TP_ADD_TC(tp, sscanf_wfN); ATF_TP_ADD_TC(tp, sscanf_termination); return (atf_no_error()); } diff --git a/lib/libc/tests/stdio/swprintf_test.c b/lib/libc/tests/stdio/swprintf_test.c index 23859b5cd2e1..f5dde349412b 100644 --- a/lib/libc/tests/stdio/swprintf_test.c +++ b/lib/libc/tests/stdio/swprintf_test.c @@ -128,6 +128,70 @@ ATF_TC_BODY(swprintf_X, tc) SWPRINTF_TEST("0X007FFFFFFF", "%#012X", INT_MAX); } +ATF_TC_WITHOUT_HEAD(swprintf_wN); +ATF_TC_BODY(swprintf_wN, tc) +{ + SWPRINTF_TEST("0", "%w8d", (int8_t)0); + SWPRINTF_TEST("-128", "%w8d", (int8_t)CHAR_MIN); + SWPRINTF_TEST("127", "%w8d", (int8_t)CHAR_MAX); + SWPRINTF_TEST("0", "%w8u", (uint8_t)0); + SWPRINTF_TEST("255", "%w8u", (uint8_t)UCHAR_MAX); + + SWPRINTF_TEST("0", "%w16d", (int16_t)0); + SWPRINTF_TEST("-32768", "%w16d", (int16_t)SHRT_MIN); + SWPRINTF_TEST("32767", "%w16d", (int16_t)SHRT_MAX); + SWPRINTF_TEST("0", "%w16u", (uint16_t)0); + SWPRINTF_TEST("65535", "%w16u", (uint16_t)USHRT_MAX); + + SWPRINTF_TEST("0", "%w32d", (int32_t)0); + SWPRINTF_TEST("-2147483648", "%w32d", (int32_t)INT_MIN); + SWPRINTF_TEST("2147483647", "%w32d", (int32_t)INT_MAX); + SWPRINTF_TEST("0", "%w32u", (uint32_t)0); + SWPRINTF_TEST("4294967295", "%w32u", (uint32_t)UINT_MAX); + + SWPRINTF_TEST("0", "%w64d", (int64_t)0); + SWPRINTF_TEST("-9223372036854775808", "%w64d", (int64_t)LLONG_MIN); + SWPRINTF_TEST("9223372036854775807", "%w64d", (int64_t)LLONG_MAX); + SWPRINTF_TEST("0", "%w64u", (uint64_t)0); + SWPRINTF_TEST("18446744073709551615", "%w64u", (uint64_t)ULLONG_MAX); + + SWPRINTF_TEST("wd", "%wd", 0); + SWPRINTF_TEST("w1d", "%w1d", 0); + SWPRINTF_TEST("w128d", "%w128d", 0); +} + +ATF_TC_WITHOUT_HEAD(swprintf_wfN); +ATF_TC_BODY(swprintf_wfN, tc) +{ + SWPRINTF_TEST("0", "%wf8d", (int_fast8_t)0); + SWPRINTF_TEST("-2147483648", "%wf8d", (int_fast8_t)INT_MIN); + SWPRINTF_TEST("2147483647", "%wf8d", (int_fast8_t)INT_MAX); + SWPRINTF_TEST("0", "%wf8u", (uint8_t)0); + SWPRINTF_TEST("4294967295", "%wf8u", (uint_fast8_t)UINT_MAX); + + SWPRINTF_TEST("0", "%wf16d", (int_fast16_t)0); + SWPRINTF_TEST("-2147483648", "%wf16d", (int_fast16_t)INT_MIN); + SWPRINTF_TEST("2147483647", "%wf16d", (int_fast16_t)INT_MAX); + SWPRINTF_TEST("0", "%wf16u", (uint16_t)0); + SWPRINTF_TEST("4294967295", "%wf16u", (uint_fast16_t)UINT_MAX); + + SWPRINTF_TEST("0", "%wf32d", (int_fast32_t)0); + SWPRINTF_TEST("-2147483648", "%wf32d", (int_fast32_t)INT_MIN); + SWPRINTF_TEST("2147483647", "%wf32d", (int_fast32_t)INT_MAX); + SWPRINTF_TEST("0", "%wf32u", (uint32_t)0); + SWPRINTF_TEST("4294967295", "%wf32u", (uint_fast32_t)UINT_MAX); + + SWPRINTF_TEST("0", "%wf64d", (int_fast64_t)0); + SWPRINTF_TEST("-9223372036854775808", "%wf64d", (int_fast64_t)LLONG_MIN); + SWPRINTF_TEST("9223372036854775807", "%wf64d", (int_fast64_t)LLONG_MAX); + SWPRINTF_TEST("0", "%wf64u", (uint64_t)0); + SWPRINTF_TEST("18446744073709551615", "%wf64u", (uint_fast64_t)ULLONG_MAX); + + SWPRINTF_TEST("wfd", "%wfd", 0); + SWPRINTF_TEST("wf1d", "%wf1d", 0); + SWPRINTF_TEST("wf128d", "%wf128d", 0); +} + ATF_TP_ADD_TCS(tp) { setlocale(LC_NUMERIC, "en_US.UTF-8"); @@ -136,5 +200,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, swprintf_d); ATF_TP_ADD_TC(tp, swprintf_x); ATF_TP_ADD_TC(tp, swprintf_X); + ATF_TP_ADD_TC(tp, swprintf_wN); + ATF_TP_ADD_TC(tp, swprintf_wfN); return (atf_no_error()); } diff --git a/lib/libc/tests/stdio/swscanf_test.c b/lib/libc/tests/stdio/swscanf_test.c index 10eaf786e5fa..f7ad30b963a7 100644 --- a/lib/libc/tests/stdio/swscanf_test.c +++ b/lib/libc/tests/stdio/swscanf_test.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -11,6 +12,8 @@ #include +#define L(s) L ## s + static const struct swscanf_test_case { wchar_t input[8]; struct { @@ -150,7 +153,7 @@ static const struct swscanf_test_case { #define SWSCANF_TEST(string, format, expret, expval, explen) \ do { \ int ret = 0, val = 0, len = 0; \ - ret = swscanf(string, format "%n", &val, &len); \ + ret = swscanf(string, format L"%n", &val, &len); \ ATF_CHECK_EQ(expret, ret); \ if (expret && ret) { \ ATF_CHECK_EQ(expval, val); \ @@ -238,6 +241,68 @@ ATF_TC_BODY(swscanf_i, tc) } } +ATF_TC_WITHOUT_HEAD(swscanf_wN); +ATF_TC_BODY(swscanf_wN, tc) +{ + const wchar_t x00[] = L"0x00"; + const wchar_t x7f[] = L"0x7fffffffffffffff"; + const wchar_t xff[] = L"0xffffffffffffffff"; + +#define SWSCANF_WN_TEST(N, imin, umax) \ + do { \ + int##N##_t i; \ + uint##N##_t u; \ + ATF_CHECK_EQ(1, swscanf(x00, L"%w" L(#N) L"i", &i)); \ + ATF_CHECK_EQ(0, i); \ + ATF_CHECK_EQ(1, swscanf(x7f, L"%w" L(#N) L"i", &i)); \ + ATF_CHECK_EQ(imin, i); \ + ATF_CHECK_EQ(1, swscanf(x00, L"%w" L(#N) L"x", &u)); \ + ATF_CHECK_EQ(0, u); \ + ATF_CHECK_EQ(1, swscanf(xff, L"%w" L(#N) L"x", &u)); \ + ATF_CHECK_EQ(umax, u); \ + } while (0) + SWSCANF_WN_TEST(8, -1, UCHAR_MAX); + SWSCANF_WN_TEST(16, -1, USHRT_MAX); + SWSCANF_WN_TEST(32, -1, UINT_MAX); + SWSCANF_WN_TEST(64, LLONG_MAX, ULLONG_MAX); +#undef SWSCANF_WN_TEST + + ATF_CHECK_EQ(0, swscanf(x00, L"%wi", (int *)NULL)); + ATF_CHECK_EQ(0, swscanf(x00, L"%w1i", (int *)NULL)); + ATF_CHECK_EQ(0, swscanf(x00, L"%w128i", (int *)NULL)); +} + +ATF_TC_WITHOUT_HEAD(swscanf_wfN); +ATF_TC_BODY(swscanf_wfN, tc) +{ + const wchar_t x00[] = L"0x00"; + const wchar_t x7f[] = L"0x7fffffffffffffff"; + const wchar_t xff[] = L"0xffffffffffffffff"; + +#define SWSCANF_WFN_TEST(N, imin, umax) \ + do { \ + int_fast##N##_t i; \ + uint_fast##N##_t u; \ + ATF_CHECK_EQ(1, swscanf(x00, L"%wf" L(#N) L"i", &i)); \ + ATF_CHECK_EQ(0, i); \ + ATF_CHECK_EQ(1, swscanf(x7f, L"%wf" L(#N) L"i", &i)); \ + ATF_CHECK_EQ(imin, i); \ + ATF_CHECK_EQ(1, swscanf(x00, L"%wf" L(#N) L"x", &u)); \ + ATF_CHECK_EQ(0, u); \ + ATF_CHECK_EQ(1, swscanf(xff, L"%wf" L(#N) L"x", &u)); \ + ATF_CHECK_EQ(umax, u); \ + } while (0) + SWSCANF_WFN_TEST(8, -1, UINT_MAX); + SWSCANF_WFN_TEST(16, -1, UINT_MAX); + SWSCANF_WFN_TEST(32, -1, UINT_MAX); + SWSCANF_WFN_TEST(64, LLONG_MAX, ULLONG_MAX); +#undef SWSCANF_WFN_TEST + + ATF_CHECK_EQ(0, swscanf(x00, L"%wfi", (int *)NULL)); + ATF_CHECK_EQ(0, swscanf(x00, L"%wf1i", (int *)NULL)); + ATF_CHECK_EQ(0, swscanf(x00, L"%wf128i", (int *)NULL)); +} + /* * Test termination cases: non-numeric character, fixed width, EOF */ @@ -245,9 +310,9 @@ ATF_TC_WITHOUT_HEAD(swscanf_termination); ATF_TC_BODY(swscanf_termination, tc) { int a = 0, b = 0, c = 0; - char d = 0; + wchar_t d = 0; - ATF_CHECK_EQ(4, swscanf(L"3.1415", L"%d%c%2d%d", &a, &d, &b, &c)); + ATF_CHECK_EQ(4, swscanf(L"3.1415", L"%d%lc%2d%d", &a, &d, &b, &c)); ATF_CHECK_EQ(3, a); ATF_CHECK_EQ(14, b); ATF_CHECK_EQ(15, c); @@ -262,6 +327,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, swscanf_d); ATF_TP_ADD_TC(tp, swscanf_x); ATF_TP_ADD_TC(tp, swscanf_i); + ATF_TP_ADD_TC(tp, swscanf_wN); + ATF_TP_ADD_TC(tp, swscanf_wfN); ATF_TP_ADD_TC(tp, swscanf_termination); return (atf_no_error()); } From nobody Thu Sep 7 06:42:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mS5kVWz4slML; Thu, 7 Sep 2023 06:42:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mS4k0jz4MPb; Thu, 7 Sep 2023 06:42:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/AcwKSOgeg67SECf+XL2MoOJCodmjGzxHVCFacoG4c=; b=Cs2OpVTmSoHxsPobZ1PiVnsugWpE/CCDjr5mRA/KKLTHDx+a/k2nRELCJ8Pam1jK1MNxDh RdLcWGj2yYXKm1dKpsX081/yPAeCT8PbyCQCvcYGfGh5JSLu8AZRFhjuBGMWXW/+/1ZuTw ST4eHY0bG0LYFKXW9mlQw8ow1rHMS0ZUxSWsiKgOQe4sXf44MDrSiAIleWm4bCMszI7m3N bTGGgcCaMGruChoqlFxJMEjgybTbbAWkx1gCntjunHgqXnF6GgqXcXibmWMXun/dkgnXcE gL4WcFNjROYBgyrhNS3qUHPCfu1ufa79pVJNzzuY2tRoZM5nNXBD6hfwn0gPwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068920; a=rsa-sha256; cv=none; b=XyVk5Q8pqVwczYj2RB5tgoASW7N9NB67OPXxDM9+s1PTWBzFmK7Y+8AuiS1Q8OVZcR70ff zczCXfxtDDw4jKJdyXsF6C3veeZ9fLuOUKhLzRds9O8DQyZ8aXhmvKhOSq5tIF2tpTgYFB UfMK302ba4G0IjhNGYTp8tehfyvEhlTPF3efPE5D/DBG5Z7YswFyCVXPPmq7ilAKmMnUVe yKjzMgj1qcK0EtD//AShaQC7E5cHtbhP989uWK7RoacO5fapnXr/Aoq/0niBBk4BcTB+8I sN1XY5b6GcARR3HkbiBRNR6/2e2/sGC+1kb/dqWYTbuPS0EYgJC+VOc0ctBZ4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/AcwKSOgeg67SECf+XL2MoOJCodmjGzxHVCFacoG4c=; b=ArSE6bai2sCZXuNjFxRM4UdxflKLJmgC4PEUrKgyZiJ7mFLINq/5h4fIXj4wd9l4WHevI+ 8uYIsU0NTuIqL9U7h6JLpI7Ha2Wc/MccYwr8gMRs0HxpqUpMMreX8HS8wShmrdUwi7XiEB vwZY3qSHpM+j/hYHmCBdRCRMLCUosaIdmMPwKrgPrXaViMkzlSJD7T/JmrZITUXZmvMemi KOSyYMgAd3pbhp68J8QDhkST4+ndnthSvhR6EtTfXc7rj1XFMTveOLYfHAAgm2zf1YN0Dv Ymi6Bi5HTv/y/J0YeKe31RgUAPRrCMlMMgfA4lLopNNCcLxkzUTHdBMUYQLpiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mS3l0zzpYV; Thu, 7 Sep 2023 06:42:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876g0MW003090; Thu, 7 Sep 2023 06:42:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876g0h0003087; Thu, 7 Sep 2023 06:42:00 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:42:00 GMT Message-Id: <202309070642.3876g0h0003087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e6615b10347c - main - include: Implement N2867. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6615b10347caf67f5bc12c9a8e30b8ddd9860ae Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6615b10347caf67f5bc12c9a8e30b8ddd9860ae commit e6615b10347caf67f5bc12c9a8e30b8ddd9860ae Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:54 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 include: Implement N2867. This adds macros for checked addition, subtraction, and multiplication with semantics similar to the builtins gcc and clang have had for years. Reviewed by: kib, emaste Differential Revision: https://reviews.freebsd.org/D41734 --- include/Makefile | 2 +- include/stdckdint.h | 40 +++++++++++++++++ share/man/man3/Makefile | 4 ++ share/man/man3/stdckdint.3 | 106 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 151 insertions(+), 1 deletion(-) diff --git a/include/Makefile b/include/Makefile index 1d7651216cf9..bc1cfd96dfc9 100644 --- a/include/Makefile +++ b/include/Makefile @@ -30,7 +30,7 @@ INCS= a.out.h ar.h assert.h bitstring.h byteswap.h \ pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \ res_update.h resolv.h runetype.h sched.h \ search.h semaphore.h setjmp.h \ - signal.h spawn.h stab.h stdalign.h stdbool.h stddef.h \ + signal.h spawn.h stab.h stdalign.h stdbool.h stdckdint.h stddef.h \ stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \ strings.h sysexits.h tar.h termios.h tgmath.h \ time.h timeconv.h timers.h ttyent.h \ diff --git a/include/stdckdint.h b/include/stdckdint.h new file mode 100644 index 000000000000..af3074dded89 --- /dev/null +++ b/include/stdckdint.h @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2023 Dag-Erling Smørgrav + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef __STDC_VERSION_STDCKDINT_H__ +#define __STDC_VERSION_STDCKDINT_H__ 202311L + +#include + +#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2023 + +#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_add_overflow) +#define ckd_add(result, a, b) \ + (_Bool)__builtin_add_overflow((a), (b), (result)) +#else +#define ckd_add(result, a, b) \ + _Static_assert(0, "checked addition not supported") +#endif + +#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_sub_overflow) +#define ckd_sub(result, a, b) \ + (_Bool)__builtin_sub_overflow((a), (b), (result)) +#else +#define ckd_sub(result, a, b) \ + _Static_assert(0, "checked subtraction not supported") +#endif + +#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_mul_overflow) +#define ckd_mul(result, a, b) \ + (_Bool)__builtin_mul_overflow((a), (b), (result)) +#else +#define ckd_mul(result, a, b) \ + _Static_assert(0, "checked multiplication not supported") +#endif + +#endif + +#endif diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 5aec58492b8f..7fff5eedd5fb 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -29,6 +29,7 @@ MAN= arb.3 \ snl.3 \ stats.3 \ stdarg.3 \ + stdckdint.3 \ sysexits.3 \ tgmath.3 \ timeradd.3 \ @@ -310,6 +311,9 @@ MLINKS+= stdarg.3 va_arg.3 \ stdarg.3 va_end.3 \ stdarg.3 varargs.3 \ stdarg.3 va_start.3 +MLINKS+= stdckdint.3 ckd_add.3 \ + stdckdint.3 ckd_sub.3 \ + stdckdint.3 ckd_mul.3 MLINKS+= timeradd.3 timerclear.3 \ timeradd.3 timercmp.3 \ timeradd.3 timerisset.3 \ diff --git a/share/man/man3/stdckdint.3 b/share/man/man3/stdckdint.3 new file mode 100644 index 000000000000..e3593472c08b --- /dev/null +++ b/share/man/man3/stdckdint.3 @@ -0,0 +1,106 @@ +.\"- +.\" Copyright (c) 2023 Dag-Erling Smørgrav +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd September 5, 2023 +.Dt STDCKDINT 3 +.Os +.Sh NAME +.Nm stdckdint +.Nd checked integer arithmetic +.Sh SYNOPSIS +.In stdckdint.h +.Ft bool +.Fn ckd_add "type1 *result" "type2 a" "type3 b" +.Ft bool +.Fn ckd_sub "type1 *result" "type2 a" "type3 b" +.Ft bool +.Fn ckd_mul "type1 *result" "type2 a" "type3 b" +.Sh DESCRIPTION +The function-like macros +.Nm ckd_add , +.Nm ckd_sub , +and +.Nm ckd_mul +perform checked integer addition, subtraction, and multiplication, +respectively. +If the result of adding, subtracting, or multiplying +.Fa a +and +.Fa b +as if their respective types had infinite range fits in +.Ft type1 , +it is stored in the location pointed to by +.Fa result +and the macro evaluates to +.Dv false . +Otherwise, the macro evaluates to +.Dv true +and the contents of the location pointed to by +.Fa result +is the result of the operation wrapped to the range of +.Ft type1 . +.Sh RETURN VALUES +The +.Nm ckd_add , +.Nm ckd_sub , +and +.Nm ckd_mul +macros evaluate to +.Dv true +if the requested operation overflowed the result type and +.Dv false +otherwise. +.Sh EXAMPLES +.Bd -literal -offset indent +#include +#include +#include + +int main(void) +{ + int result; + + assert(!ckd_add(&result, INT_MAX, 0)); + assert(result == INT_MAX); + assert(ckd_add(&result, INT_MAX, 1)); + assert(result == INT_MIN); + + assert(!ckd_sub(&result, INT_MIN, 0)); + assert(result == INT_MIN); + assert(ckd_sub(&result, INT_MIN, 1)); + assert(result == INT_MAX); + + assert(!ckd_mul(&result, INT_MAX / 2, 2)); + assert(result == INT_MAX - 1); + assert(ckd_mul(&result, INT_MAX / 2 + 1, 2)); + assert(result == INT_MIN); + + return 0; +} +.Ed +.\" .Sh STANDARDS +.\" The +.\" .Nm ckd_add , +.\" .Nm ckd_sub , +.\" and +.\" .Nm ckd_mul +.\" macros conform to +.\" .St -isoC-23 . +.Sh HISTORY +The +.Nm ckd_add , +.Nm ckd_sub , +and +.Nm ckd_mul +macros were first introduced in +.Fx 14.0 . +.Sh AUTHORS +The +.Nm ckd_add , +.Nm ckd_sub , +and +.Nm ckd_mul +macros and this manual page were written by +.An Dag-Erling Sm\(/orgrav Aq Mt des@FreeBSD.org . From nobody Thu Sep 7 06:42:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mT65X1z4slMP; Thu, 7 Sep 2023 06:42:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mT5c4qz4MVh; Thu, 7 Sep 2023 06:42:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DtMX9HGMWkA3RS3471IN8zFnPeAA1nFvsq9FfnAnwu0=; b=DnZYHLM9hCgbSDY26cbKQq9NObQEklkEgOE1r2yk7X0qAwu0SmOm/gjfu6clt0x9LwMvRs 69ud4Za1zQ+rR58UGVL2ec0ieVhA2R3k5fc2uavPeY1XMge0qAeQDaQLQaJb4yCLaCD5f8 fEczSgPp856qK09Qm9ZYtRlJAnDRiwScEqkhzNvPxbJy/ZdFhhSZEiwPDaILeB4QnzDuMz SpG9768GPryrgKClZjfXbKjJvOW1efu7AidMIIsKVV2zemMj3zPioFSpqwWDcCJFtug7Av sxxpo00uYj/u6TpvInyypxF8s+8jIeWF6Kh2J3Aui1aeOLMVIuJbpHEWN+p8+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068921; a=rsa-sha256; cv=none; b=qb7XcXbqTX9BWQb6rz+kJVnFlrK9CinFKG3QXASafIamSLKkz8eRZp78JJS3f/3U3LsVDX 9CY+HlkqSTIShUxxW7PqXsY5oO87qo8oCfe1m8ehiGIQ4WW2uUihrZj/J62i3GwIslcpSI T9rHYP4VHHKU1sC/2OBZBRK+LtnZ13qQ0LPb9EhRReC6BVDhlUsFP3RyWbEvaY8MeolumV MmJ9FPvD05FxDZbmp3vTjY4LNUaYHnv/qu8u2wMt5dxon9NZwsaCTgljKpAL3OfWyN/b7r IQCE/7migjJHzVccLMCjxElTsRzsO6mDQ+UD7OL/FaGGX7sSrfGShbosK7neyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DtMX9HGMWkA3RS3471IN8zFnPeAA1nFvsq9FfnAnwu0=; b=Q3gW4g0O8bjYwYRQqsAV/7mE48BtJ7PcPJ22dL1ss8r9iLbeQbBK5fvh7iQmXrsKNJwXh4 FzcWSrzzhGFgDm1qC6PaqH1DFUZsd8k7UmjRovtROZ3xw+9ugIeuayvlWYijKU2zi58HQJ FLSgDYHXQMMyS1nbjLN8XWe5Md/aompVT5ZWZPXJL5Owgc3dYyadj5se+1ybm+cn20dPJE ZLkdcJQiJZGe7J7OniDVtTJ0jTR5SfHWraCfKacK+lQDsXSU/33/Q8THGVrIT7atw5KCPA gjOTyxX0tAq8h9TREnYKbaebxmqzDqF1jooIiW5bsCJXdPzD8vbp4RGTLQZaCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mT4jCqzpNN; Thu, 7 Sep 2023 06:42:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876g1Qp003135; Thu, 7 Sep 2023 06:42:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876g1Ax003132; Thu, 7 Sep 2023 06:42:01 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:42:01 GMT Message-Id: <202309070642.3876g1Ax003132@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 4fbb9c43aa44 - main - include: Add tests for N2867. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4fbb9c43aa44d9145151bb5f77d302ba01fb7551 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4fbb9c43aa44d9145151bb5f77d302ba01fb7551 commit 4fbb9c43aa44d9145151bb5f77d302ba01fb7551 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:14:59 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 include: Add tests for N2867. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D41735 --- etc/mtree/BSD.tests.dist | 2 ++ tests/Makefile | 1 + tests/include/Makefile | 7 ++++++ tests/include/stdckdint_test.c | 52 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index fb755b4001ac..04dc24d772c8 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -278,6 +278,8 @@ .. .. .. + include + .. lib atf libatf-c diff --git a/tests/Makefile b/tests/Makefile index bd20d063ca71..09c0fbc62a2e 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -9,6 +9,7 @@ KYUAFILE= yes SUBDIR+= etc SUBDIR+= examples +SUBDIR+= include SUBDIR+= sys SUBDIR+= atf_python diff --git a/tests/include/Makefile b/tests/include/Makefile new file mode 100644 index 000000000000..e98d08da1f2b --- /dev/null +++ b/tests/include/Makefile @@ -0,0 +1,7 @@ +.include + +TESTSDIR= ${TESTSBASE}/include + +ATF_TESTS_C+= stdckdint_test + +.include diff --git a/tests/include/stdckdint_test.c b/tests/include/stdckdint_test.c new file mode 100644 index 000000000000..89262bbd5500 --- /dev/null +++ b/tests/include/stdckdint_test.c @@ -0,0 +1,52 @@ +/*- + * Copyright (c) 2023 Dag-Erling Smørgrav + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include + +#include + +ATF_TC_WITHOUT_HEAD(ckd_add); +ATF_TC_BODY(ckd_add, tc) +{ + int result; + + ATF_CHECK(!ckd_add(&result, INT_MAX, 0)); + ATF_CHECK_EQ(INT_MAX, result); + ATF_CHECK(ckd_add(&result, INT_MAX, 1)); + ATF_CHECK_EQ(INT_MIN, result); +} + +ATF_TC_WITHOUT_HEAD(ckd_sub); +ATF_TC_BODY(ckd_sub, tc) +{ + int result; + + ATF_CHECK(!ckd_sub(&result, INT_MIN, 0)); + ATF_CHECK_EQ(INT_MIN, result); + ATF_CHECK(ckd_sub(&result, INT_MIN, 1)); + ATF_CHECK_EQ(INT_MAX, result); +} + +ATF_TC_WITHOUT_HEAD(ckd_mul); +ATF_TC_BODY(ckd_mul, tc) +{ + int result; + + ATF_CHECK(!ckd_mul(&result, INT_MAX / 2, 2)); + ATF_CHECK_EQ(INT_MAX - 1, result); + ATF_CHECK(ckd_mul(&result, INT_MAX / 2 + 1, 2)); + ATF_CHECK_EQ(INT_MIN, result); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, ckd_add); + ATF_TP_ADD_TC(tp, ckd_sub); + ATF_TP_ADD_TC(tp, ckd_mul); + return (atf_no_error()); + +} From nobody Thu Sep 7 06:42:02 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rh8mW09YYz4slGT; Thu, 7 Sep 2023 06:42:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rh8mV6SbFz4MWL; Thu, 7 Sep 2023 06:42:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=imTXKF3Fc2TIC6yfiZRtV7kpX/f5BeE62mZKRu1dBJQ=; b=GOnP3nhCtWcLF6avVFTJpWEb4/1lsoq+7tmETxHqMcYC4zmsTjXAF0TcX61o0kmhK95e0h x5HWqfEEhHzaSB1rihHxlPhrslR2vSwPOzMpu77NdbKd+SDGL69EB8e/le5OFWTV8sE15O zuw86aI7CQg4sJhuzHdvasIVRjk2RSs/iYLdT7I+ixLhbF3ba5+ooCZFF4dVSQdejxmW4q 59XF700EjAmYi8QYvKyd9rfGySCAZpNqyvPX73IssQlON/15baUnVApoP5ktD5tmHrXyFs wyR/5/6EckUQPQOh+kHpumZskFRm9ExIGM38QVdSVSThCKuuxvT65nBLtdfbag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694068922; a=rsa-sha256; cv=none; b=VRAQPIcbEt2Id5u6KOkq+90Tvvk6EHyd+sdj4RyF9T6/CP0f+drfpRmdT0L5ya6BuvVql0 r5sMIMgYu5DbVDu6JzZZtPPNkVHcjqW0EK7oBOQe3E6eBG5v8nH21BvnVyplAsLYS6buye P+211nbEpETI9XWDQNAj9GPDPsIQQRIGhwPtBAixRVF8QnXOvcKWSenxFCWN/SbS1KkCaX ncQVqyseOe6QLNeJcv4oNmu78eEKURZaQWnkZuORNTRnv3ykC49h/vXfCmPPyF2WbGgy8Q Y7TdXkysr5rHn4NwLVrhn7KkJgs0n6sEoR+8rjdmNfKO7SHvjHXlXa7WvFRFjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694068922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=imTXKF3Fc2TIC6yfiZRtV7kpX/f5BeE62mZKRu1dBJQ=; b=U5gjlGQjRyVlyhTuz0MpuzYXY1g8F5w5QFD9ZKFhZljWav+wCnjkULncla3TgLb6AT/n+g zBkIIZJc2WekuYVwrhMHDwXeOMNP9IlVxBug3F7KQP8FXBYsuL+B7FM62kk8SX0fGT7bDG Vukk6K9EpMj/wo3836cHok0BdtZvtHW3S47ATG9ehjdKZu/0nfY+lHr51kT+oILNCNylG+ 9r0FcKHiH6Sb1SkOL8xSSeF/46PhXuexsFLeDR0848ksYSzarCUI9GKF31oeBW1zD27gKY EMKt6Zv1ZeYSqYb7yvfo85DEdHdQRTfaWhx5TrwpsNadUjzsphwtER9GezW5Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rh8mV5WG8zpXw; Thu, 7 Sep 2023 06:42:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3876g2Qf003180; Thu, 7 Sep 2023 06:42:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3876g2xH003177; Thu, 7 Sep 2023 06:42:02 GMT (envelope-from git) Date: Thu, 7 Sep 2023 06:42:02 GMT Message-Id: <202309070642.3876g2xH003177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: cb8dd292c7ec - main - less: We have now. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb8dd292c7ec53391dfa25847858dd7ef895f94e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cb8dd292c7ec53391dfa25847858dd7ef895f94e commit cb8dd292c7ec53391dfa25847858dd7ef895f94e Author: Dag-Erling Smørgrav AuthorDate: 2023-09-07 06:15:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-07 06:40:14 +0000 less: We have now. Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D41736 --- usr.bin/less/defines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/less/defines.h b/usr.bin/less/defines.h index 018d98a48162..ed9c2603970c 100644 --- a/usr.bin/less/defines.h +++ b/usr.bin/less/defines.h @@ -327,7 +327,7 @@ #define HAVE_STAT_INO 1 /* Define to 1 if you have the header file. */ -/* #undef HAVE_STDCKDINT_H */ +#define HAVE_STDCKDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 From nobody Thu Sep 7 12:36:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhJdJ01Flz4sfWL; Thu, 7 Sep 2023 12:36:20 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhJdH6gs9z3Y67; Thu, 7 Sep 2023 12:36:19 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694090179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bu300rOZ9oOBRNPqLj1CFbBXR3ltGHoQ3dkIpQPMo+k=; b=MWYKY0qMrB0HfbkoX7hLjk/Jj3X6agBFuQ00CFA0Rq8orAjpRIdn9w+iayBbTcyqGYqP87 sbfF9WYxbL0eAeDcL12zBfvPm90sWo+56/Ppby3huFeIdfhD3N8kaf12h69N8cL/qovUEq rQKI5XtfQpvtZApvMdPC5t8bLtsYgUVOC2nFsgdagIAPdjxMHyMOqsTB+ic9YSzQ1ymOOr 6xZ4wnn9kd/Q7wuHCKGipmf7bv+51w7tlCqcGL2ij3qlblwcs1ptOO4JS/aNlF1m819Q5L 0MKey+NkiqnoIcKJrFBb4IAU5bqAx556GPz1TfyyL8La+aGsmrmg1dqTkSVDnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694090179; a=rsa-sha256; cv=none; b=BCwvsGRwbHu2EJsVLn0J4+H5RMJlCr9FLRVT0oF9uvrP8J+rSdehuFG9ldIG5uvCt1jxov hSsexTqubFPXociXSN6Sl/rN7Ir2m+O5c122WTxtW+2MPCYs4+NyfW8WLEmHk++KaEB0H4 jaMpfwQFed8o9KQzxUMKnP/Zv/RMsr3umHVfgrBnEB5e7JUMgxH8ukaRskRxJNOyayXdz5 k5W8MrVZV6LoDOjQY0fcMkYdGYJCvO8qdLFKhc9S9XpHyEpjxzOWByEUeLGOX284OYJNrj bamL0juvM97bw+9u89vgMW59fgD/K6JAs75FRdSiQnPjX467yRibTVX3YDZQ9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694090179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bu300rOZ9oOBRNPqLj1CFbBXR3ltGHoQ3dkIpQPMo+k=; b=sHf8bud6JPK6xAPmn9SPXI7hf2OGcQjkNGF0hMt5sCE/JhpxZ6dgOohotRhNrlobh0W5Kf IUvG4V6xO37g+MGx3SyTcW6d3SVvchrwd42u0DUCZRt/FboreSVlnJimICba1EXsb+Zh2B +yYq3jjLd5DgtrnYbnx9Grg/ZpzcPDO9QDdtUanlZSgV+3whYYoZzzpOu0gianTs4HZKwC HOve6j2JCRrY3Ku4K0AzJEKfomqPuzoc//XrOqXDUlysZqVAcFNX6BwO8AWdzuwnLzEuwf cf4ERwv9jUDdOKy3HJyMwKbW87BHGJJBvUjOVOAFDDTLpUJqge/vO/aq0BOamA== Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RhJdH4N0Jz1B1K; Thu, 7 Sep 2023 12:36:19 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id DD17A8D4A179; Thu, 7 Sep 2023 12:36:16 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 04BE12D029D2; Thu, 7 Sep 2023 12:36:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id FszcdvmIr3b1; Thu, 7 Sep 2023 12:36:15 +0000 (UTC) Received: from strong-aiccu0.sbone.de (strong-aiccu0.sbone.de [IPv6:fde9:577b:c1a9:f491::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id B51EF2D029D1; Thu, 7 Sep 2023 12:36:14 +0000 (UTC) Date: Thu, 7 Sep 2023 12:36:13 +0000 (UTC) From: "Bjoern A. Zeeb" To: John Baldwin cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. In-Reply-To: <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> Message-ID: <4sr8n9or-q731-1945-893s-no953r283756@SerrOFQ.bet> References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Wed, 6 Sep 2023, John Baldwin wrote: > On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: >> On Wed, 6 Sep 2023, John Baldwin wrote: >> >>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: >>>> The branch main has been updated by bz: >>>> >>>> URL: >>>> https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>>> >>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>>> Author: Bjoern A. Zeeb >>>> AuthorDate: 2023-06-08 21:35:09 +0000 >>>> Commit: Bjoern A. Zeeb >>>> CommitDate: 2023-09-05 21:13:18 +0000 >>>> >>>> rtw88/rtw89: remove local firmware. >>>> Remove firmware from src/ in favor of the ports/packages and >>>> fwget(8). >>>> This will allow us to shrink the size of src (and installed >>>> modules). >>>> Update the rtw88 man page to reflect the change. >>> >>> How does this interfact with doing an install to a machine over one of >>> these >>> interfaces? >> >> That's nothing we support. At least we do not support netboot over wifi >> currently, so you'll always need another install media. >> >> How's the "bootstrapping" going to work if wireless is the only network >> option? > > To be clear, I was discussing the case you use a USB memstick, but fetch > the base system and packages over the network. Understood. Not sure we actually support the former; I guess I am not using the installer too much. > Or at least you need to > install pkg over the network, but you need pkg to install the firmware > so you can bring up the network which you did address, though it seems > something we plan to fix in the future so won't be in 14.0? Yes. We plan to sort this out but I'd say it's unlikely for 14.0. And to be clear, it was me who raised exactly these "botstrapping" installer concerns in the first place. At the moment we will first need stable drivers to be able to do any networking in first place. Once that is sorted, installing mobile devices with just them and no other means of networking will be addressed. I'd assume some other "fallout" will improve some installer bits along when this happens and that we'll want enough and brought testing for it. /bz -- Bjoern A. Zeeb r15:7 From nobody Thu Sep 7 13:22:07 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhKfP5ZHmz4rsqZ for ; Thu, 7 Sep 2023 13:22:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhKfP4rfpz4H4h for ; Thu, 7 Sep 2023 13:22:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5280ef23593so1196612a12.3 for ; Thu, 07 Sep 2023 06:22:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1694092939; x=1694697739; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YNSku54EQ6HtcMdL5h75EjaMPhjmPh3rTJBbm6BVpxk=; b=q2pdsIi/mk2XQCsH9ocXe9p4qGw57BXGG7+IJ1VxmxBBi1oft996oE2hcOTijBq9Yv 1gIKtVUsS2I8/jsW+cS09uWTuM7u8TgXDxfmQ0lIt7vayY7BtpvmhfSnS0WKscNQP4ag 3esZIn4Ri2Fe0GM19Hc9flMc2snmeClF8VkNJwMjhenfqx5kfx7GtRVUC8NYDoO6uSLY FUCC6WIyYeJ7gOJOm/YAyCbguY5lzyDL/+98eAX1P3zhhNsUHzX7902TO25WXypvPpqT buggPpWET5CB9ZjpJlJJdkKFcK1cb58rKjUDdRjHhKZUIOXQaCH2nHt5r2Lj+thJj4zQ tuDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694092939; x=1694697739; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YNSku54EQ6HtcMdL5h75EjaMPhjmPh3rTJBbm6BVpxk=; b=KeMVeLl8wjpNLw8iTK1ylaDGAsfl+YGUTYx2ydB4UVLXZAGNfKZ4fCkvXJVmBldwZj ekWtNLukRUuCJMsf1xdrFYrNpKLn+yZEw9FTbL8b7A4/7xPv4y7/b8WhX77ZFUYhm27d 2XR+DsJvY2Yvx6qIoiXJ4rAZeQtI/5aLt3aUtcllO0PiXmH6kmvBVjfw8KLBL3hTnREJ eN3TtZyjAj1zjwJXzauNMLG148MFvcibF8alM9cFLI+pGNYYQcs6/paqkYC3fOEndaXD UG8ICUl2V3DkRJCI3mHU1VoeQAHmIt01DqzKCv2kAdGErKP/Qy7jrgDzegrf3fchK55j ggZA== X-Gm-Message-State: AOJu0YzUVR3X20pV4IcuMd0OUMGs1PXxVWuzD1U1qeZtujwrAour49lF HcgyPASFEtST4JjjKJPSNWKSRSWnIDahFzMGIHbn7Q== X-Google-Smtp-Source: AGHT+IG3j+YbdOTz934VXt0Sq8Ogp8c7JOdymwn5GGEu6DJtqsaUdfhndBLKjFzg2I3FLzZx4IZBWAKwkBK+yuLxKTA= X-Received: by 2002:aa7:df0c:0:b0:522:6e3f:b65 with SMTP id c12-20020aa7df0c000000b005226e3f0b65mr4291983edy.33.1694092939277; Thu, 07 Sep 2023 06:22:19 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> <4sr8n9or-q731-1945-893s-no953r283756@SerrOFQ.bet> In-Reply-To: <4sr8n9or-q731-1945-893s-no953r283756@SerrOFQ.bet> From: Warner Losh Date: Thu, 7 Sep 2023 07:22:07 -0600 Message-ID: Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. To: "Bjoern A. Zeeb" Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000dcd05f0604c4bf55" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4RhKfP4rfpz4H4h --000000000000dcd05f0604c4bf55 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 7, 2023 at 6:36=E2=80=AFAM Bjoern A. Zeeb wrot= e: > On Wed, 6 Sep 2023, John Baldwin wrote: > > > On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: > >> On Wed, 6 Sep 2023, John Baldwin wrote: > >> > >>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: > >>>> The branch main has been updated by bz: > >>>> > >>>> URL: > >>>> > https://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62= bbfc8dbe5 > >>>> > >>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 > >>>> Author: Bjoern A. Zeeb > >>>> AuthorDate: 2023-06-08 21:35:09 +0000 > >>>> Commit: Bjoern A. Zeeb > >>>> CommitDate: 2023-09-05 21:13:18 +0000 > >>>> > >>>> rtw88/rtw89: remove local firmware. > >>>> Remove firmware from src/ in favor of the ports/packages > and > >>>> fwget(8). > >>>> This will allow us to shrink the size of src (and installed > >>>> modules). > >>>> Update the rtw88 man page to reflect the change. > >>> > >>> How does this interfact with doing an install to a machine over one o= f > >>> these > >>> interfaces? > >> > >> That's nothing we support. At least we do not support netboot over wi= fi > >> currently, so you'll always need another install media. > >> > >> How's the "bootstrapping" going to work if wireless is the only networ= k > >> option? > > > > To be clear, I was discussing the case you use a USB memstick, but fetc= h > > the base system and packages over the network. > > Understood. Not sure we actually support the former; I guess I am not > using the installer too much. > > > > Or at least you need to > > install pkg over the network, but you need pkg to install the firmware > > so you can bring up the network which you did address, though it seems > > something we plan to fix in the future so won't be in 14.0? > > Yes. We plan to sort this out but I'd say it's unlikely for 14.0. > > And to be clear, it was me who raised exactly these "botstrapping" > installer concerns in the first place. > > At the moment we will first need stable drivers to be able to do any > networking in first place. Once that is sorted, installing mobile > devices with just them and no other means of networking will be > addressed. > Yea, the rtw88 driver is stable enough for me to do a network install over it. So now people with -current can't do that any more and have to do hokey things to get the firmware or other packages to the laptop before they can do anything. This is not really going to make people happy and will generate a fair number of complaints. I'd assume some other "fallout" will improve some installer bits along > when this happens and that we'll want enough and brought testing for it. > It sounds rather premature to remove it from -current if there's no support in the installer, and nothing in place that adds the packages to the installation media with no firm plans or timelines to address that. Warner --000000000000dcd05f0604c4bf55 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Sep 7, 2023 at 6:36=E2=80=AFA= M Bjoern A. Zeeb <bz@freebsd.org&g= t; wrote:
On Wed= , 6 Sep 2023, John Baldwin wrote:

> On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote:
>> On Wed, 6 Sep 2023, John Baldwin wrote:
>>
>>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote:
>>>> The branch main has been updated by bz:
>>>>
>>>> URL:
>>>> h= ttps://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62bbf= c8dbe5
>>>>
>>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5
>>>> Author:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.o= rg>
>>>> AuthorDate: 2023-06-08 21:35:09 +0000
>>>> Commit:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.o= rg>
>>>> CommitDate: 2023-09-05 21:13:18 +0000
>>>>
>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0rtw88/rtw89: remove local firmwa= re.
>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Remove firmware f= rom src/ in favor of the ports/packages and
>>>> fwget(8).
>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0This will allow us to shrink the= size of src (and installed
>>>> modules).
>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0Update the rtw88 man page to ref= lect the change.
>>>
>>> How does this interfact with doing an install to a machine ove= r one of
>>> these
>>> interfaces?
>>
>> That's nothing we support.=C2=A0 At least we do not support ne= tboot over wifi
>> currently, so you'll always need another install media.
>>
>> How's the "bootstrapping" going to work if wireless = is the only network
>> option?
>
> To be clear, I was discussing the case you use a USB memstick, but fet= ch
> the base system and packages over the network.

Understood.=C2=A0 Not sure we actually support the former;=C2=A0 I guess I = am not
using the installer too much.


> Or at least you need to
> install pkg over the network, but you need pkg to install the firmware=
> so you can bring up the network which you did address, though it seems=
> something we plan to fix in the future so won't be in 14.0?

Yes.=C2=A0 We plan to sort this out but I'd say it's unlikely for 1= 4.0.

And to be clear, it was me who raised exactly these "botstrapping"= ;
installer concerns in the first place.

At the moment we will first need stable drivers to be able to do any
networking in first place.=C2=A0 =C2=A0Once that is sorted, installing mobi= le
devices with just them and no other means of networking will be
addressed.

Yea, the rtw88 driver is sta= ble enough for me to do a network install
over it. So now people = with -current can't do that any more and have
to do hokey thi= ngs to get the firmware or other packages to the laptop
before th= ey can do anything. This is not really going to make people
happy= and will generate a fair number of complaints.

I'd assume some other "= fallout" will improve some installer bits along
when this happens and that we'll want enough and brought testing for it= .

It sounds rather premature to remove = it from -current if there's no support
in the installer, and = nothing in place that adds the packages to the installation
media= with no firm plans or timelines to address that.

= Warner
--000000000000dcd05f0604c4bf55-- From nobody Thu Sep 7 13:38:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhL0x4sCRz4s3f7; Thu, 7 Sep 2023 13: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhL0x4FHyz4LQ8; Thu, 7 Sep 2023 13: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=1694093905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0TfuFoD3deyCcDM2N3nBBdyULmjZsO6rEighEYxGAc=; b=eoJcf8g35xToLtA2MAkNFmlVZGqFehhxU2SpwuP/42WUZRe21tmFepFFkrRMdavIYDj0LO JXjKj0Ypr45We4ulUlUzCf7DbrlZdjXZWCLLzDWA91nrGWoPW7pMssxPsEWXCxYOPW5aaA QPLyW8m3BhjaFwYkrpFIuNuuJLZR3lrK3dgq/cTNjZoW7A7BbrfC0KxBc79gpwMzqTD3ib O3rkIr5kD3+jtr3tK8GPWvQmj/MCclSgPaEYTfVcCd0usnAEl27aTNwJwLgjGCY/jRwe4U /wUkrK3CzLP3QDnlqSNRwQdusv0lToqUeKL5+lcpvRI+++//o5DC696+I2johQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694093905; a=rsa-sha256; cv=none; b=aRDC47el7eCx+LZBU19kYCPqdaWF2H69E8V2GLP6MxMAfs0EqN05fDxptmRHzdZOVBh2+/ tnTlOxMH5trS0LHB/b3kZtWanhZjTF0FmdEeF0ru3ZDDF2k5Zvh8k8QkMQ5pov7yIEdytW BQ2jRN9GTkp91MofQb6IiHi71dbHVnHfg1BuyLJ2c3RzzIOHFU17VVELj0ouvya+kFP+Sn p8lBgQDQD65bCOyq7qxrMx69lQX4ccFJWH71bPiSUck1zeUoXtKxRYLye5yqhRf5JA+Dba Xc8VeXh4PJ2LdgmtR/aJPO/APr3sM3/sdguvbFCbpLj2O4sGDXjfpyVRikfeNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694093905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0TfuFoD3deyCcDM2N3nBBdyULmjZsO6rEighEYxGAc=; b=sGxsDdKZCidLhbgTCb3M08wZmweofJdpFxQKOOAZOsAR8qisk2zlHi8srHZpIK2atgAZBC kXyWUY5aNylXaZV/lwGITA4tC+z+sgNLcc3SumW1IVHTyHNSUePwUYcYtkLHuO+rkNoNEn q5XrQgM4KL/1nJK3PVWFSJUB7efce1zDApFrAHA9oPdKV7hHaX0CL0ujQPSoKEiucHqxMb sH9SinQnc+miuNK6wC36h4satMs5L1t6Gd6kY1w9hw2c46v6OL6UXBJuHHwERFj1OvjSuM HUKZtRBxYzpdSRdh4CuxZw7mmAnDbyjhompGS3tmHF3y8vgi+xRSdt0/TdqFOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhL0x3Fhxz11f1; Thu, 7 Sep 2023 13:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387DcPQY082654; Thu, 7 Sep 2023 13:38:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387DcPYE082651; Thu, 7 Sep 2023 13:38:25 GMT (envelope-from git) Date: Thu, 7 Sep 2023 13:38:25 GMT Message-Id: <202309071338.387DcPYE082651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 5f62584a9adb - main - gve: Make LRO work for jumbo packets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f62584a9adb7887bae33af617cfa4f43017abf8 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5f62584a9adb7887bae33af617cfa4f43017abf8 commit 5f62584a9adb7887bae33af617cfa4f43017abf8 Author: Shailend Chand AuthorDate: 2023-09-07 13:28:26 +0000 Commit: Mark Johnston CommitDate: 2023-09-07 13:28:26 +0000 gve: Make LRO work for jumbo packets Each Rx descriptor points to a packet buffer of size 2K, which means that MTUs greater than 2K see multi-descriptor packets. The TCP-hood of such packets was being incorrectly determined by looking for a flag on the last descriptor instead of the first descriptor. Also fixed and progressed the version number. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41754 --- sys/dev/gve/gve.h | 1 + sys/dev/gve/gve_main.c | 8 ++++---- sys/dev/gve/gve_rx.c | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 61781cddee94..c446199dff2d 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -164,6 +164,7 @@ struct gve_rx_ctx { struct mbuf *mbuf_tail; uint32_t total_size; uint8_t frag_cnt; + bool is_tcp; bool drop_pkt; }; diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index c3ee6d5c3433..cd7849778bce 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -31,10 +31,10 @@ #include "gve.h" #include "gve_adminq.h" -#define GVE_DRIVER_VERSION "GVE-FBSD-1.0.0\n" -#define GVE_VERSION_MAJOR 0 -#define GVE_VERSION_MINOR 9 -#define GVE_VERSION_SUB 0 +#define GVE_DRIVER_VERSION "GVE-FBSD-1.0.1\n" +#define GVE_VERSION_MAJOR 1 +#define GVE_VERSION_MINOR 0 +#define GVE_VERSION_SUB 1 #define GVE_DEFAULT_RX_COPYBREAK 256 diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c index f5d8fd7a7b75..9be96cf1ee3a 100644 --- a/sys/dev/gve/gve_rx.c +++ b/sys/dev/gve/gve_rx.c @@ -546,6 +546,7 @@ gve_rx(struct gve_priv *priv, struct gve_rx_ring *rx, struct gve_rx_desc *desc, if (is_first_frag) { mbuf->m_pkthdr.rcvif = priv->ifp; + ctx->is_tcp = desc->flags_seq & GVE_RXF_TCP; if (gve_needs_rss(desc->flags_seq)) { gve_set_rss_type(desc->flags_seq, mbuf); @@ -567,7 +568,7 @@ gve_rx(struct gve_priv *priv, struct gve_rx_ring *rx, struct gve_rx_desc *desc, do_if_input = true; if (((if_getcapenable(priv->ifp) & IFCAP_LRO) != 0) && /* LRO is enabled */ - (desc->flags_seq & GVE_RXF_TCP) && /* pkt is a TCP pkt */ + (ctx->is_tcp) && /* pkt is a TCP pkt */ ((mbuf->m_pkthdr.csum_flags & CSUM_DATA_VALID) != 0) && /* NIC verified csum */ (rx->lro.lro_cnt != 0) && /* LRO resources exist */ (tcp_lro_rx(&rx->lro, mbuf, 0) == 0)) From nobody Thu Sep 7 13:45:07 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhL8n3mH2z4s7Rx; Thu, 7 Sep 2023 13:45:13 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhL8n3Fycz4NLf; Thu, 7 Sep 2023 13:45:13 +0000 (UTC) (envelope-from bz@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694094313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8WsjM2Jdu9GXYZONM/EHAjAczDn8WYWSEIZBon55fg=; b=mijGK/ench8tJcfB9tVBcozTkbWuLLfR/GbjBz5u64r5yjx/wcOCPfEcHhy0BYP7xZwmw/ 6qHdzn2QAC0ooPWMwQfBwPe4I3CHi9+GXgX+2Wob33OdbeOr/gHiEt0IneWJjssMPugkb1 paMqZjzWLQBVjvsp5NeHAgm3qVRlxmTn8B1AVXuWkQhyOiRvqGHEBdqDL4iXHAliyhkzXd wKwvO02Jw60hetZCTD0Keyu0jIE0j7jX/13KZPKyR9h0CD2g6IsxNv9+qdAbWnHrAYFMbf 8yVF/NmdHoDtArNvDm72MH6K0TsDSE6C7k9i5/JIck66Xos1ao+oLhCo1a9KOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694094313; a=rsa-sha256; cv=none; b=Kvieb1XwkjvrS0S2k6VmayJUE+wuSZzE3PLxgsUPtSpp09BAdNqQZj9963uJJgvGDr2+NA N/EQLVxScSr4bWcepsT4/DqEURfkOLSJgxJZLOgcQDRhfOdQqU75rXz8sWDgREdJ/hH/Xs XL/MV4wn8/0Wnk23OC29sv3BrlFpO8S8e0ECthVBku1Z2Ne6ytrSqw0x1+G5oV/mV/u0MP nUk8hPKrm3e7dNDbPtccxP5uGuPd99V/NZ//e5iv3HjUXGd4+uD2qqVBB0IqCaoaLBGFht Lxqlk3ylItkKOiOEDbc6svtVHQ2Z1BLhVxbK9l0HlJNSbYn8hzmWTl6fLbmgOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694094313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8WsjM2Jdu9GXYZONM/EHAjAczDn8WYWSEIZBon55fg=; b=NLdMPIjdPVm0mZ0IZ5NGK3WUVeAZw+axFWTFob4rDDOiMfXv3qitK7YDGXoVCL309twD+v tNeIxQ/OLjldwhAiLSFczvlXI4wXkA4ARm4UY0AT8D4dyGomf0vjBn87MsVyTfjd38g+KX xWI/CW8GJscOrLmdTo+GRfBcaa7zIvBw6ycqiRJ1czXJqzHp7DrPyRvc61iRGbcTCjGmvj 5djwVh5JkZ95MMW3tZg7w6hwzN9FzKubdxP4GfsPk7pSbdylogUbwUEHcOsxj0mQK3ejvf oN1pwWVsj/d2sx7aLU/sCFAUlF7aOrS6oNI3s9NYfBGpBLGUZTkqdgEj4r/gmA== Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RhL8n0v49z1Bfp; Thu, 7 Sep 2023 13:45:13 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 9EFC38D4A142; Thu, 7 Sep 2023 13:45:11 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 73D832D029D2; Thu, 7 Sep 2023 13:45:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id 8j2PCGDosWe1; Thu, 7 Sep 2023 13:45:09 +0000 (UTC) Received: from strong-aiccu0.sbone.de (strong-aiccu0.sbone.de [IPv6:fde9:577b:c1a9:f491::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id D4DED2D029D1; Thu, 7 Sep 2023 13:45:08 +0000 (UTC) Date: Thu, 7 Sep 2023 13:45:07 +0000 (UTC) From: "Bjoern A. Zeeb" To: Warner Losh cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. In-Reply-To: Message-ID: <5o323300-6053-0s28-692r-6oro7qq5n9p8@serrofq.bet> References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> <4sr8n9or-q731-1945-893s-no953r283756@SerrOFQ.bet> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="1098556516-1839976615-1694094309=:2448" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1098556516-1839976615-1694094309=:2448 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Thu, 7 Sep 2023, Warner Losh wrote: > On Thu, Sep 7, 2023 at 6:36 AM Bjoern A. Zeeb wrote: > >> On Wed, 6 Sep 2023, John Baldwin wrote: >> >>> On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: >>>> On Wed, 6 Sep 2023, John Baldwin wrote: >>>> >>>>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: >>>>>> The branch main has been updated by bz: >>>>>> >>>>>> URL: >>>>>> >> https://cgit.FreeBSD.org/src/commit/?id=cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>>>>> >>>>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>>>>> Author: Bjoern A. Zeeb >>>>>> AuthorDate: 2023-06-08 21:35:09 +0000 >>>>>> Commit: Bjoern A. Zeeb >>>>>> CommitDate: 2023-09-05 21:13:18 +0000 >>>>>> >>>>>> rtw88/rtw89: remove local firmware. >>>>>> Remove firmware from src/ in favor of the ports/packages >> and >>>>>> fwget(8). >>>>>> This will allow us to shrink the size of src (and installed >>>>>> modules). >>>>>> Update the rtw88 man page to reflect the change. >>>>> >>>>> How does this interfact with doing an install to a machine over one of >>>>> these >>>>> interfaces? >>>> >>>> That's nothing we support. At least we do not support netboot over wifi >>>> currently, so you'll always need another install media. >>>> >>>> How's the "bootstrapping" going to work if wireless is the only network >>>> option? >>> >>> To be clear, I was discussing the case you use a USB memstick, but fetch >>> the base system and packages over the network. >> >> Understood. Not sure we actually support the former; I guess I am not >> using the installer too much. >> >> >>> Or at least you need to >>> install pkg over the network, but you need pkg to install the firmware >>> so you can bring up the network which you did address, though it seems >>> something we plan to fix in the future so won't be in 14.0? >> >> Yes. We plan to sort this out but I'd say it's unlikely for 14.0. >> >> And to be clear, it was me who raised exactly these "botstrapping" >> installer concerns in the first place. >> >> At the moment we will first need stable drivers to be able to do any >> networking in first place. Once that is sorted, installing mobile >> devices with just them and no other means of networking will be >> addressed. >> > > Yea, the rtw88 driver is stable enough for me to do a network install > over it. So now people with -current can't do that any more and have > to do hokey things to get the firmware or other packages to the laptop > before they can do anything. This is not really going to make people > happy and will generate a fair number of complaints. > > I'd assume some other "fallout" will improve some installer bits along >> when this happens and that we'll want enough and brought testing for it. >> > > It sounds rather premature to remove it from -current if there's no support > in the installer, and nothing in place that adds the packages to the > installation > media with no firm plans or timelines to address that. You do understand that I also disconnected rtw88 from main? Please read the announcement and/or fill the gap. /bz -- Bjoern A. Zeeb r15:7 --1098556516-1839976615-1694094309=:2448-- From nobody Thu Sep 7 14:36:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhMJS741Mz4sg6v; Thu, 7 Sep 2023 14:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhMJS6dqDz4g8j; Thu, 7 Sep 2023 14:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694097416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HvxY+98mEQIg+VgkDEJOuVhw34VhMgE5SQKUqnLVeIE=; b=VH8X/6x7rQPrxCNnZy7uMIYFBv8uGO6/U2A+F2PPqOkTzFQCQrU1aw2e0zPM70x+TRpoZG WZl+gBdolR3zpm2+DrC+pUFeEpVTLPyO2oUUtO8uJKowtrtX8HmdbojXncFp00L/QhBgps KGcUT8bsxXDx242o/C6A4kKm3eq2uPYWL1m6dQH9IgE3ja2DOhywpE7LCcQVjiPntaDEaY AKIf5TdpwSp9W8LXtWTAgwEXxLazVR7WR8W8zvOCDStIm2GZHf8uHj+pvUNqZTMYovircg L1fUF6hRIa42A9zu5wVhKKYbJhHxHCRN5rskXUzCwZ0V2P+Zbuy5W4BCBQYkcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694097416; a=rsa-sha256; cv=none; b=VTzfJZzV9FUz4z6KIRp+dKMBSfBnDkHyLsOXcdVvKM3StBSYfuwO5yuBGOkNnplrfYQJ7j 8f2Z1PdK0tupFUwKCZlH4PMt6/tHSqUEWwZzugvBH55fj8IHVb0qnOybvA3nah9xXzGvQd 4payKZ8FNxfyjBI4C8cg1QJ/9wMOGmXkOgGeyOsUIYIC4B+Fif1PJUpdHAP0jI5/DO8+rU ECuMmrVRXIMSz8TGAebJsjsmtmL4gokKi7UEFWewfJYTzCA4azeGlNGlYSkLpnrTIwIqNb Uu5JIQnHLIeeFEYbrIKkLBcj39bqA9S+EsFyaKcWVOfX89JiM4Hmy1wiPEDKJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694097416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HvxY+98mEQIg+VgkDEJOuVhw34VhMgE5SQKUqnLVeIE=; b=nvShenPngksd6K/2Ff7rlp1ln/iMjJSqwKmkQHLyn29uosFBWb/fnxEPkyNgiD7gJ/K4Bv GRnHFPw/Mq+hL7F3xNgbUzgnX9SA7IPdAJ7tSKQRpBS7u4eenzs+M5nehqxM8l7UASEfRj gYWDpj6lktuEFanxD150nVo0nTZ3Mndl6aS6Vr968ZlTfv1SrAFZEuA3F2AZLZnZuVNCx+ sjvaCDiwDp9kiC8SUm8R39NowE2jR++tu/6UnszBsDUbzBfKu2g2fgUDpSjdcW2ptB1XL+ +Cci0agO6WK7pYimXfvfwn2CzDEhn4SAwB/hRMAwHf/HS8k2ZsBc5OUxDqjanw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhMJS5drZz13PQ; Thu, 7 Sep 2023 14:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387Eaukq083052; Thu, 7 Sep 2023 14:36:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387Eaugx083049; Thu, 7 Sep 2023 14:36:56 GMT (envelope-from git) Date: Thu, 7 Sep 2023 14:36:56 GMT Message-Id: <202309071436.387Eaugx083049@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: ee12faa062c0 - main - bspatch: use C23 overflow checking math now that it is available List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee12faa062c04a49bf6fe4e6867bad8606e2413f Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ee12faa062c04a49bf6fe4e6867bad8606e2413f commit ee12faa062c04a49bf6fe4e6867bad8606e2413f Author: Ed Maste AuthorDate: 2023-09-05 16:35:31 +0000 Commit: Ed Maste CommitDate: 2023-09-07 14:36:50 +0000 bspatch: use C23 overflow checking math now that it is available Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41771 --- usr.bin/bsdiff/bspatch/bspatch.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/usr.bin/bsdiff/bspatch/bspatch.c b/usr.bin/bsdiff/bspatch/bspatch.c index a596ab1837dd..d7fabddabbfe 100644 --- a/usr.bin/bsdiff/bspatch/bspatch.c +++ b/usr.bin/bsdiff/bspatch/bspatch.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -64,15 +65,8 @@ add_off_t(off_t a, off_t b) { off_t result; -#if __GNUC__ >= 5 || \ - (defined(__has_builtin) && __has_builtin(__builtin_add_overflow)) - if (__builtin_add_overflow(a, b, &result)) + if (ckd_add(&result, a, b)) errx(1, "Corrupt patch"); -#else - if ((b > 0 && a > OFF_MAX - b) || (b < 0 && a < OFF_MIN - b)) - errx(1, "Corrupt patch"); - result = a + b; -#endif return result; } From nobody Thu Sep 7 15:00:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhMqP6V5dz4sslr; Thu, 7 Sep 2023 15:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhMqP5HXvz4pWP; Thu, 7 Sep 2023 15:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694098817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KyQXclZpUB65KLuuMom7P3r9kVlZa2YXiH5fBmJrQbA=; b=rWXpUGzn08dU5CysazboJrqPt3xOnEAt5XTOaorMs5sMpvv1jmijUS/1mL1jF8SErekw7e 7r9+dAvVGUrRxpnfFctXuhFCBm7aLF7d/UVjsxcvoOWkjeP/sZZGP8YMMUhD6k+l+W09Cu B5wwhilaOrSr0lXoYxQQ0JdP4ny6POpXAZy62dmJjM4DABHiDVq38snW4uCEP+BwRvIEAt CHpdwPqW6kOSPGy1JqWHtFvrsG84zpwme6/SNbOaJhzdXCfWR1RxEsP+GZmUY97FDT9gMa d8cD3qMa+hWSmuSjiZMG6Y8j5pj0y8uczOcFiQ8jvmic7YpXXW7zZVPy3YjqxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694098817; a=rsa-sha256; cv=none; b=xgYfWq7VosJMNDpYw50j7i4nJICTQb2IKa8pUdQmRZi5ToNkqTecWZliuzQLrV+bwwTbym ejfz0enhCEN8tv+KPUwmaP1/8/YNJt+NKh/tgEUzKTvjH5dqNDmkX+ZP4sWe9+oIgxXX6y zV6kUiSnDuuHeW3qHnMhdyUAoy35aOce8G5PZrFmqGj+RWSvI2zXjyiyHzmD4mDmtcEkLz WPYXO5zdN+h8jBOb368F7Akz/BTj9ZEFtZfW3n/1Lg9mxlsZWSYkzZuFxI4qOeqHMB+Iro Zdvvbz9T9Pnt8MPYeWmsMbowkpsKTB8B2DwQ8KX75FT4zBQbUVvYsr7xgUfgSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694098817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KyQXclZpUB65KLuuMom7P3r9kVlZa2YXiH5fBmJrQbA=; b=DPEjc3N+02wbs5tW121tb58riKgbiutR0OtvE9lFkvMIc1aElyEZwCfHZTgDPevBK2uQQm Tjxoumo3+3EU/ODFXV3MfgBK3KDL3eGrKn7coAWJ1N8HEQMxb/AOiF1MzKRJyd3ynlaO90 Djz3SEo21wd71qrZyuQyk/ZosYunp7hhkWRzPXmMZZwrM3SsU81AVRQry6sXm3xkspOKRC ky4mweExKuqXNB5a+6T+SXonrKbHQ9zimdvn8dLYHpWJ/4tnG/IBEXXkclxIMskBXkwpDs 1XOok5fNM+e8BDIMCB7BA0zOrdiPcsnsiGJfpUfktmxKWPaZ+743a9TOezbWzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhMqP4CKLz13xZ; Thu, 7 Sep 2023 15:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387F0HfP025836; Thu, 7 Sep 2023 15:00:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387F0H8l025833; Thu, 7 Sep 2023 15:00:17 GMT (envelope-from git) Date: Thu, 7 Sep 2023 15:00:17 GMT Message-Id: <202309071500.387F0H8l025833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: cd89fe3923e9 - main - switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd89fe3923e92ab090cbdff7eb215c2d85b51718 Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=cd89fe3923e92ab090cbdff7eb215c2d85b51718 commit cd89fe3923e92ab090cbdff7eb215c2d85b51718 Author: Wolfram Schneider AuthorDate: 2023-09-07 14:59:12 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-07 14:59:12 +0000 switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 --- usr.bin/man/man.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5 index 5bffbf96bec2..90595bb6d498 100644 --- a/usr.bin/man/man.conf.5 +++ b/usr.bin/man/man.conf.5 @@ -113,8 +113,8 @@ MANLOCALE ja_JP.eucJP EQN_JA /usr/local/bin/geqn PIC_JA /usr/local/bin/gpic TBL_JA /usr/local/bin/gtbl -NROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.eucJP -TROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.euc.jp +NROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.eucJP +TROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.euc.jp .Ed .Pp If the system administrator decides to override the From nobody Thu Sep 7 15:09:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhN1x241Fz4rknm for ; Thu, 7 Sep 2023 15:09:25 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhN1w57GKz4rnB for ; Thu, 7 Sep 2023 15:09:24 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-52a39a1c4d5so1430792a12.3 for ; Thu, 07 Sep 2023 08:09:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1694099363; x=1694704163; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/iVVSdk/TZQbwEVJO/ep2Q+pm2qz3FqJaJE0FKNR9DQ=; b=x8VbS5mM8jBRIzbvTiDCrsudvmBCaoAOnwlVIylqpK9IVxf3qWqBnPl+Qb9RUbaE3R eZYUK5QhhISpLvk6W0CS4Fo15wWTfHmpqhQD8+38d/StwqPz78MOxi1FXcjvipkhuz3o 7+sTwVHSzudf+LSbJidltLLsTbNkpuw0ssDLl/4N46Yk4mr+fEvyXCfyjkHFdq8DKM+G Jjmqkfrk1VqPC7C/l7qspGl3z4PNVIwWnbonyDBeLnQwIvHgZ8PmDB2elHKC6N7U8Mlq TizlrwRH6dEmbHGNdr+K0ppd8PSMydQh6pBn42b6MI5Qw9k9zBoTPFh59hKW5aC1D+fl pOMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694099363; x=1694704163; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/iVVSdk/TZQbwEVJO/ep2Q+pm2qz3FqJaJE0FKNR9DQ=; b=Srz/iz3zxPHX2KuWjNWxlmy8vztTC21M8UabAjCDOJxWQBaDAWhi+Yk16XUjPUsqi5 2Q5wU9qJDYPB0Mnlec8qFVij+wH8rl3wugNINhdHXuFIWjHlCAAogTdedhIjxjKolGWf CZaSrNNZAb5ohkR6s9F3nBhQ7p5sNweZeqL5ElpE4u65LaQSK5Pj4J/SqHOKrFEdeI2l StyloZCKzNhd8QTziXsKjYnliiyX7TkeT0OlE+aCmBU2RhePODcXwYoTfem2EPS0Yx7u zUz6h2en6q5g2XmbtHJsdNV9Nu/BrdAlUOOyQb9HyQVqCCLVZUnTrvWjvaGt7bunMLBg sSeQ== X-Gm-Message-State: AOJu0Yx5ImgfQLqUZcTWvLC07m9bgEydapw7n3nl33J4DCbpwxfq92v8 qx0hMuhGxoPoXsn11MxTfXGkq7cHeAMv7LqViVZjaQ== X-Google-Smtp-Source: AGHT+IGMzyNJnTAa+fHWHEYkjf0ub0aqotQMgTrbGFJ4sNTYfFl+baGK0c5QykxuIYQ6l4R0vQFJgvZdmSKgmg3+qvc= X-Received: by 2002:aa7:c859:0:b0:52c:e607:3866 with SMTP id g25-20020aa7c859000000b0052ce6073866mr4456725edt.32.1694099363470; Thu, 07 Sep 2023 08:09:23 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202309052116.385LGoau059784@gitrepo.freebsd.org> <92064p8n-134r-9rqo-8038-rpnq4r25p567@SerrOFQ.bet> <5325f22d-9e7f-04bd-ab35-128438eb9a2a@FreeBSD.org> <4sr8n9or-q731-1945-893s-no953r283756@SerrOFQ.bet> <5o323300-6053-0s28-692r-6oro7qq5n9p8@serrofq.bet> In-Reply-To: <5o323300-6053-0s28-692r-6oro7qq5n9p8@serrofq.bet> From: Warner Losh Date: Thu, 7 Sep 2023 09:09:12 -0600 Message-ID: Subject: Re: git: cf94672363d6 - main - rtw88/rtw89: remove local firmware. To: "Bjoern A. Zeeb" Cc: John Baldwin , src-committers , "" , "" Content-Type: multipart/alternative; boundary="000000000000c6372f0604c63e78" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4RhN1w57GKz4rnB --000000000000c6372f0604c63e78 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 7, 2023, 7:45 AM Bjoern A. Zeeb wrote: > On Thu, 7 Sep 2023, Warner Losh wrote: > > > On Thu, Sep 7, 2023 at 6:36=E2=80=AFAM Bjoern A. Zeeb = wrote: > > > >> On Wed, 6 Sep 2023, John Baldwin wrote: > >> > >>> On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote: > >>>> On Wed, 6 Sep 2023, John Baldwin wrote: > >>>> > >>>>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote: > >>>>>> The branch main has been updated by bz: > >>>>>> > >>>>>> URL: > >>>>>> > >> > https://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62= bbfc8dbe5 > >>>>>> > >>>>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 > >>>>>> Author: Bjoern A. Zeeb > >>>>>> AuthorDate: 2023-06-08 21:35:09 +0000 > >>>>>> Commit: Bjoern A. Zeeb > >>>>>> CommitDate: 2023-09-05 21:13:18 +0000 > >>>>>> > >>>>>> rtw88/rtw89: remove local firmware. > >>>>>> Remove firmware from src/ in favor of the ports/package= s > >> and > >>>>>> fwget(8). > >>>>>> This will allow us to shrink the size of src (and installed > >>>>>> modules). > >>>>>> Update the rtw88 man page to reflect the change. > >>>>> > >>>>> How does this interfact with doing an install to a machine over one > of > >>>>> these > >>>>> interfaces? > >>>> > >>>> That's nothing we support. At least we do not support netboot over > wifi > >>>> currently, so you'll always need another install media. > >>>> > >>>> How's the "bootstrapping" going to work if wireless is the only > network > >>>> option? > >>> > >>> To be clear, I was discussing the case you use a USB memstick, but > fetch > >>> the base system and packages over the network. > >> > >> Understood. Not sure we actually support the former; I guess I am no= t > >> using the installer too much. > >> > >> > >>> Or at least you need to > >>> install pkg over the network, but you need pkg to install the firmwar= e > >>> so you can bring up the network which you did address, though it seem= s > >>> something we plan to fix in the future so won't be in 14.0? > >> > >> Yes. We plan to sort this out but I'd say it's unlikely for 14.0. > >> > >> And to be clear, it was me who raised exactly these "botstrapping" > >> installer concerns in the first place. > >> > >> At the moment we will first need stable drivers to be able to do any > >> networking in first place. Once that is sorted, installing mobile > >> devices with just them and no other means of networking will be > >> addressed. > >> > > > > Yea, the rtw88 driver is stable enough for me to do a network install > > over it. So now people with -current can't do that any more and have > > to do hokey things to get the firmware or other packages to the laptop > > before they can do anything. This is not really going to make people > > happy and will generate a fair number of complaints. > > > > I'd assume some other "fallout" will improve some installer bits along > >> when this happens and that we'll want enough and brought testing for i= t. > >> > > > > It sounds rather premature to remove it from -current if there's no > support > > in the installer, and nothing in place that adds the packages to the > > installation > > media with no firm plans or timelines to address that. > > You do understand that I also disconnected rtw88 from main? > > Please read the announcement and/or fill the gap. It is no less premature. It's the first step without a clear timeline. You've removed functionality that was present and my point is still valid. It's even worse because now I have to add this driver back when I upgrade my laptop or I have to find the USB dongle I was using. This just doesn't make any sense to me. Warner /bz > > -- > Bjoern A. Zeeb r15:7 --000000000000c6372f0604c63e78 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Sep 7, 2023, 7:45 AM Bjoern A. Zeeb <bz@freebsd.org> wrote:
On Thu, 7 Sep 2023, Warner Losh wrote:

> On Thu, Sep 7, 2023 at 6:36=E2=80=AFAM Bjoern A. Zeeb <bz@freebsd.org> wrote:
>
>> On Wed, 6 Sep 2023, John Baldwin wrote:
>>
>>> On 9/6/23 12:06 PM, Bjoern A. Zeeb wrote:
>>>> On Wed, 6 Sep 2023, John Baldwin wrote:
>>>>
>>>>> On 9/5/23 2:16 PM, Bjoern A. Zeeb wrote:
>>>>>> The branch main has been updated by bz:
>>>>>>
>>>>>> URL:
>>>>>>
>>
https://cgit.FreeBSD.org/src/commit/?id=3Dcf94672363d6638b7268c05b4628b62= bbfc8dbe5
>>>>>>
>>>>>> commit cf94672363d6638b7268c05b4628b62bbfc8dbe5 >>>>>> Author:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@F= reeBSD.org>
>>>>>> AuthorDate: 2023-06-08 21:35:09 +0000
>>>>>> Commit:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@F= reeBSD.org>
>>>>>> CommitDate: 2023-09-05 21:13:18 +0000
>>>>>>
>>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0rtw88/rtw89: remove loca= l firmware.
>>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Remove fi= rmware from src/ in favor of the ports/packages
>> and
>>>>>> fwget(8).
>>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0This will allow us to sh= rink the size of src (and installed
>>>>>> modules).
>>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0Update the rtw88 man pag= e to reflect the change.
>>>>>
>>>>> How does this interfact with doing an install to a mac= hine over one of
>>>>> these
>>>>> interfaces?
>>>>
>>>> That's nothing we support.=C2=A0 At least we do not su= pport netboot over wifi
>>>> currently, so you'll always need another install media= .
>>>>
>>>> How's the "bootstrapping" going to work if w= ireless is the only network
>>>> option?
>>>
>>> To be clear, I was discussing the case you use a USB memstick,= but fetch
>>> the base system and packages over the network.
>>
>> Understood.=C2=A0 Not sure we actually support the former;=C2=A0 I= guess I am not
>> using the installer too much.
>>
>>
>>> Or at least you need to
>>> install pkg over the network, but you need pkg to install the = firmware
>>> so you can bring up the network which you did address, though = it seems
>>> something we plan to fix in the future so won't be in 14.0= ?
>>
>> Yes.=C2=A0 We plan to sort this out but I'd say it's unlik= ely for 14.0.
>>
>> And to be clear, it was me who raised exactly these "botstrap= ping"
>> installer concerns in the first place.
>>
>> At the moment we will first need stable drivers to be able to do a= ny
>> networking in first place.=C2=A0 =C2=A0Once that is sorted, instal= ling mobile
>> devices with just them and no other means of networking will be >> addressed.
>>
>
> Yea, the rtw88 driver is stable enough for me to do a network install<= br> > over it. So now people with -current can't do that any more and ha= ve
> to do hokey things to get the firmware or other packages to the laptop=
> before they can do anything. This is not really going to make people > happy and will generate a fair number of complaints.
>
> I'd assume some other "fallout" will improve some instal= ler bits along
>> when this happens and that we'll want enough and brought testi= ng for it.
>>
>
> It sounds rather premature to remove it from -current if there's n= o support
> in the installer, and nothing in place that adds the packages to the > installation
> media with no firm plans or timelines to address that.

You do understand that I also disconnected rtw88 from main?

Please read the announcement and/or fill the gap.
<= div dir=3D"auto">
It is no less premature. It= 9;s the first step without a clear timeline. You've removed functionali= ty that was present and my point is still valid.
It's even worse because now I have to add this= driver back when I upgrade my laptop or I have to find the USB dongle I wa= s using.

This just doesn= 't make any sense to me.

Warner


/bz

--
Bjoern A. Zeeb=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r15:7
--000000000000c6372f0604c63e78-- From nobody Thu Sep 7 15:16:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhN9c164Pz4rpZN; Thu, 7 Sep 2023 15:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhN9c0cqQz4tf9; Thu, 7 Sep 2023 15:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694099764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cs5LDqfFfN5IFjcgfXzSPoBLTQzaso48I/1N/kz2NCE=; b=dNT/Lb03c2osTVgF4+OlMoQYn73vQiEYzVPMV8IIEm3cZeVzMhiFxBpwDqnXsX7nEGs7bw iTsYzg/4OehX/cCUrwYJPfoMVkmkiz/mUWAKkviWtPsacqnKFpZQJd/mrlYSdyKK17/+AB /5DOrrzL203gqPXSWYVHfCVSq0ym+HpiwWfoa8Mr64xil0v2rX9GjO8VuwVo+goNdq7KJu 6mhKhS20PsaJr0QDm9TXuV4YFsOUF6H0NpB3mXQ4SR9ZMWZr6m5yxAG9UFM2vQNi29R2NW ruJepaQBqhRTlW8AoZC6YhwKpZCngZyp4f0MgnhQlNUFt+fCNj49a/OovKcRxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694099764; a=rsa-sha256; cv=none; b=hItIZ/Hlnp/x9GtziXKMDGkn9cH6dfrNXZ8sHekVBrxUcPgwkyVWSBiWg0MtjYHqpmmJB9 rESzMSvPQkRicB0Yqy+fbDv2jtXtlby0fljP3lig/iZ7lxgwlbIjnS1aC7x+MNjZVxd6NL H2ay/YFa4rjqqxlIhwbIx/i8Cmj2rQz5LregsvafvHO4KSqBAP+fijY8EAe/0wIgg2wDqn wTUPE7obhhqBbikclP1Lv8RZxPmPTqUBlSyimAAR6HpJb4UjhYjsKuRWxsKn4yLxDbUGtu qR1auAT2d7SPQl3xJE59aJ3nUkqdeJOAQpG1BT70Ah2ZGkKXhDt5HmokB6nr5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694099764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cs5LDqfFfN5IFjcgfXzSPoBLTQzaso48I/1N/kz2NCE=; b=VcOcpdJf6cFmSTrbPWp4/XHRaTMrtMG28l8Ah0WiGTQFA4PtCv5JLM94dXA6jaJvqmaDrG Iyg7vPQQYKUKh2J7diXTyrRYPoKN0CECrF6MCBHcomTJLpUpZmwjOp710MIf2mmf2kW8oe iHz0oKk9SWh8R4sCEzwWzsGOkvVPkVs59PyPDYr8wqXmoATiAcosg9ZIqTt5BpJDcYcB2i jLU4GAnvwPzrF9cpIzxkW/UiDu+RL9y8QVCjqU/04Yf3WP0L15Sidxs6Y0vJJkQ2QKEknr NE9dXyiJQmVu2LflF4FmvKH8mq5Q4D4QV7iDGAinbhmPTQ1aTEEtspY8BDR2Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhN9b6phwz1407; Thu, 7 Sep 2023 15:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387FG3eC050460; Thu, 7 Sep 2023 15:16:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387FG3K7050457; Thu, 7 Sep 2023 15:16:03 GMT (envelope-from git) Date: Thu, 7 Sep 2023 15:16:03 GMT Message-Id: <202309071516.387FG3K7050457@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 2afef29b2c0b - main - syscons: refer to it as the legacy console List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2afef29b2c0b59182c6c1e133733943eafab714d Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2afef29b2c0b59182c6c1e133733943eafab714d commit 2afef29b2c0b59182c6c1e133733943eafab714d Author: Ed Maste AuthorDate: 2023-09-07 15:10:33 +0000 Commit: Ed Maste CommitDate: 2023-09-07 15:16:00 +0000 syscons: refer to it as the legacy console vt(4) is the default console, and although there is no firm deprecation plan for syscons(4) yet it it is not actively maintained and is not compatible with contemporary systems (i.e., those booting via UEFI). Reviewed by: manu MFC after: 3 days Sponsored by: The FreeBSD Foundation --- share/man/man4/syscons.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/syscons.4 b/share/man/man4/syscons.4 index f9540ffe9bdc..19ecd5e3746e 100644 --- a/share/man/man4/syscons.4 +++ b/share/man/man4/syscons.4 @@ -30,7 +30,7 @@ .Sh NAME .Nm syscons , .Nm sc -.Nd the console driver +.Nd the legacy console driver .Sh SYNOPSIS .Cd "options MAXCONS=N" .Cd "options SC_ALT_MOUSE_IMAGE" From nobody Thu Sep 7 15:24:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhNM40Kvjz4rvbk; Thu, 7 Sep 2023 15:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhNM372HLz3CmK; Thu, 7 Sep 2023 15:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694100256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zmz9lm0aQsf+IGCGz4e7x/ZnMck3zYF+IIHG7jU2Idk=; b=VtmFZpx9XAsqRrnf2Ss5eGtk9ZzGW/u1nQvvMjjqcJAHNKBEJrSrh+60KKqik44agvdl4T 13TxcIhukh37nxEekSmVig2FAlLdU2YnJDk3D1Kbli4AVZnxV5OcEPm1sDgfIKNhtgLMUE AJBabrofY9IHkk1bRt4qRUeqL1u8/+fb4jLP1LgT698aTHfuEN1n5eg+LZzO4ldIpFO5Jp vbdFybO8EF/aI+NYQNK5Ny8k5XYED7gYjZ4XrJzirStJ3SDoTn2HzHTBDbOYR8qZAGt8TX jNJpKPF2CPLBUhnF0U5TwRgWX+bpzrpg/4FSUfsADNyqhZ2785ORY+Ix7Qy1WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694100256; a=rsa-sha256; cv=none; b=mxXugcWutszG8SOuTZ13fCQiSgs77q8w/2IFRZmeFD9JjqEdZATbkJkKnzLbgujIsYOQ6q P0QNft66V5C9N0RFDuDpBak8tpmvffRXlStl3dHNXXrHsawcMeElKJAtrHLal3f82gg5h9 j0JGmgV28rFm5qVdVvr2ZUij2rzyAMYY/iKlbqd1m1ICHNB1JKpim1JF1yVtUupWtTvz7N 3Yt3R219OTVz4paAbRvBACzs2aLTnbjPMXBGoB6A2GRtHtOw4YQy32qDwqRtRLoFjqhWED zddptpUZdW3APPb6qLo13tCGIdKP9iur5ECkNRORRie5QpQz0QMSDcqJ64WEKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694100256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zmz9lm0aQsf+IGCGz4e7x/ZnMck3zYF+IIHG7jU2Idk=; b=n7mn2d/muv9djIRX6wtbMqPExuxN+ejf8+H3MMkM1ZlQnl7TMI8GJgi0I7Jcd/0kmyMlUM KlhrHnYxtv7rK4Mh+Fk6lrJoES73Z5UY9WE3WQYF0VjU1fRkhw6SId9Z7F8J8NkdMNVUvb BMGKKyABKqM5AvRdase6ggWX/tzOtRr3WO44k8QqEME1wVpA5igPYdV1tTGzZgOrxzjISH 72q/2fWUnkXeytK5sNcHtTAmOSZHLdyZMRP+mgytwq0XQV+7mWDq9QFcz5gRm2eepQ5S4Y ZrpwVL3dtWDZVPyC4LBf+cXGIdUHP8Fv7vmdY+zoYjrl9MH6D/daZ8F2kbTKMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhNM35sfZz140l; Thu, 7 Sep 2023 15:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387FOFw6066261; Thu, 7 Sep 2023 15:24:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387FOFTN066258; Thu, 7 Sep 2023 15:24:15 GMT (envelope-from git) Date: Thu, 7 Sep 2023 15:24:15 GMT Message-Id: <202309071524.387FOFTN066258@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: f10f65999fe5 - main - libarchive: merge security fix from vendor branch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f10f65999fe56e92f00b5bc5d27ac342cfea5364 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=f10f65999fe56e92f00b5bc5d27ac342cfea5364 commit f10f65999fe56e92f00b5bc5d27ac342cfea5364 Merge: 2afef29b2c0b a5913a473bb0 Author: Martin Matuska AuthorDate: 2023-09-07 15:18:12 +0000 Commit: Martin Matuska CommitDate: 2023-09-07 15:22:34 +0000 libarchive: merge security fix from vendor branch This commit fixes a couple of security vulnerabilities in the PAX writer: 1. Heap overflow in url_encode() in archive_write_set_format_pax.c 2. NULL dereference in archive_write_pax_header_xattrs() 3. Another NULL dereference in archive_write_pax_header_xattrs() 4. NULL dereference in archive_write_pax_header_xattr() Security: No known reference yet Obtained from: https://github.com/libarchive/libarchive/commit/1b4e0d0f9 MFC after: 3 days .../libarchive/archive_write_set_format_pax.c | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) From nobody Thu Sep 7 15:59:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhP853FzVz4sJcT; Thu, 7 Sep 2023 15:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhP852qpMz3Mxj; Thu, 7 Sep 2023 15:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694102389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAXz7ipAVosQBIYIYk609QpgKrDNP7VRpML4HyXlIas=; b=akj2OU526mm5r+/LvDkfDuJVfIEO1k1Q3Gl1+27e68PNhX1s2emHE5VFqkJyVOXrkCVKM9 QDPbV0NkuXx3/rJ9wWE6snzHXhtjZupmeCmhxLn/6bcUY623Nu1YOcpkdmwvqeSR4l9TSW MNju0JEPyoLJGMeHXcNfIffryX0OG6QLkSHst3mWAvbwm7LT0RTrRrQNO8FkvbCkUp15RK yCCaWEd5pnpl0Q6H9DSmp01Cqkg5QRMHzGfaL8MS9OXXms2bOMv7qND/4pPokpWVhmZPc1 6MiSVCmR4VD01VQz7I+WTEOq6iwpqnSg3PbY51zYo2MCtPMNIIsOoPQiZb5fbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694102389; a=rsa-sha256; cv=none; b=EyTb2PDtFaAYLhYT2b78Lbwtjnl5UxpeSt5R2xcUTW3+RBsgt2XSlqD568pujrZKSiR9/W w3pdFQoEEQOZRoobvNIPCQ7ZQceYKoXF8hih1cwvjzCViuI45spy8Vdt33Y+KO2TaioICw c7iD12ufMgAVFPe87Jc48db00JRDOA+OvoXktL/dfWTWsUP2sBjUgv9SGXn/zAiT4GfFPr 8ndIxEYX4WF7FT9uvNAnYvo92O89vF1vttJplREA+I7X2rguyfd3HnFEbseb1ZYja0OQxE mm6zP3/RLPXZOGuXLlsGg6J/5O2Q9sJQjMJBpLEYQE/4YIGsSog3Ha+zxJQFcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694102389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAXz7ipAVosQBIYIYk609QpgKrDNP7VRpML4HyXlIas=; b=drPV3Rt4Mu+fYAcZe5gsu0KMUvGPi1/xmAZvLr3XKUCUe2qeC+yM8atpJS7pFdMQECp57e xkJgoGAECwVo/A6ahYnJssyoHBtb4MhX9AiffreJdVYu52lfRWdJSFByAJmruFMvwER12x sIcbHpQ14OQDdExiN1+U2wfB1DTVIJi6wjxAImmx4PtUQsyvsP1v5ZMXhTV/lQWpaiNgCw NCkFIYVC51cC9iGe5FnnQ5MR5jC7xBxWQmsLCjg+hfC7qcTMmwPYk9UbFB4bx8u8Bf+RKx MlQMO/eUqB57zrbljWbcW5gozWAaez2Q1Ez9yt4UPRQ6PBoJc1N/PYrIo/DA+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhP851rsFz15C2; Thu, 7 Sep 2023 15:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387FxngO016203; Thu, 7 Sep 2023 15:59:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387Fxnsb016200; Thu, 7 Sep 2023 15:59:49 GMT (envelope-from git) Date: Thu, 7 Sep 2023 15:59:49 GMT Message-Id: <202309071559.387Fxnsb016200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: b461276d7548 - main - Update WITH_/WITHOUT_SSP descriptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b461276d75488fe50c1503db85d43cbb8c3c3067 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b461276d75488fe50c1503db85d43cbb8c3c3067 commit b461276d75488fe50c1503db85d43cbb8c3c3067 Author: Ed Maste AuthorDate: 2023-08-30 20:49:44 +0000 Commit: Ed Maste CommitDate: 2023-09-07 15:59:46 +0000 Update WITH_/WITHOUT_SSP descriptions ProPolice refers to a specific implementation by Hiroaki Etoh and Kunikazu Yoda. The implementation in contemporary Clang and GCC is somewhat different and newer, so use a generic term in the src.conf descriptions. Sponsored by: The FreeBSD Foundation --- tools/build/options/WITHOUT_SSP | 2 +- tools/build/options/WITH_SSP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/build/options/WITHOUT_SSP b/tools/build/options/WITHOUT_SSP index 9dc19c117995..88162cecf14a 100644 --- a/tools/build/options/WITHOUT_SSP +++ b/tools/build/options/WITHOUT_SSP @@ -1 +1 @@ -Do not build world with propolice stack smashing protection. +Do not build world with stack smashing protection. diff --git a/tools/build/options/WITH_SSP b/tools/build/options/WITH_SSP index 22aba26fd6cc..0088dd133782 100644 --- a/tools/build/options/WITH_SSP +++ b/tools/build/options/WITH_SSP @@ -1 +1 @@ -Build world with propolice stack smashing protection. +Build world with stack smashing protection. From nobody Thu Sep 7 15:59:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhP864fR2z4sJTX; Thu, 7 Sep 2023 15:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhP863gsJz3N9p; Thu, 7 Sep 2023 15:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694102390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mdQgLKeVw33kEz+Mo7A2g/SffCnAlFhCa/xd+eOvZ8E=; b=yIOCghDMGHEgMhtwPcugqZ03g59Ru6WSNzqQeGoN25dfeZarMmsy/n2ynOc9rVuvYBA48I lhZHnN2tQtcivkFv7wmcvCUT6+plhf+FBJApUlQ0rj2ynkxT3HH2BBKhHlh5GUulrC6dxi yKQnrgJopRdzLzjY7LTDcz5TQaTqw9ypMt2pAtBt7zJfAK7jKGpbkgr6pHVSschO5Vmaom mKumFFSFYXwnOheTPI0uyu/cfXa0/r6IDqSBvo8POG6DaAEGbkUip4ZBw4JFS7a+0N2eI1 RH39U0ENdx7Z2Xp1XJreVDCVmok/vDTUFqHbXRBUbcG9jOyxFxQzlXiqFYBGDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694102390; a=rsa-sha256; cv=none; b=VfU6tXZZYHgMNUOdYo1r+cNZQ7f566Fu0ss6Rkym0BOPZCq1hvgzA/baaFPF0uf1BJiXHa 3wg4/MLzV4r0E4OvXp16FBIG0qRLEQFmiV2lSURpidXfww8fZTaXqQ3fRJ4hQ8fghlyudq oqtyATn8wm1eH4tT4jApU6+cXLzHgprtbQMoJXN0UaxLKusINMgc+9MCiDaMpezgrtU/Q8 IQCXghJ0qUQk6NPWbbBSckl6Y5E3C55gV/6nflFnwvtTHKVb7KM84gAKuQkNygjXsKXmfp B81zepcEj4t/lcuyQB+RldhU0xZZzTLZGaeRG3jiwF2K+0YRB/4SdB2c79oc0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694102390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mdQgLKeVw33kEz+Mo7A2g/SffCnAlFhCa/xd+eOvZ8E=; b=m4OoG6DdbFB3NjHLmpte5NR79rrY4eoWGBta6QxvVrAarOmrQxTssYVcTRRNXXUQ3WAQas Iee53LSiuwHAeiKmRIuO3pb9sX2FIsmsIJItSxgKk5k2p0c1Mg68PPVUMxzdccq9noJD1s Ov/4cAtCQEDFjOE6FGB0+9nb9oUGgWUkoVIeg0NfTDwdace7nkqoE9G2L+S1gxhlKs5MIR GpNI/gH5aktqijte9XdTzWbC0FvYfDJHJV6F6Sl65PRMNFhiBBpsdtjfsYuKLIurQulKrz hof9ZTde7QkW7x1/fHMc/cHGG0WkqdqUcFkCutpC6vPwvAXd8ctsA1GbqLe5jA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhP862fmcz15Qv; Thu, 7 Sep 2023 15:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387FxoSS016252; Thu, 7 Sep 2023 15:59:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387Fxoka016249; Thu, 7 Sep 2023 15:59:50 GMT (envelope-from git) Date: Thu, 7 Sep 2023 15:59:50 GMT Message-Id: <202309071559.387Fxoka016249@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5449d0144d61 - main - src.conf.5: regen after SSP option description update List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5449d0144d612d7b7b3b85ab292d514db4e300c3 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5449d0144d612d7b7b3b85ab292d514db4e300c3 commit 5449d0144d612d7b7b3b85ab292d514db4e300c3 Author: Ed Maste AuthorDate: 2023-09-07 15:57:46 +0000 Commit: Ed Maste CommitDate: 2023-09-07 15:59:46 +0000 src.conf.5: regen after SSP option description update --- share/man/man5/src.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index ff7623b1e8d1..a5e7c501825a 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd September 1, 2023 +.Dd September 7, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1560,7 +1560,7 @@ When set, it enforces these options: .Va WITHOUT_KERNEL_SYMBOLS .El .It Va WITHOUT_SSP -Do not build world with propolice stack smashing protection. +Do not build world with stack smashing protection. .It Va WITH_STAGING Enable staging of files to a stage tree. This can be best thought of as auto-install to From nobody Thu Sep 7 17:05:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQbs5YpYz4s1yP; Thu, 7 Sep 2023 17:05:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQbs565qz4DZs; Thu, 7 Sep 2023 17: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=1694106329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnhUezuoqVOV4Szuw5PbOlTljZYVrlnHLk00O+9yoO4=; b=iDZAArEVDYyBAFBA51lKfmszYkn0GQzKzTvkriWXh9XOxQD/+lNr7p+WPfF7vFgK/TDBTJ ggx9zxkPphCrsun1l17KpB6jGGXi7OKBua8JqbyL3Gkfp1eJBhsXcBJbO09EmSlf85XkjO ditGs1OcaUYel0aofcDsgC57MtyVGGE/q+WcA3A5etdoO+eaCTl16sZppwI6EfDqV5UrOr I3hiIAjnkjsO97g7AKoeu57c2R2wKdgVg6CMw52pyUHaS6lkEU5ydsSX3m/lmJk0cdT6fq 8nvg7K+gi3Lo908HaRr33Z80x+zQewKELPHcFOs9ICgMBjyqlIwFZa4uPTZKFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106329; a=rsa-sha256; cv=none; b=TOBAAxTYh59zIHP/2/mXJhTZACjy7ey9k5+bBRAwMXK7iBfJ87xdUuhNxib/nN8IiD3mXp iQfnXX6yRn7KWzmanqRdAsQLklpQEYbCopWDEEiqr7LYA35j9Nik9uPRta0khMO/LvCPQU IuWs9gN5NyqPd3tKpu1c8qJybKD3xNn6wsARlvsxtJM9uLDDCrZM6lzAl1ZHz1VyzzdF30 S9gCavlpMOY4jXliB/setTgcByaYj8UQ3wrVwPPj142l68P/TgUk3tf6IXl8p2UcYxPCSU ghuRq2CPkAddQh1uRKGZVBWp81OZdcr5tJpBemeeaTknirS77j8ePIsRCx2deg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnhUezuoqVOV4Szuw5PbOlTljZYVrlnHLk00O+9yoO4=; b=C0sPI/qJvM3JXiLKGM0pdiPsW+6RfPPkAKlQ0VeKwtVMmEdZDWfiUeTrLXpfsaVjMlykZi tyd6+OOg6EKSLcAPnYdxihpIQTVPCsC+BzBMdqaKuvRgnxur2vjIe7mYoQ3mx2RGqz+IZd oOsAUvK4zJmnAgaj23v7FW37dAr1/a0MAfcrQpr2DOJ+1Qz+pYl4B27hnypXcyUDOqFsN1 NCF1Um27HeBWv4sF9w9G9AaOKYXAwmj8mL0iO/tlz1Hu//J5S4FNuARp+czuLQ0+mceeUQ F3/zS4r5caE0GlcC2IAcH6f/ABCFA+DZUC1W/hk6gb5OeGNFQKQiw22kymO4JQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQbs49Zwz16f7; Thu, 7 Sep 2023 17:05:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5TQq032372; Thu, 7 Sep 2023 17:05:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5TCR032369; Thu, 7 Sep 2023 17:05:29 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:29 GMT Message-Id: <202309071705.387H5TCR032369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 10aa9ddb4d45 - main - pf: support SCTP multihoming List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10aa9ddb4d45ab0c8f56b0e91c7e8de213030c0f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=10aa9ddb4d45ab0c8f56b0e91c7e8de213030c0f commit 10aa9ddb4d45ab0c8f56b0e91c7e8de213030c0f Author: Kristof Provost AuthorDate: 2023-08-02 17:05:00 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:00 +0000 pf: support SCTP multihoming SCTP may announce additional IP addresses it'll use in the INIT/INIT_ACK chunks, or in ASCONF chunks at any time during the connection. Parse these parameters, evaluate the ruleset for the new connection and if allowed create the corresponding states. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D41637 --- sys/net/pfvar.h | 22 +++++- sys/netpfil/pf/pf.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++- sys/netpfil/pf/pf_norm.c | 34 +++++++-- 3 files changed, 231 insertions(+), 11 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 60c7136e267c..a131ba925013 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1531,6 +1531,9 @@ struct pfi_kkif { #define PFI_IFLAG_SKIP 0x0100 /* skip filtering on interface */ #ifdef _KERNEL +struct pf_sctp_multihome_job; +TAILQ_HEAD(pf_sctp_multihome_jobs, pf_sctp_multihome_job); + struct pf_pdesc { struct { int done; @@ -1578,10 +1581,22 @@ struct pf_pdesc { #define PFDESC_SCTP_SHUTDOWN 0x0010 #define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0020 #define PFDESC_SCTP_DATA 0x0040 -#define PFDESC_SCTP_OTHER 0x0080 +#define PFDESC_SCTP_ASCONF 0x0080 +#define PFDESC_SCTP_OTHER 0x0100 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; + + struct pf_sctp_multihome_jobs sctp_multihome_jobs; +}; + +struct pf_sctp_multihome_job { + TAILQ_ENTRY(pf_sctp_multihome_job) next; + struct pf_pdesc pd; + struct pf_addr src; + struct pf_addr dst; + struct mbuf *m; }; + #endif /* flags for RDR options */ @@ -2249,6 +2264,11 @@ void pf_addr_inc(struct pf_addr *, sa_family_t); int pf_refragment6(struct ifnet *, struct mbuf **, struct m_tag *, bool); #endif /* INET6 */ +int pf_multihome_scan_init(struct mbuf *, int, int, struct pf_pdesc *, + struct pfi_kkif *); +int pf_multihome_scan_asconf(struct mbuf *, int, int, struct pf_pdesc *, + struct pfi_kkif *); + u_int32_t pf_new_isn(struct pf_kstate *); void *pf_pull_hdr(struct mbuf *, int, void *, int, u_short *, u_short *, sa_family_t); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a5d7c1ba0155..a324a31d6d84 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -126,6 +126,8 @@ SDT_PROBE_DEFINE4(pf, ip, test6, done, "int", "int", "struct pf_krule *", SDT_PROBE_DEFINE5(pf, ip, state, lookup, "struct pfi_kkif *", "struct pf_state_key_cmp *", "int", "struct pf_pdesc *", "struct pf_kstate *"); +SDT_PROBE_DEFINE4(pf, sctp, multihome, test, "struct pfi_kkif *", + "struct pf_krule *", "struct mbuf *", "int"); SDT_PROBE_DEFINE3(pf, eth, test_rule, entry, "int", "struct ifnet *", "struct mbuf *"); @@ -307,6 +309,8 @@ static int pf_test_state_udp(struct pf_kstate **, static int pf_test_state_icmp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); +static void pf_sctp_multihome_delayed(struct pf_pdesc *, int, + struct pfi_kkif *, struct pf_kstate *); static int pf_test_state_sctp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); @@ -5912,6 +5916,174 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, return (PF_PASS); } +static void +pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, + struct pf_kstate *s) +{ + struct pf_sctp_multihome_job *j, *tmp; + int action;; + struct pf_kstate *sm = NULL; + struct pf_krule *ra = NULL; + struct pf_krule *r = &V_pf_default_rule; + struct pf_kruleset *rs = NULL; + + PF_RULES_RLOCK_TRACKER; + + TAILQ_FOREACH_SAFE(j, &pd->sctp_multihome_jobs, next, tmp) { + PF_RULES_RLOCK(); + action = pf_test_rule(&r, &sm, kif, + j->m, off, &j->pd, &ra, &rs, NULL); + PF_RULES_RUNLOCK(); + SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, action); + if (sm) + PF_STATE_UNLOCK(sm); + + free(j, M_PFTEMP); + } +} + +static int +pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, + struct pfi_kkif *kif) +{ + int off = 0; + struct pf_sctp_multihome_job *job; + + while (off < len) { + struct sctp_paramhdr h; + + if (!pf_pull_hdr(m, start + off, &h, sizeof(h), NULL, NULL, + pd->af)) + return (PF_DROP); + + /* Parameters are at least 4 bytes. */ + if (ntohs(h.param_length) < 4) + return (PF_DROP); + + switch (ntohs(h.param_type)) { + case SCTP_IPV4_ADDRESS: { + struct in_addr t; + + if (ntohs(h.param_length) != + (sizeof(struct sctp_paramhdr) + sizeof(t))) + return (PF_DROP); + + if (!pf_pull_hdr(m, start + off + sizeof(h), &t, sizeof(t), + NULL, NULL, pd->af)) + return (PF_DROP); + + /* + * Avoid duplicating states. We'll already have + * created a state based on the source address of + * the packet, but SCTP endpoints may also list this + * address again in the INIT(_ACK) parameters. + */ + if (t.s_addr == pd->src->v4.s_addr) + break; + + if (in_nullhost(t)) + t.s_addr = pd->src->v4.s_addr; + + /* + * We hold the state lock (idhash) here, which means + * that we can't acquire the keyhash, or we'll get a + * LOR (and potentially double-lock things too). We also + * can't release the state lock here, so instead we'll + * enqueue this for async handling. + * There's a relatively small race here, in that a + * packet using the new addresses could arrive already, + * but that's just though luck for it. + */ + job = malloc(sizeof(*job), M_PFTEMP, M_NOWAIT | M_ZERO); + if (! job) + return (PF_DROP); + + memcpy(&job->pd, pd, sizeof(*pd)); + + // New source address! + memcpy(&job->src, &t, sizeof(t)); + job->pd.src = &job->src; + memcpy(&job->dst, pd->dst, sizeof(job->dst)); + job->pd.dst = &job->dst; + job->m = m; + + TAILQ_INSERT_TAIL(&pd->sctp_multihome_jobs, job, next); + break; + } +#ifdef INET6 + case SCTP_IPV6_ADDRESS: { + struct in6_addr t; + + if (ntohs(h.param_length) != + (sizeof(struct sctp_paramhdr) + sizeof(t))) + return (PF_DROP); + + if (!pf_pull_hdr(m, start + off + sizeof(h), &t, sizeof(t), + NULL, NULL, pd->af)) + return (PF_DROP); + if (memcmp(&t, &pd->src->v6, sizeof(t)) == 0) + break; + if (memcmp(&t, &in6addr_any, sizeof(t)) == 0) + memcpy(&t, &pd->src->v6, sizeof(t)); + + job = malloc(sizeof(*job), M_PFTEMP, M_NOWAIT | M_ZERO); + if (! job) + return (PF_DROP); + + memcpy(&job->pd, pd, sizeof(*pd)); + memcpy(&job->src, &t, sizeof(t)); + job->pd.src = &job->src; + memcpy(&job->dst, pd->dst, sizeof(job->dst)); + job->pd.dst = &job->dst; + job->m = m; + + TAILQ_INSERT_TAIL(&pd->sctp_multihome_jobs, job, next); + break; + } +#endif + case SCTP_ADD_IP_ADDRESS: { + int ret; + struct sctp_asconf_paramhdr ah; + + if (!pf_pull_hdr(m, start + off, &ah, sizeof(ah), + NULL, NULL, pd->af)) + return (PF_DROP); + + ret = pf_multihome_scan(m, start + off + sizeof(ah), + ntohs(ah.ph.param_length) - sizeof(ah), pd, kif); + if (ret != PF_PASS) + return (ret); + break; + } + default: + break; + } + + off += roundup(ntohs(h.param_length), 4); + } + + return (PF_PASS); +} +int +pf_multihome_scan_init(struct mbuf *m, int start, int len, struct pf_pdesc *pd, + struct pfi_kkif *kif) +{ + start += sizeof(struct sctp_init_chunk); + len -= sizeof(struct sctp_init_chunk); + + return (pf_multihome_scan(m, start, len, pd, kif)); +} + +int +pf_multihome_scan_asconf(struct mbuf *m, int start, int len, + struct pf_pdesc *pd, struct pfi_kkif *kif) +{ + start += sizeof(struct sctp_asconf_chunk); + len -= sizeof(struct sctp_asconf_chunk); + + return (pf_multihome_scan(m, start, len, pd, kif)); +} + static int pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, struct mbuf *m, int off, void *h, struct pf_pdesc *pd, u_short *reason) @@ -7412,6 +7584,7 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, } memset(&pd, 0, sizeof(pd)); + TAILQ_INIT(&pd.sctp_multihome_jobs); if (default_actions != NULL) memcpy(&pd.act, default_actions, sizeof(pd.act)); pd.pf_mtag = pf_find_mtag(m); @@ -7613,6 +7786,8 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, pd.act.log |= PF_LOG_FORCE; goto done; } + pd.p_len = pd.tot_len - off; + pd.sport = &pd.hdr.sctp.src_port; pd.dport = &pd.hdr.sctp.dest_port; if (pd.hdr.sctp.src_port == 0 || pd.hdr.sctp.dest_port == 0) { @@ -7896,7 +8071,7 @@ done: /* pf_route() returns unlocked. */ if (rt) { pf_route(m0, r, kif->pfik_ifp, s, &pd, inp); - return (action); + goto out; } if (pf_dummynet(&pd, s, r, m0) != 0) { action = PF_DROP; @@ -7910,6 +8085,9 @@ done: if (s) PF_STATE_UNLOCK(s); +out: + pf_sctp_multihome_delayed(&pd, off, kif, s); + return (action); } #endif /* INET */ @@ -7959,6 +8137,7 @@ pf_test6(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb } memset(&pd, 0, sizeof(pd)); + TAILQ_INIT(&pd.sctp_multihome_jobs); if (default_actions != NULL) memcpy(&pd.act, default_actions, sizeof(pd.act)); pd.pf_mtag = pf_find_mtag(m); @@ -8441,7 +8620,7 @@ done: /* pf_route6() returns unlocked. */ if (rt) { pf_route6(m0, r, kif->pfik_ifp, s, &pd, inp); - return (action); + goto out; } if (pf_dummynet(&pd, s, r, m0) != 0) { action = PF_DROP; @@ -8458,8 +8637,11 @@ done: (mtag = m_tag_find(m, PACKET_TAG_PF_REASSEMBLED, NULL)) != NULL) action = pf_refragment6(ifp, m0, mtag, pflags & PFIL_FWD); +out: SDT_PROBE4(pf, ip, test6, done, action, reason, r, s); + pf_sctp_multihome_delayed(&pd, off, kif, s); + return (action); } #endif /* INET6 */ diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 8f532ad08c46..83b94db87a19 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -2021,11 +2021,13 @@ pf_normalize_mss(struct mbuf *m, int off, struct pf_pdesc *pd) } static int -pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) +pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd, + struct pfi_kkif *kif) { struct sctp_chunkhdr ch = { }; int chunk_off = sizeof(struct sctphdr); int chunk_start; + int ret; while (off + chunk_off < pd->tot_len) { if (!pf_pull_hdr(m, off + chunk_off, &ch, sizeof(ch), NULL, @@ -2040,7 +2042,8 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) chunk_off += roundup(ntohs(ch.chunk_length), 4); switch (ch.chunk_type) { - case SCTP_INITIATION: { + case SCTP_INITIATION: + case SCTP_INITIATION_ACK: { struct sctp_init_chunk init; if (!pf_pull_hdr(m, off + chunk_start, &init, @@ -2064,17 +2067,24 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) * RFC 9260, Section 3.1, INIT chunks MUST have zero * verification tag. */ - if (pd->hdr.sctp.v_tag != 0) + if (ch.chunk_type == SCTP_INITIATION && + pd->hdr.sctp.v_tag != 0) return (PF_DROP); pd->sctp_initiate_tag = init.init.initiate_tag; - pd->sctp_flags |= PFDESC_SCTP_INIT; + if (ch.chunk_type == SCTP_INITIATION) + pd->sctp_flags |= PFDESC_SCTP_INIT; + else + pd->sctp_flags |= PFDESC_SCTP_INIT_ACK; + + ret = pf_multihome_scan_init(m, off + chunk_start, + ntohs(init.ch.chunk_length), pd, kif); + if (ret != PF_PASS) + return (ret); + break; } - case SCTP_INITIATION_ACK: - pd->sctp_flags |= PFDESC_SCTP_INIT_ACK; - break; case SCTP_ABORT_ASSOCIATION: pd->sctp_flags |= PFDESC_SCTP_ABORT; break; @@ -2092,6 +2102,14 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) case SCTP_DATA: pd->sctp_flags |= PFDESC_SCTP_DATA; break; + case SCTP_ASCONF: + pd->sctp_flags |= PFDESC_SCTP_ASCONF; + + ret = pf_multihome_scan_asconf(m, off + chunk_start, + ntohs(ch.chunk_length), pd, kif); + if (ret != PF_PASS) + return (ret); + break; default: pd->sctp_flags |= PFDESC_SCTP_OTHER; break; @@ -2133,7 +2151,7 @@ pf_normalize_sctp(int dir, struct pfi_kkif *kif, struct mbuf *m, int ipoff, /* Unconditionally scan the SCTP packet, because we need to look for * things like shutdown and asconf chunks. */ - if (pf_scan_sctp(m, ipoff, off, pd) != PF_PASS) + if (pf_scan_sctp(m, ipoff, off, pd, kif) != PF_PASS) goto sctp_drop; r = TAILQ_FIRST(pf_main_ruleset.rules[PF_RULESET_SCRUB].active.ptr); From nobody Thu Sep 7 17:05:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQbt6r8zz4s1qN; Thu, 7 Sep 2023 17:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQbt5sJBz4DSL; Thu, 7 Sep 2023 17:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcwIJcLrowZjWM4/CR5o/35lhgVY+KqCFmvBfk2VnC4=; b=ocZ6y9wioWhzt/BXSYMmEihWvq8ROah1aKxNGf+jSwVK7ucb8cF4OAbjacyzD5oGlzesEz 5bYPeyNEc3wsKJKQXLQE6S7/GpGl2PiY0VWLbklyurDt6+jvnrX2Rmx3y+qRGAvRCtBSxf N3uCrfHg/xMc/p9I4ZVVmtuhMmC1J0SChUjzf/KhdFtr9XL4AfIpUNn6WR2RUpGlKck63W gZbwAYmsOiUdPVY96ix4AntFAPlRljpYau5rC3JZ23xCY0Pl5f09J0nlCJJlOGdPRIj2mK sbTd8XtZ/bdcFE88Ldn3Ed7N7cs5X/44mMJW1hgdJR2O8nfcX5WxlgiOZXEuRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106330; a=rsa-sha256; cv=none; b=b9kTROebaXP7ssEltHPRpmJoB+c/g9ZNHGjK9Z2tCfwxWuiWK3aJ3vSFsJWrh62Lp7kKal kDDWdk30evbs8vCqpwF8tQJWvUSxykqyyf1Ovctrl4VngaddIMcySkROpKpxXHWTyPwiWR 7APEkWGAlr9+txBoj50esRW83/BjRATzEy7R2U8nfSWORYLPrkMwDB/u2MsUVPfE2SHywE 3uiZ92LIO2P67JzteGOEE+c448g3cYjacD7hUamSLHA0dClSDwsIB04YDzDcZewq89r2gA Uc5Nu/VVxfttBIwnao2BwYyJcTMex33A+4D/sP/Hc8WRuMt8gzwzTm/R3YicVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcwIJcLrowZjWM4/CR5o/35lhgVY+KqCFmvBfk2VnC4=; b=ZDu9Ii+jGtL/G5398DUtV8FGykJg0aeMe0UKy3uAwO2/AO2ZvjqAK+iV8d0INJhrAR2bVA M2ga/MtCqG/s8WtnOO+dGPK7OByXWpuQaCEJzFha+05KeWEtNaFfvyYqilzsBdf8dRwRe9 epFELhOhQHGJ0KvW/n/SRG22FZ1rUMeseHMA22Tg7UhV9vToGhPxdSoMeHzqBnNDjHv5KJ drpgF2EwZ+38sMarwqs3sgnYo4kL7yMNlc4+CN+8yNnMlSkm3+c1H/oEZMgKcZ1I/fNJFA c3j9vFv6NpqUj4wShBiITV//ZX2AfaWIeoanww/aqMAoH2DTa+b2Vkk223GQOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQbt4rxYz16Rt; Thu, 7 Sep 2023 17:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5UPK032422; Thu, 7 Sep 2023 17:05:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5UTo032419; Thu, 7 Sep 2023 17:05:30 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:30 GMT Message-Id: <202309071705.387H5UTo032419@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 1a28d5fea7ed - main - pf tests: basic SCTP multihoming test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a28d5fea7edf200c37d14f7ed5865910664ec3d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1a28d5fea7edf200c37d14f7ed5865910664ec3d commit 1a28d5fea7edf200c37d14f7ed5865910664ec3d Author: Kristof Provost AuthorDate: 2023-08-02 08:44:52 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:01 +0000 pf tests: basic SCTP multihoming test The SCTP server will announce multiple addresses. Block one of them with pf, connect to the other have the client use the blocked address. pf is expected to have created state for all of the addresses announced by the server. In a separate test case add the secondary (client) IP after the connection has been established. The intent is to verify the functionality of the ASCONF chunk parsing. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D41638 --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/sctp.py | 442 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 443 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 70c0c300d7ad..44fe95680dfb 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -40,6 +40,7 @@ ATF_TESTS_SH+= altq \ tos ATF_TESTS_PYTEST+= frag6.py +ATF_TESTS_PYTEST+= sctp.py # Tests reuse jail names and so cannot run in parallel. TEST_METADATA+= is_exclusive=true diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py new file mode 100644 index 000000000000..b24d0c414ac8 --- /dev/null +++ b/tests/sys/netpfil/pf/sctp.py @@ -0,0 +1,442 @@ +import pytest +import ctypes +import socket +import ipaddress +import re +from atf_python.sys.net.tools import ToolsHelper +from atf_python.sys.net.vnet import VnetTestTemplate + +import time + +SCTP_UNORDERED = 0x0400 + +SCTP_NODELAY = 0x00000004 +SCTP_SET_PEER_PRIMARY_ADDR = 0x00000006 +SCTP_PRIMARY_ADDR = 0x00000007 + +SCTP_BINDX_ADD_ADDR = 0x00008001 +SCTP_BINDX_REM_ADDR = 0x00008002 + +class sockaddr_in(ctypes.Structure): + _fields_ = [ + ('sin_len', ctypes.c_uint8), + ('sin_family', ctypes.c_uint8), + ('sin_port', ctypes.c_uint16), + ('sin_addr', ctypes.c_uint32), + ('sin_zero', ctypes.c_int8 * 8) + ] + +class sockaddr_in6(ctypes.Structure): + _fields_ = [ + ('sin6_len', ctypes.c_uint8), + ('sin6_family', ctypes.c_uint8), + ('sin6_port', ctypes.c_uint16), + ('sin6_flowinfo', ctypes.c_uint32), + ('sin6_addr', ctypes.c_uint8 * 16), + ('sin6_scope_id', ctypes.c_uint32) + ] + +class sockaddr_storage(ctypes.Union): + _fields_ = [ + ("v4", sockaddr_in), + ("v6", sockaddr_in6) + ] + +class sctp_sndrcvinfo(ctypes.Structure): + _fields_ = [ + ('sinfo_stream', ctypes.c_uint16), + ('sinfo_ssn', ctypes.c_uint16), + ('sinfo_flags', ctypes.c_uint16), + ('sinfo_ppid', ctypes.c_uint32), + ('sinfo_context', ctypes.c_uint32), + ('sinfo_timetolive', ctypes.c_uint32), + ('sinfo_tsn', ctypes.c_uint32), + ('sinfo_cumtsn', ctypes.c_uint32), + ('sinfo_assoc_id', ctypes.c_uint32), + ] + +class sctp_setprim(ctypes.Structure): + _fields_ = [ + ('ssp_addr', sockaddr_storage), + ('ssp_pad', ctypes.c_int8 * (128 - 16)), + ('ssp_assoc_id', ctypes.c_uint32), + ('ssp_padding', ctypes.c_uint32) + ] + +def to_sockaddr(ip, port): + ip = ipaddress.ip_address(ip) + + if ip.version == 4: + addr = sockaddr_in() + addr.sin_len = ctypes.sizeof(addr) + addr.sin_family = socket.AF_INET + addr.sin_port = socket.htons(port) + addr.sin_addr = socket.htonl(int.from_bytes(ip.packed, byteorder='big')) + else: + assert ip.version == 6 + + addr = sockaddr_in6() + addr.sin6_len = ctypes.sizeof(addr) + addr.sin6_family = socket.AF_INET6 + addr.sin6_port = socket.htons(port) + for i in range(0, 16): + addr.sin6_addr[i] = ip.packed[i] + + return addr + +class SCTPServer: + def __init__(self, family, port=1234): + self._libc = ctypes.CDLL("libc.so.7", use_errno=True) + + self._listen_fd = self._libc.socket(family, socket.SOCK_STREAM, socket.IPPROTO_SCTP) + if self._listen_fd == -1: + raise Exception("Failed to create socket") + + if family == socket.AF_INET: + srvaddr = sockaddr_in() + srvaddr.sin_len = ctypes.sizeof(srvaddr) + srvaddr.sin_family = socket.AF_INET + srvaddr.sin_port = socket.htons(port) + srvaddr.sin_addr = socket.INADDR_ANY + else: + srvaddr = sockaddr_in6() + srvaddr.sin6_len = ctypes.sizeof(srvaddr) + srvaddr.sin6_family = family + srvaddr.sin6_port = socket.htons(port) + # Leave sin_addr empty, because ANY is zero + + ret = self._libc.bind(self._listen_fd, ctypes.pointer(srvaddr), + ctypes.sizeof(srvaddr)) + if ret == -1: + raise Exception("Failed to bind: %d" % ctypes.get_errno()) + + ret = self._libc.listen(self._listen_fd, 2) + if ret == -1: + raise Exception("Failed to listen") + + def _to_string(self, buf): + return ''.join([chr(int.from_bytes(i, byteorder='big')) for i in buf]).rstrip('\x00') + + def accept(self, vnet): + fd = self._libc.accept(self._listen_fd, 0, 0) + if fd < 0: + raise Exception("Failed to accept") + + print("SCTPServer: connection opened") + while True: + rcvinfo = sctp_sndrcvinfo() + flags = ctypes.c_int() + buf = ctypes.create_string_buffer(128) + + # Receive a single message, and inform the other vnet about it. + ret = self._libc.sctp_recvmsg(fd, ctypes.cast(buf, ctypes.c_void_p), 128, + 0, 0, ctypes.pointer(rcvinfo), ctypes.pointer(flags)) + if ret < 0: + print("SCTPServer: connection closed") + return + if ret == 0: + continue + + rcvd = {} + rcvd['ppid'] = socket.ntohl(rcvinfo.sinfo_ppid) + rcvd['data'] = self._to_string(buf) + rcvd['len'] = ret + print(rcvd) + vnet.pipe.send(rcvd) + +class SCTPClient: + def __init__(self, ip, port=1234, fromaddr=None): + self._libc = ctypes.CDLL("libc.so.7", use_errno=True) + + if ipaddress.ip_address(ip).version == 4: + family = socket.AF_INET + else: + family = socket.AF_INET6 + + self._fd = self._libc.socket(family, socket.SOCK_STREAM, + socket.IPPROTO_SCTP) + if self._fd == -1: + raise Exception("Failed to open socket") + + if fromaddr is not None: + addr = to_sockaddr(fromaddr, 0) + + ret = self._libc.bind(self._fd, ctypes.pointer(addr), ctypes.sizeof(addr)) + if ret != 0: + print("bind() => %d", ctypes.get_errno()) + raise + + addr = to_sockaddr(ip, port) + ret = self._libc.connect(self._fd, ctypes.pointer(addr), ctypes.sizeof(addr)) + if ret == -1: + raise Exception("Failed to connect") + + # Enable NODELAY, because otherwise the sending host may wait for SACK + # on a data chunk we've removed + enable = ctypes.c_int(1) + ret = self._libc.setsockopt(self._fd, socket.IPPROTO_SCTP, + SCTP_NODELAY, ctypes.pointer(enable), 4) + + def newpeer(self, addr): + print("newpeer(%s)" % (addr)) + + setp = sctp_setprim() + a = to_sockaddr(addr, 0) + if type(a) is sockaddr_in: + setp.ssp_addr.v4 = a + else: + assert type(a) is sockaddr_in6 + setp.ssp_addr.v6 = a + + ret = self._libc.setsockopt(self._fd, socket.IPPROTO_SCTP, + SCTP_PRIMARY_ADDR, ctypes.pointer(setp), ctypes.sizeof(setp)) + if ret != 0: + print("errno %d" % ctypes.get_errno()) + raise Exception(ctypes.get_errno()) + + def newprimary(self, addr): + print("newprimary(%s)" % (addr)) + + # Strictly speaking needs to be struct sctp_setpeerprim, but that's + # identical to sctp_setprim + setp = sctp_setprim() + a = to_sockaddr(addr, 0) + if type(a) is sockaddr_in: + setp.ssp_addr.v4 = a + else: + assert type(a) is sockaddr_in6 + setp.ssp_addr.v6 = a + + ret = self._libc.setsockopt(self._fd, socket.IPPROTO_SCTP, + SCTP_SET_PEER_PRIMARY_ADDR, ctypes.pointer(setp), ctypes.sizeof(setp)) + if ret != 0: + print("errno %d" % ctypes.get_errno()) + raise + + def bindx(self, addr, add): + print("bindx(%s, %s)" % (addr, add)) + + addr = to_sockaddr(addr, 0) + + if add: + flag = SCTP_BINDX_ADD_ADDR + else: + flag = SCTP_BINDX_REM_ADDR + ret = self._libc.sctp_bindx(self._fd, ctypes.pointer(addr), 1, flag) + if ret != 0: + print("sctp_bindx() errno %d" % ctypes.get_errno()) + raise + + def send(self, buf, ppid, ordered=False): + flags = 0 + + if not ordered: + flags = SCTP_UNORDERED + + ppid = socket.htonl(ppid) + ret = self._libc.sctp_sendmsg(self._fd, ctypes.c_char_p(buf), len(buf), + ctypes.c_void_p(0), 0, ppid, flags, 0, 0, 0) + if ret < 0: + raise Exception("Failed to send message") + + def close(self): + self._libc.close(self._fd) + self._fd = -1 + +class TestSCTP(VnetTestTemplate): + REQUIRED_MODULES = ["sctp", "pf"] + TOPOLOGY = { + "vnet1": {"ifaces": ["if1"]}, + "vnet2": {"ifaces": ["if1"]}, + "if1": {"prefixes4": [("192.0.2.1/24", "192.0.2.2/24")]}, + } + + def vnet2_handler(self, vnet): + # Give ourself a second IP address, for multihome testing + ifname = vnet.iface_alias_map["if1"].name + ToolsHelper.print_output("/sbin/ifconfig %s inet alias 192.0.2.3/24" % ifname) + + # Start an SCTP server process, pipe the ppid + data back to the other vnet? + srv = SCTPServer(socket.AF_INET, port=1234) + while True: + srv.accept(vnet) + + @pytest.mark.require_user("root") + def test_multihome(self): + srv_vnet = self.vnet_map["vnet2"] + + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "block proto sctp", + "pass inet proto sctp to 192.0.2.0/24"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("192.0.2.3", 1234) + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + try: + client.newpeer("192.0.2.2") + client.send(b"world", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "world" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss") + ToolsHelper.print_output("/sbin/pfctl -sr -vv") + + # Check that we have a state for 192.0.2.3 and 192.0.2.2 to 192.0.2.1 + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r"all sctp 192.0.2.1:.*192.0.2.2:1234", states) + + @pytest.mark.require_user("root") + def test_multihome_asconf(self): + srv_vnet = self.vnet_map["vnet2"] + + # Assign a second IP to ourselves + ToolsHelper.print_output("/sbin/ifconfig %s inet alias 192.0.2.10/24" + % self.vnet.iface_alias_map["if1"].name) + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "block proto sctp", + "pass inet proto sctp from 192.0.2.0/24"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("192.0.2.3", 1234, "192.0.2.1") + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + # Now add our second address to the connection + client.bindx("192.0.2.10", True) + + # We can still communicate + client.send(b"world", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "world" + + # Now change to a different peer address + try: + client.newprimary("192.0.2.10") + client.send(b"!", 0) + rcvd = self.wait_object(srv_vnet.pipe, 5) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "!" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss -vv") + + # Ensure we have the states we'd expect + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r"all sctp 192.0.2.10:.*192.0.2.3:1234", states) + +class TestSCTPv6(VnetTestTemplate): + REQUIRED_MODULES = ["sctp", "pf"] + TOPOLOGY = { + "vnet1": {"ifaces": ["if1"]}, + "vnet2": {"ifaces": ["if1"]}, + "if1": {"prefixes6": [("2001:db8::1/64", "2001:db8::2/64")]}, + } + + def vnet2_handler(self, vnet): + # Give ourself a second IP address, for multihome testing + ifname = vnet.iface_alias_map["if1"].name + ToolsHelper.print_output("/sbin/ifconfig %s inet6 alias 2001:db8::3/64" % ifname) + + # Start an SCTP server process, pipe the ppid + data back to the other vnet? + srv = SCTPServer(socket.AF_INET6, port=1234) + while True: + srv.accept(vnet) + + @pytest.mark.require_user("root") + def test_multihome(self): + srv_vnet = self.vnet_map["vnet2"] + + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "block proto sctp", + "pass inet6 proto sctp to 2001:db8::0/64"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("2001:db8::3", 1234) + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + # Now change to a different peer address + try: + client.newpeer("2001:db8::2") + client.send(b"world", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "world" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss -vv") + + # Check that we have the expected states + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 2001:db8::1\[.*2001:db8::3\[1234\]", states) + assert re.search(r"all sctp 2001:db8::1\[.*2001:db8::2\[1234\]", states) + + @pytest.mark.require_user("root") + def test_multihome_asconf(self): + srv_vnet = self.vnet_map["vnet2"] + + # Assign a second IP to ourselves + ToolsHelper.print_output("/sbin/ifconfig %s inet6 alias 2001:db8::10/64" + % self.vnet.iface_alias_map["if1"].name) + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "block proto sctp", + "pass inet6 proto sctp from 2001:db8::/64"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("2001:db8::3", 1234, "2001:db8::1") + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + # Now add our second address to the connection + client.bindx("2001:db8::10", True) + + # We can still communicate + client.send(b"world", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "world" + + # Now change to a different peer address + try: + client.newprimary("2001:db8::10") + client.send(b"!", 0) + rcvd = self.wait_object(srv_vnet.pipe, 5) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "!" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss -vv") + + # Check that we have the expected states + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 2001:db8::1\[.*2001:db8::3\[1234\]", states) + assert re.search(r"all sctp 2001:db8::10\[.*2001:db8::3\[1234\]", states) From nobody Thu Sep 7 17:05:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQbw0tsnz4s1t6; Thu, 7 Sep 2023 17:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQbw04gWz4DYB; Thu, 7 Sep 2023 17:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ANMoB7jfsST+D45fCvxsCMO99oqht9MTiYmGWFP8Oo=; b=XZIOuaQ3//F26774beUazDXN1WgqyLCorQyj4wF6x9Y33j1zFuM7+LgflLKpI1ByFCLAVs Vq1Hz19MIEP8iKmNbnXVbbJLRT4/LJoiQFwBA9IYj0vVFYlyhWx0KLVLbWEbqVOkNcys+S 0zNbru2gRxfnu1OkLOlQkobO543JGWKSBbV441BQ1mIMXUVLr4Ce5I+5iXJdyebu6QD8+s Tb4bbYZLemfJOpdiQ5KbrFEBCdaLEMcjB0b6UCSwr9qXBkfXf9+gXOwzIumc0i9+/9Fpsd BlvtwzTkJ5Az8sH3Cdbd7zwK6c2vQv+MfI7bJJITu1eF/5iQBXjfcPzZZk11hA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106332; a=rsa-sha256; cv=none; b=HMh9h4+m3Ox+6IQQ+n50JbS8k6ZTIN4ZMgtj+qFsE/aveLaxdt8TEhXQD3I0UskByhr5LZ GHgpH2nRNWPe2eX6+ki984a2RXSdebK5qS9DKtYKH3dNtbXnGcmSDbqKCREQvyn3DO8dZq rciJIQ7yPfqyM8jgJr418tJkCVrMIfb1q4trXPglFKXBn6lpAghZjkucuNH1JPh4u+GrW/ OoamC1i43+Z7euvDqQTnAMeiUiQGjECjQZ8zItp9+Te1woJ1V3nFt7u2b86yUQaqNNJKnR HiMlUT3nSDtH25OV/f6JlLwaDaOAr1fjX+MjrttABtSOhoY4W7rVidOpAyc0LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ANMoB7jfsST+D45fCvxsCMO99oqht9MTiYmGWFP8Oo=; b=NA6X8EmZDe/fgfdfgu+9glxnMvqGBn9SbNyMDbkPf529jTCIul0tPCloCi0uxKXRD9ifaA K4aKg0+haoSnPE/5S9BSBgoPMyLE3jN2GqB1Ms0yE42TGUHVTGFKl2BOfccIlZ4Noy503n oWkZCui8xsj+dcGY7k8APM+7pfND1RmCBIh4otT8tOIj6QoQDJ7h8fhIzamDZ/FWJTZxHz jdzj83gQPgfllwWxGo4JoiYGKtDDRtAEhoEadJfgAD3Be4Aa3wrRTGBPXk4S6WIIRbDgl6 gr9LV8DI3qcL1QPhiePBjWPu8+QIEgRx/v+iHqP7P0lE+kbcRMgwDsNq0AdIFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQbv69MGz16Rv; Thu, 7 Sep 2023 17:05:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5VXA032474; Thu, 7 Sep 2023 17:05:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5V1L032471; Thu, 7 Sep 2023 17:05:31 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:31 GMT Message-Id: <202309071705.387H5V1L032471@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 51a78dd2764b - main - pf: improve SCTP state validation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51a78dd2764beabfd19a58b8a8b04387a547f02e Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=51a78dd2764beabfd19a58b8a8b04387a547f02e commit 51a78dd2764beabfd19a58b8a8b04387a547f02e Author: Kristof Provost AuthorDate: 2023-09-01 11:33:56 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:01 +0000 pf: improve SCTP state validation Only create new states for INIT chunks, or when we're creating a secondary state for a multihomed association. Store and verify verification tag. MFC after: 3 weeks Sponsored by: Orange Business Services --- sys/net/pfvar.h | 8 +++++++- sys/netpfil/pf/pf.c | 32 ++++++++++++++++++++++---------- sys/netpfil/pf/pf_norm.c | 17 +++++++++++++++++ 3 files changed, 46 insertions(+), 11 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index a131ba925013..d63a7bb1afb2 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -900,7 +900,10 @@ struct pf_state_scrub { #define PFSS_DATA_NOTS 0x0080 /* no timestamp on data packets */ u_int8_t pfss_ttl; /* stashed TTL */ u_int8_t pad; - u_int32_t pfss_ts_mod; /* timestamp modulation */ + union { + u_int32_t pfss_ts_mod; /* timestamp modulation */ + u_int32_t pfss_v_tag; /* SCTP verification tag */ + }; }; struct pf_state_host { @@ -1583,6 +1586,7 @@ struct pf_pdesc { #define PFDESC_SCTP_DATA 0x0040 #define PFDESC_SCTP_ASCONF 0x0080 #define PFDESC_SCTP_OTHER 0x0100 +#define PFDESC_SCTP_ADD_IP 0x0200 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; @@ -2297,6 +2301,8 @@ int pf_normalize_tcp_init(struct mbuf *, int, struct pf_pdesc *, int pf_normalize_tcp_stateful(struct mbuf *, int, struct pf_pdesc *, u_short *, struct tcphdr *, struct pf_kstate *, struct pf_state_peer *, struct pf_state_peer *, int *); +int pf_normalize_sctp_init(struct mbuf *, int, struct pf_pdesc *, + struct pf_state_peer *, struct pf_state_peer *); int pf_normalize_sctp(int, struct pfi_kkif *, struct mbuf *, int, int, void *, struct pf_pdesc *); u_int32_t diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a324a31d6d84..c24d4dfce742 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4909,11 +4909,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (s->state_flags & PFSTATE_SCRUB_TCP && pf_normalize_tcp_init(m, off, pd, th, &s->src, &s->dst)) { REASON_SET(&reason, PFRES_MEMORY); - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); - return (PF_DROP); + goto drop; } if (s->state_flags & PFSTATE_SCRUB_TCP && s->src.scrub && pf_normalize_tcp_stateful(m, off, pd, &reason, th, s, @@ -4922,12 +4918,13 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, DPFPRINTF(PF_DEBUG_URGENT, ("pf_normalize_tcp_stateful failed on first " "pkt\n")); - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); - return (PF_DROP); + goto drop; } + } else if (pd->proto == IPPROTO_SCTP) { + if (pf_normalize_sctp_init(m, off, pd, &s->src, &s->dst)) + goto drop; + if (! (pd->sctp_flags & (PFDESC_SCTP_INIT | PFDESC_SCTP_ADD_IP))) + goto drop; } s->direction = pd->dir; @@ -5024,6 +5021,13 @@ csfailed: } return (PF_DROP); + +drop: + pf_src_tree_remove_state(s); + s->timeout = PFTM_UNLINKED; + STATE_DEC_COUNTERS(s); + pf_free_state(s); + return (PF_DROP); } static int @@ -5891,6 +5895,13 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, } } + if (src->scrub != NULL) { + if (src->scrub->pfss_v_tag == 0) { + src->scrub->pfss_v_tag = pd->hdr.sctp.v_tag; + } else if (src->scrub->pfss_v_tag != pd->hdr.sctp.v_tag) + return (PF_DROP); + } + (*state)->expire = time_uptime; /* translate source/destination address, if necessary */ @@ -5931,6 +5942,7 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, TAILQ_FOREACH_SAFE(j, &pd->sctp_multihome_jobs, next, tmp) { PF_RULES_RLOCK(); + j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; action = pf_test_rule(&r, &sm, kif, j->m, off, &j->pd, &ra, &rs, NULL); PF_RULES_RUNLOCK(); diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 83b94db87a19..d63cf0ebe54e 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1565,11 +1565,28 @@ pf_normalize_tcp_init(struct mbuf *m, int off, struct pf_pdesc *pd, void pf_normalize_tcp_cleanup(struct pf_kstate *state) { + /* XXX Note: this also cleans up SCTP. */ uma_zfree(V_pf_state_scrub_z, state->src.scrub); uma_zfree(V_pf_state_scrub_z, state->dst.scrub); /* Someday... flush the TCP segment reassembly descriptors. */ } +int +pf_normalize_sctp_init(struct mbuf *m, int off, struct pf_pdesc *pd, + struct pf_state_peer *src, struct pf_state_peer *dst) +{ + src->scrub = uma_zalloc(V_pf_state_scrub_z, M_ZERO | M_NOWAIT); + if (src->scrub == NULL) + return (1); + + dst->scrub = uma_zalloc(V_pf_state_scrub_z, M_ZERO | M_NOWAIT); + if (dst->scrub == NULL) { + uma_zfree(V_pf_state_scrub_z, src); + return (1); + } + + return (0); +} int pf_normalize_tcp_stateful(struct mbuf *m, int off, struct pf_pdesc *pd, From nobody Thu Sep 7 17:05:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQbx3h2Vz4s1lq; Thu, 7 Sep 2023 17:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQbx1n3gz4Ds7; Thu, 7 Sep 2023 17:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLqSWxUBxoFo0jW4a9a7qoQQLK1AvpaTlz5LoO3K10g=; b=cJ4hkjNekyEjpKP7iSjQ5Z3LC76MhTCQ+WqhPD8mGAKAlsP5kz1ZPO8ZU3YuPFxOgeK9Sd VIT3h6edPGTYGM7chh8Q4BiJdmp16jdGQWeEZjVWR5CaASbOXG2+SDmHtTUzcjLhNoUriR 0MCOjWEfOGjxbEROeRT0uwr1E0HiNkFuJ++BlBrEaqVYXY/QRjhi45fM9+PADG86lK+A9P l5NB0gj0DjIdnZfR7nbgz0chP3kzA7FQm0lSXLqabFclAMLEeflwb8W5y6eYxBmkWi5gln C0HcKVg3CmMDLdBy3p4gPoFaFEgfMW/+dGUYH73vrE6VEfmuylt2JWqUW9VuJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106333; a=rsa-sha256; cv=none; b=nfAxhny8AmIa8SSZSkH9viOLJmJwG4Xq+s2Zor/5fBKnY5QEW1mGatO0iHOySyjbwSoz1S kiPIDE2j2sFGNfZVD+QObKrfXbbiZ+o5W3vayDF41aWpncJVTFeDENrDjHfISLp60eTjK/ gyYUhWXF8zBLEXIez1nvx6Ip6Mg6eew21bb5CWqyZOXsu2C56uLxW2GdMM4B1gmJ7jYVpf pfcjCwX2Q5tJVk94A0MFBRMsS/4Jb9FJtqGjIdaAUY67GgPD6pIMFN/Rplhr6gn0k+sbx5 Z3cuQm1ntKsEnzKIyd5p7v2z8g68iIOsXwkTW4ExJ592NqAkbmtw1aReRAiwKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLqSWxUBxoFo0jW4a9a7qoQQLK1AvpaTlz5LoO3K10g=; b=QD+LJ4cPAOGfcePUFnHSUaIRgHxYJwjAfafEz6HrZnDQtm5VdVNVbGi43ad5u9NcgZ7M3U 3V3a0ENmzIrobx+0HZmSVEeEXm8omSgsewypH6BUeJJvL9e+y2MA0cmS0U0V/C184e5Z6l W/m7ho4IEQrFvQG6e9Q0lk67q3IUC7ljfnz5PIEXT+R2IfcA3ahtuxFAUeDxMLx0j4cwey +wSYS+z9FtgK54ld5kGODHVTSPfJKumKmCZFZiGH6O+HEFKBqRDvoc1+dZciyikZgjjwUS aSaw3wbMHG1HMwe0NyW0Lvs4738jgx8/H7q31TTC65/CsnJ7GtcOEneRP5iUag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQbx04fYz16JX; Thu, 7 Sep 2023 17:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5Wvn032523; Thu, 7 Sep 2023 17:05:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5WmZ032520; Thu, 7 Sep 2023 17:05:32 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:32 GMT Message-Id: <202309071705.387H5WmZ032520@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: f1cc29af8447 - main - pf: inherit v_tag values to multihomed connections List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1cc29af84475b800df5eb94ff7d5b9484ddbdac Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f1cc29af84475b800df5eb94ff7d5b9484ddbdac commit f1cc29af84475b800df5eb94ff7d5b9484ddbdac Author: Kristof Provost AuthorDate: 2023-09-04 16:00:08 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:01 +0000 pf: inherit v_tag values to multihomed connections When we create a new state for an existing SCTP association inherit the v_tag values from the original connection. MFC after: 3 weeks Sponsored by: Orange Business Services --- sys/netpfil/pf/pf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c24d4dfce742..5667cb422bbb 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5947,8 +5947,12 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, j->m, off, &j->pd, &ra, &rs, NULL); PF_RULES_RUNLOCK(); SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, action); - if (sm) + if (sm) { + /* Inherit v_tag values. */ + sm->src.scrub->pfss_v_tag = s->src.scrub->pfss_flags; + sm->dst.scrub->pfss_v_tag = s->dst.scrub->pfss_flags; PF_STATE_UNLOCK(sm); + } free(j, M_PFTEMP); } From nobody Thu Sep 7 17:05:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQby3PVdz4s24b; Thu, 7 Sep 2023 17:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQby21tbz4DlB; Thu, 7 Sep 2023 17:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nUhfJfvA2VS2EtKEsXVGRdnMmnNnItaCppdFQttGcBQ=; b=Zj1Dc8EVQou1ajbc1k+SjOmuZRwtjORynZLIp31XKOR5hkgswOJXbysQ5+X6RjvkgiVlRb NMW+QfqWbrPtFor6RttvFSLdrMY3l38s7L6eu53Ao/s9HThj2prcrTVEdg2uOJkOW0Y4fy +PUyXHwAvx4jwyz0/AQ22km92gihghbJv1U3DeV37ayQbVBpnwEh0NexmF2udajtocFpeR nfAWq8ptYZl/4t7WWH9Q3nNMmD1lStnu2zffq5vXSSPhWVopwvkC0+t8UV9LRzwIPT2ZEY JDhLJ1cHswFoXZ+pnslkfcISV1UMXzeySSvvoyxn7PsSy1ZHzGNdGQoVq7bUJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106334; a=rsa-sha256; cv=none; b=adE3kd17tdMdfcPmYmCtatV04ncjl2YP4xh5rGzmBeDYrcziFojAUE6QSI79eeUe34z4ss /meZp+B3TDqx0MMPdbr6Ez3zJmGhM4gMru+rD4QZwKlPGTmTGNXgb5gLo6MKyUIArNbB0L vltAAkxs0uqd4ZlKXvpKTVQ13MwnVNkKjE61/6xFgTsbeFI8TmIZdz63Djn7DH2h3C/h9V FODEbsb2R/tXW5/GcXzzP2H0JtcE/uOrKfMOVddiV6uDBTJRmcWLR7JOsWR3rbzoMF7Bx8 Qxa+p1XrTpLK2UCNB/9lGkkcS51egsqXrEagBOcvUaOaaRrUavAbMx+j6IxOGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nUhfJfvA2VS2EtKEsXVGRdnMmnNnItaCppdFQttGcBQ=; b=MIbLn+hTTTBtkZX07o15yekA86GjSuxLwqBeJa6CXQ6MrDB7BTsD7Dy9gBoefyQ3pL0HDb 7L9ij1+JJdzghJGfl3/Y1UL0xQ3e2vnyThZHqjgi+3c9Ic3uMRWnkMidul86FI8xAtq7GA irJ9kVID7hEoId4qMekgGbmClbl7mIZf3yC2D7dVt/sDy/XOLZnZwwyo7RaylleANZCBEl uOaQujP/to+8dCKFdBDsw7CWhCBHSNPq06CmpcGBiojeG6PfLwEa149mh9GwGXVVWPtX1u 8L5Y0GuS6HsnBsvSrAYAX8CrP68eCC7FkIWOfP/nWLyhe68790cFwbZ8wOVrFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQby0kQMz16f8; Thu, 7 Sep 2023 17:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5YWT032585; Thu, 7 Sep 2023 17:05:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5XIh032582; Thu, 7 Sep 2023 17:05:33 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:33 GMT Message-Id: <202309071705.387H5XIh032582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 4d3af82f7896 - main - pf: mark removed connections within a multihome association as shutting down List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d3af82f78961180149e8a579b481dc382f76eef Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4d3af82f78961180149e8a579b481dc382f76eef commit 4d3af82f78961180149e8a579b481dc382f76eef Author: Kristof Provost AuthorDate: 2023-09-05 16:30:42 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:01 +0000 pf: mark removed connections within a multihome association as shutting down Parse IP removal in ASCONF chunks, find the affected state(s) and mark them as shutting down. This will cause them to time out according to PFTM_TCP_CLOSING timeouts, rather than waiting for the established session timeout. MFC after: 3 weeks Sponsored by: Orange Business Services --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 87 ++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 73 insertions(+), 15 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index d63a7bb1afb2..a5eeb60a0d7c 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1599,6 +1599,7 @@ struct pf_sctp_multihome_job { struct pf_addr src; struct pf_addr dst; struct mbuf *m; + int op; }; #endif diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5667cb422bbb..9a571b1ee3d9 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5941,17 +5941,57 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, PF_RULES_RLOCK_TRACKER; TAILQ_FOREACH_SAFE(j, &pd->sctp_multihome_jobs, next, tmp) { - PF_RULES_RLOCK(); - j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; - action = pf_test_rule(&r, &sm, kif, - j->m, off, &j->pd, &ra, &rs, NULL); - PF_RULES_RUNLOCK(); - SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, action); - if (sm) { - /* Inherit v_tag values. */ - sm->src.scrub->pfss_v_tag = s->src.scrub->pfss_flags; - sm->dst.scrub->pfss_v_tag = s->dst.scrub->pfss_flags; - PF_STATE_UNLOCK(sm); + switch (j->op) { + case SCTP_ADD_IP_ADDRESS: { + j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; + PF_RULES_RLOCK(); + action = pf_test_rule(&r, &sm, kif, + j->m, off, &j->pd, &ra, &rs, NULL); + PF_RULES_RUNLOCK(); + SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, action); + if (sm) { + /* Inherit v_tag values. */ + sm->src.scrub->pfss_v_tag = s->src.scrub->pfss_flags; + sm->dst.scrub->pfss_v_tag = s->dst.scrub->pfss_flags; + PF_STATE_UNLOCK(sm); + } + break; + } + case SCTP_DEL_IP_ADDRESS: { + struct pf_state_key_cmp key; + uint8_t psrc; + + bzero(&key, sizeof(key)); + key.af = j->pd.af; + key.proto = IPPROTO_SCTP; + if (j->pd.dir == PF_IN) { /* wire side, straight */ + PF_ACPY(&key.addr[0], j->pd.src, key.af); + PF_ACPY(&key.addr[1], j->pd.dst, key.af); + key.port[0] = j->pd.hdr.sctp.src_port; + key.port[1] = j->pd.hdr.sctp.dest_port; + } else { /* stack side, reverse */ + PF_ACPY(&key.addr[1], j->pd.src, key.af); + PF_ACPY(&key.addr[0], j->pd.dst, key.af); + key.port[1] = j->pd.hdr.sctp.src_port; + key.port[0] = j->pd.hdr.sctp.dest_port; + } + + sm = pf_find_state(kif, &key, j->pd.dir); + if (sm != NULL) { + PF_STATE_LOCK_ASSERT(sm); + if (j->pd.dir == sm->direction) { + psrc = PF_PEER_SRC; + } else { + psrc = PF_PEER_DST; + } + pf_set_protostate(sm, psrc, SCTP_SHUTDOWN_PENDING); + sm->timeout = PFTM_TCP_CLOSING; + PF_STATE_UNLOCK(sm); + } + break; + default: + panic("Unknown op %#x", j->op); + } } free(j, M_PFTEMP); @@ -5960,7 +6000,7 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, static int pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, - struct pfi_kkif *kif) + struct pfi_kkif *kif, int op) { int off = 0; struct pf_sctp_multihome_job *job; @@ -6022,6 +6062,7 @@ pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, memcpy(&job->dst, pd->dst, sizeof(job->dst)); job->pd.dst = &job->dst; job->m = m; + job->op = op; TAILQ_INSERT_TAIL(&pd->sctp_multihome_jobs, job, next); break; @@ -6052,6 +6093,7 @@ pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, memcpy(&job->dst, pd->dst, sizeof(job->dst)); job->pd.dst = &job->dst; job->m = m; + job->op = op; TAILQ_INSERT_TAIL(&pd->sctp_multihome_jobs, job, next); break; @@ -6066,7 +6108,22 @@ pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, return (PF_DROP); ret = pf_multihome_scan(m, start + off + sizeof(ah), - ntohs(ah.ph.param_length) - sizeof(ah), pd, kif); + ntohs(ah.ph.param_length) - sizeof(ah), pd, kif, + SCTP_ADD_IP_ADDRESS); + if (ret != PF_PASS) + return (ret); + break; + } + case SCTP_DEL_IP_ADDRESS: { + int ret; + struct sctp_asconf_paramhdr ah; + + if (!pf_pull_hdr(m, start + off, &ah, sizeof(ah), + NULL, NULL, pd->af)) + return (PF_DROP); + ret = pf_multihome_scan(m, start + off + sizeof(ah), + ntohs(ah.ph.param_length) - sizeof(ah), pd, kif, + SCTP_DEL_IP_ADDRESS); if (ret != PF_PASS) return (ret); break; @@ -6087,7 +6144,7 @@ pf_multihome_scan_init(struct mbuf *m, int start, int len, struct pf_pdesc *pd, start += sizeof(struct sctp_init_chunk); len -= sizeof(struct sctp_init_chunk); - return (pf_multihome_scan(m, start, len, pd, kif)); + return (pf_multihome_scan(m, start, len, pd, kif, SCTP_ADD_IP_ADDRESS)); } int @@ -6097,7 +6154,7 @@ pf_multihome_scan_asconf(struct mbuf *m, int start, int len, start += sizeof(struct sctp_asconf_chunk); len -= sizeof(struct sctp_asconf_chunk); - return (pf_multihome_scan(m, start, len, pd, kif)); + return (pf_multihome_scan(m, start, len, pd, kif, SCTP_ADD_IP_ADDRESS)); } static int From nobody Thu Sep 7 17:05:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhQbz3fp6z4s1yq; Thu, 7 Sep 2023 17:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhQbz2Prpz4Dyk; Thu, 7 Sep 2023 17:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rCFcz1FycBdIVgqBwSvYfxKLvyKveWiqvHEhoCAeoOA=; b=HMKKeS63x7ZM801pxLQQfNajyiCUOPOKrTDDw+sRo45dAjPxAcXA4gkfS2LLJIrv7nq8Ht tJPB6BxPcZpeoC5OXrSmM03qxqFhGscj0BRVHmlbJ6EhFkTfc1aDMfYHFFpb7B0iA7XTVs v1LctfgaVdQoJLCHn5EG6S6aPOYVTWtUAVdugHOM+aFdkcNqYxxdkWUVbvxLBf1naAnxgC QL8z1vze0MzMce6LCwpsao667KERm01qUYdo9Y+R6GwMLP/8NFr+tPUB+aV4gyPu/kmbiX h//l9qFWDQRnGMjNkvGw7dsr2itDHnO2m9tgqk0QNHIkVwVDRgVh8I0zWteBpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694106335; a=rsa-sha256; cv=none; b=uku3kdxcp2O/cr7knwnvCQVoffSfCavCaDf14THUILROHHwSZ/WIp9Gu5fxyFnCSTWWbNU B6R3b9OYfxrWUpnMqNFkzzv/hjwRvzJUtIxVOwvHs8D9wxgyas7Pdk+RlTANixEEkfRXL9 oMSVU6vqUtq9OrGvzlbKXE+1hZ5xuxoPvGLXbYV69TfqN0BkbIGrqObsWy3+fwH0P8DAmq 3xNCrAtCGRxGkRRVmaKZp6syYRHvLiPJ3m2uaOUcxCNgM8YUoz/W/VyewnS98m7ThrwMYa gdYVePAyOyGRcnvCQb9MrU+zFrpqvYp1iftJgXCbUs52sZbe6CWT6Of/p5Y2bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694106335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rCFcz1FycBdIVgqBwSvYfxKLvyKveWiqvHEhoCAeoOA=; b=buDV8Zj4CfQpXz7Q7C6QqKiuZfRXjpOdYfedf46ZXrFHBIzSGWBLw/+t4X29ONQti7D2ML Sc0s9/oAFiU1h73nhfc0AE++52Q8MvLAUH0mtKdOJy6hivL1ngWwvhBF4pQ4yWKavpoVwB 5WwlabCf8zKqKo05qPqY+3WE46DM79Wi6tM+50pFvXrVknaOOGVHnUhVbcXyCVLOD5O4C4 o1T6R/hfQkh4iL17FTR2XQbmdiSxMzeZIFpND/wREqTiK4nFxuYeFwPqI/VjlQbwYJQu8j dMFhj0zdYcScdpJHbmvAXzg58LWoLRJ2D4scuFNKt5cy5oAiwAHDcpuNW5Wepg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhQbz1WNyz169K; Thu, 7 Sep 2023 17:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387H5ZjU032647; Thu, 7 Sep 2023 17:05:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387H5Zvr032644; Thu, 7 Sep 2023 17:05:35 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:05:35 GMT Message-Id: <202309071705.387H5Zvr032644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 97340b68d18b - main - pf tests: extend SCTP tests to test state removal through ASCONF List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97340b68d18bbbdebf0f73ed900c5a33894061dd Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=97340b68d18bbbdebf0f73ed900c5a33894061dd commit 97340b68d18bbbdebf0f73ed900c5a33894061dd Author: Kristof Provost AuthorDate: 2023-09-05 17:00:49 +0000 Commit: Kristof Provost CommitDate: 2023-09-07 17:05:01 +0000 pf tests: extend SCTP tests to test state removal through ASCONF pf can now mark shut down multihomed connections shutting down. Verify that pf does the right thing. MFC after: 3 weeks Sponsored by: Orange Business Services --- tests/sys/netpfil/pf/sctp.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py index b24d0c414ac8..5e6dca5dd64b 100644 --- a/tests/sys/netpfil/pf/sctp.py +++ b/tests/sys/netpfil/pf/sctp.py @@ -342,6 +342,24 @@ class TestSCTP(VnetTestTemplate): assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.10:.*192.0.2.3:1234", states) + # Now remove 192.0.2.1 as an address + client.bindx("192.0.2.1", False) + + # We can still communicate + try: + client.send(b"More data", 0) + rcvd = self.wait_object(srv_vnet.pipe, 5) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] =="More data" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss -vv") + + # Verify that state is closing + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234.*SHUTDOWN", states) + class TestSCTPv6(VnetTestTemplate): REQUIRED_MODULES = ["sctp", "pf"] TOPOLOGY = { @@ -440,3 +458,21 @@ class TestSCTPv6(VnetTestTemplate): states = ToolsHelper.get_output("/sbin/pfctl -ss") assert re.search(r"all sctp 2001:db8::1\[.*2001:db8::3\[1234\]", states) assert re.search(r"all sctp 2001:db8::10\[.*2001:db8::3\[1234\]", states) + + # Now remove 2001:db8::1 as an address + client.bindx("2001:db8::1", False) + + # Wecan still communicate + try: + client.send(b"More data", 0) + rcvd = self.wait_object(srv_vnet.pipe, 5) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "More data" + finally: + # Debug output + ToolsHelper.print_output("/sbin/pfctl -ss -vv") + + # Verify that the state is closing + states = ToolsHelper.get_output("/sbin/pfctl -ss") + assert re.search(r"all sctp 2001:db8::1\[.*2001:db8::3\[1234\].*SHUTDOWN", states) From nobody Thu Sep 7 17:36:06 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhRHC2L8Qz4sMQx; Thu, 7 Sep 2023 17:36:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhRHC1dFzz4R6g; Thu, 7 Sep 2023 17:36:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694108167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6rk5CNgS7/9r5fcxGk4acRjRb7QVbNY/trcAVhyONU=; b=VWSG9uBORGY07Umi10GJVqEhEiVXaigptl7Pd+g/WvigFLOYvmpZ4fWH87C2d8qNPE+ik2 9jpphFdV19dRJxJcWGwsRQTAtsP+HevHiMX6Omo0gmgXK4G5wN34iF/v1a3xj4LWRyOc07 AhfmaXq+zo62dhlFWfwreC21HuWaD6FCXg1dgxz/JQIL5UIMoi6GITXB4Xt07f0DgTfcum dkX03MgmfrD7KZKZAQ+JvkLatWA6cxJYCEwKQX1HThSLudSnLprAiFxx7zKNJjudUZeYcU 2zUA/lga3UQF2nnfEnXcaCtp5YljTLeBoWyJmn0EJJubVq2L8YeUd+L3QdRNQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694108167; a=rsa-sha256; cv=none; b=DkUbw2q9TyAo4MCfPG1X4zd1N2Uj4VXrQCpL3I01XtXbUyfd0YkWkHOMYU/SrbhIkwqV71 O63w+2wu4Q2+S+D+25xYRGV4lGygIJoAp8RciB5AnCtLok1y6pOyv2QY4pD/mf9Dq9Fy54 cXChu5DtMnPclwO396ywGGOTSfJxTL3dxjx0neGWhwZwaBRvttfyK2zMYcc/5zDcmOOk5u DDP0IOe0htyuttlH7qjhe/G4+UrOBtEHiS2eFftVSEJpsaqYQgcHyNY4z6NvPlMUIaIS/L nVcI5vov7sju6pwEOURbFNNsmpWF8AgM9Q4rHHntzidgRWX4ZojDBHS+xf8WmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694108167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6rk5CNgS7/9r5fcxGk4acRjRb7QVbNY/trcAVhyONU=; b=Exphp2Clf58OvGNc4LSdr2xtRPf1XdsYdvTE7VIWfUBPb/4cCJt73NVFUcArgDIYVDTCGj CZVWPFL2WAkXy2dEc4vO0NMEdILzDybFJnYtWPYXlrjZkeHTxiwtROgUAVN4sYbES00wi+ ccOmUxxs++2IRs8fvRJj9CfQIKJm9k7kcMhRdmWvP6IHXNEL3SuICHffAEjcuzAmyqLrFq i2Bwxie7oj/ThOx4/DNtwE95ksllT2SZi4aVA/VMKbZqnWd1KUUr65g6HAUeMZJV7JqLcl zyjZWx6IbTdg6O7vQEi+2A5N6KIZ1rlqNXBAoxwDoMvLbQguFVtmFJL6bynsKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhRHC0P3Bz17pC; Thu, 7 Sep 2023 17:36:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 387Ha6YF082118; Thu, 7 Sep 2023 17:36:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 387Ha6nw082115; Thu, 7 Sep 2023 17:36:06 GMT (envelope-from git) Date: Thu, 7 Sep 2023 17:36:06 GMT Message-Id: <202309071736.387Ha6nw082115@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c9315099f69e - main - ssh-keygen: Generate Ed25519 keys when invoked without arguments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c9315099f69ead6796ef48c2ac5435f8f93c0de7 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c9315099f69ead6796ef48c2ac5435f8f93c0de7 commit c9315099f69ead6796ef48c2ac5435f8f93c0de7 Author: Ed Maste AuthorDate: 2023-09-07 16:32:39 +0000 Commit: Ed Maste CommitDate: 2023-09-07 17:34:21 +0000 ssh-keygen: Generate Ed25519 keys when invoked without arguments Ed25519 keys are convenient because they're much smaller, and the next OpenSSH release (9.5) will switch to them by default. Apply the change to FreeBSD main now, to help identify issues as early as possible. Reviewed by: kevans, karels, des Relnotes: Yes Obtained from: OpenBSD 9de458a24986 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41773 --- crypto/openssh/ssh-keygen.1 | 6 +++--- crypto/openssh/ssh-keygen.c | 10 +++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/crypto/openssh/ssh-keygen.1 b/crypto/openssh/ssh-keygen.1 index c760f91be14f..c392141ea127 100644 --- a/crypto/openssh/ssh-keygen.1 +++ b/crypto/openssh/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.229 2023/07/23 20:04:45 naddy Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.230 2023/09/04 10:29:58 job Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,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 $Mdocdate: July 23 2023 $ +.Dd $Mdocdate: September 4 2023 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -185,7 +185,7 @@ The type of key to be generated is specified with the option. If invoked without any arguments, .Nm -will generate an RSA key. +will generate an Ed25519 key. .Pp .Nm is also used to generate groups for use in Diffie-Hellman group diff --git a/crypto/openssh/ssh-keygen.c b/crypto/openssh/ssh-keygen.c index 9ccea624cd90..5b945a849202 100644 --- a/crypto/openssh/ssh-keygen.c +++ b/crypto/openssh/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.470 2023/07/17 04:01:10 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.471 2023/09/04 10:29:58 job Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -67,11 +67,7 @@ #include "sk-api.h" /* XXX for SSH_SK_USER_PRESENCE_REQD; remove */ #include "cipher.h" -#ifdef WITH_OPENSSL -# define DEFAULT_KEY_TYPE_NAME "rsa" -#else -# define DEFAULT_KEY_TYPE_NAME "ed25519" -#endif +#define DEFAULT_KEY_TYPE_NAME "ed25519" /* * Default number of bits in the RSA, DSA and ECDSA keys. These value can be @@ -263,7 +259,7 @@ ask_filename(struct passwd *pw, const char *prompt) char *name = NULL; if (key_type_name == NULL) - name = _PATH_SSH_CLIENT_ID_RSA; + name = _PATH_SSH_CLIENT_ID_ED25519; else { switch (sshkey_type_from_name(key_type_name)) { case KEY_DSA_CERT: From nobody Thu Sep 7 18:19:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhSF835MWz4sn8g; Thu, 7 Sep 2023 18:19:24 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhSF82gxmz3Fs7; Thu, 7 Sep 2023 18:19:24 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Authentication-Results: mx1.freebsd.org; none Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id EFC0A3C019A; Thu, 7 Sep 2023 18:19:23 +0000 (UTC) Date: Thu, 7 Sep 2023 18:19:23 +0000 From: Brooks Davis To: Colin Percival Cc: Zhenlei Huang , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs Message-ID: References: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US] X-Rspamd-Queue-Id: 4RhSF82gxmz3Fs7 On Wed, Sep 06, 2023 at 06:46:59PM -0700, Colin Percival wrote: > On 9/6/23 18:12, Zhenlei Huang wrote: > > > On Sep 7, 2023, at 2:37 AM, Colin Percival wrote: > > > init_main: Record completed SYSINITs > > > > > > When removing them from sysinit_list, append them to sysinit_done_list; > > > print this list from 'show sysinit' along with the list of future > > > sysinits. > > > > So the `sysinit_done_list` is for DDB only. > > Well... sort of. You can open up kgdb and run 'p sysinit_done_list'. > > > > static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; > > > +static struct sysinitlist sysinit_done_list = > > > + STAILQ_HEAD_INITIALIZER(sysinit_done_list); > > > > Then it should be wrapped around with #ifdef DDB and #endif > I considered that, but since we're literally talking about 2 pointers of > memory I figured it wasn't worth making it conditional. IMO loss of the run order in a dump was a (minor) regression so this should be unconditionally available. -- Brooks From nobody Fri Sep 8 05:57:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhlkP3Gp9z4s49V; Fri, 8 Sep 2023 05:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhlkP2pFgz4Mpk; Fri, 8 Sep 2023 05:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694152637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CfHU1DA9+DpEv+/2kdvlo4rp9iA1Nb0MpasfgcJzuxs=; b=k7fX5alDS3Sp3ZyP128g4PavFLzn+qiSFo+49c9REWUafkAEKwFc3VZ+7BLSw7NHe+c1sx kBTS+LsGfdPrYZAP2SSBae0di78JpcvUL/NU9ksndvalp/U1dyIO09puCtlnPOGuhLBmf6 /bqaVJXQrN6LdC9XKljHqIHnnC5JbHOG72kiwIguUbedc0Tnq6+0//WvqNx+PJ2UJknwCE kGIw2ybIp0DWUvEonN1PgXDPjGqGGhJiDeW6fUTmMdEpOrYB1UCHxhatnkhiUuBDsJxtu7 Z2xY23DwiDtJjBdlK9iDtTa+5b1UMDaYv0ZANXPFHpT8vs11pVuAIdUoAubcFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694152637; a=rsa-sha256; cv=none; b=F2NZkTnFF2DCrKBz7/8UX9qLCC9673koqjfLUrsLWUSI4qbA4/J12meoa0bAKHmDHzNqaB 6bqzkJ5nflbPDa0MOHpxyzvjrM4N5QARwrNOICYemx/mCXc2Ti6vz3dPmUKoVN/UyrGqB2 rke/WfoSgfeDkIgT96lD46GpZPltVAPAKEqJBMYtiERDpOoDjmPoYQkBhcmo9H4Tt7Nq+e jqZVgHYNH+BNABryGQsAQ4mExmvIx21iy+k9/qHsjBO0tLEkwYZocstV8VF8PpRNwDCX25 BfWIBDJJtot475d5Y5LwKNU8ojkYEPho9+z5WJno8nB4+39A4+XwADk7zzSKjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694152637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CfHU1DA9+DpEv+/2kdvlo4rp9iA1Nb0MpasfgcJzuxs=; b=u5+xyR3bj79iCczIa1veqZYUfzzra8ohyz/swO0NtrBc/mvY3+B7T3Z0o/az/iogzRvKg0 qfiWdksRgmg8R87olNInx3TKpzzwhFnmrFfSWcU1JTnW8Fs5LQTzpQBRN71HhhxOa/Ibc1 6jw6nJE5uzhUbTKCngrtDia+qPtAyIxGQVoeGFU1IrcAIvI2bgTK6jgpmLufAB2kTzuFO/ caqpXALZUpWyU2bepX9u8M7c3dJHfZ/m1LsCwIUTdOh+SYAYH+Ev5zfdaBBTBBMz6EZx5l mCkKFzzoorzIfZc40yG6/VGTLQsVN7KZKcWZinw1sYK3/jtSGTNtHsLw4B62Iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhlkP1mxkzWSD; Fri, 8 Sep 2023 05:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3885vHiW008864; Fri, 8 Sep 2023 05:57:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3885vHwf008861; Fri, 8 Sep 2023 05:57:17 GMT (envelope-from git) Date: Fri, 8 Sep 2023 05:57:17 GMT Message-Id: <202309080557.3885vHwf008861@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 602d3601863d - main - arm64: start defining a std.apple configuration List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 602d3601863de3a4234ac24d3ebb5d85fe380664 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=602d3601863de3a4234ac24d3ebb5d85fe380664 commit 602d3601863de3a4234ac24d3ebb5d85fe380664 Author: Kyle Evans AuthorDate: 2023-09-08 05:53:51 +0000 Commit: Kyle Evans CommitDate: 2023-09-08 05:53:51 +0000 arm64: start defining a std.apple configuration The M1 uses FDT, and has bge to start with. Add a SOC_* option for the first SoC we'll be supporting. IOMMU is added commented out because it does have it, but IOMMU is not well-tested on aarch64. An initial version of the DART driver will be upstreamed that just puts the DARTs that support bypass mode into bypass mode -- we'll be missing some functionality, but we at least still end up with some USB ports. Reviewed by: karels, manu Input from: jrtc27 (IOMMU) Differential Revision: https://reviews.freebsd.org/D39823 --- sys/arm64/conf/GENERIC | 1 + sys/arm64/conf/std.apple | 10 ++++++++++ sys/conf/options.arm64 | 1 + 3 files changed, 12 insertions(+) diff --git a/sys/arm64/conf/GENERIC b/sys/arm64/conf/GENERIC index 2267429f16d0..51d830c5e5d6 100644 --- a/sys/arm64/conf/GENERIC +++ b/sys/arm64/conf/GENERIC @@ -28,6 +28,7 @@ include "std.al" include "std.allwinner" include "std.altera" include "std.amd" +include "std.apple" include "std.arm" include "std.azure" include "std.broadcom" diff --git a/sys/arm64/conf/std.apple b/sys/arm64/conf/std.apple new file mode 100644 index 000000000000..9eb6f279fccc --- /dev/null +++ b/sys/arm64/conf/std.apple @@ -0,0 +1,10 @@ +# +# Apple SoC support +# + +options SOC_APPLE_T8103 + +#options IOMMU +options FDT + +device bge diff --git a/sys/conf/options.arm64 b/sys/conf/options.arm64 index c53723ae2d19..ab4b01b2e38a 100644 --- a/sys/conf/options.arm64 +++ b/sys/conf/options.arm64 @@ -23,6 +23,7 @@ EFIRT opt_efirt.h SOC_ALLWINNER_A64 opt_soc.h SOC_ALLWINNER_H5 opt_soc.h SOC_ALLWINNER_H6 opt_soc.h +SOC_APPLE_T8103 opt_soc.h SOC_BRCM_BCM2837 opt_soc.h SOC_BRCM_BCM2838 opt_soc.h SOC_BRCM_NS2 opt_soc.h From nobody Fri Sep 8 08:08:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhpdN5QNpz4sHY7; Fri, 8 Sep 2023 08:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhpdN4rqXz3GhK; Fri, 8 Sep 2023 08:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694160488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1YsH3YpAYSpLOA3VirygtdlpC6q43yuznHUNEJTgHWk=; b=XpEeJx8SnYikATpVMzXAz1u/+JWPw5PP5QRE26BYbx2+WO5yv9mcC2JZWip7l8KR5WHYdy VO2eSo3KuutY1oO0E/xnCV+iWXRmcMnmthenoh9lcDxqODp4pjl7CSAU58/h2toCGLDFoW O0E9JH9n8KYFRAZlgyhRBTWAOx/DTA29EnKbUBoGiFZdZxQ4Jogq50Mz0rzP/Nw3H03ZOu B0u+dHAiLZWWPfBCiLvkKGdQTYbjHCjTkRN1fQdo+VJ3j+4W52JLYJ70aRykVvBtNbJkWL 0k1ho8fs5/J1cTUmX6kHtgCuY/O9znMbi7o1rGU/RBQ+NV8Msc68H9zUkwq8yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694160488; a=rsa-sha256; cv=none; b=l+5UWbITjETpP4+U6b2dXr7isZlqnPRHQChl5v/AHm7W4xnokZCK50JpCbaFNOnPrav2Jh n1KHUt4UW2jqDX8/F3hVQpahsfbTRUvP2yh6unKpc0SCEKORBG/4ECXEoWnHZXM+ShSFC8 9RoOmrysJBXxsm8IOrEUn1vLaUpPzlhLeNxx6IPyFcqnDErMDnPMZOujkD3TwS8sB/TMBW tZex8uYlTQmCg8bOUOa0dVwG58v0iyNT31fLmP3PgaM/qZsvAcdbpuOBu+w8quNuwGJnrp HGTjFYF0VFNpfyHh9lGTxcIiVl4QP6TwvbiYggczgzOXu3B/IDsfWKfSPDuIpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694160488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1YsH3YpAYSpLOA3VirygtdlpC6q43yuznHUNEJTgHWk=; b=bRgbEXdTlRL+EUhcFw9TSOkHKV22kuidK+mLi/jN2lVrdv+cynY/jMa/TRUbAviUpS0/6G zAtYGDA26TlMfwWMbeg36AMxleux5wh40kxW8J/Ug/iC72Q0NTKulOuorCPJ0xCdUEHsSR R7BNGRlSWDD7WO3RVc/nR7jACiG0OfftPh+9CE2/CLyPkvlREtZX7VqA20MXCn8O4hjHrm 8ZNo/h1nOj74mQ8Yoe4GeOeEGxAnc7Qex2i5LhIhk8m+d7WQ/mjwcGCEgyxgjiMiLJ4qk4 LX7YO/w7o4dqjp9OLZJHSw/olcmch5sNh6DGpxk3jlcKKbt/wDLhDUG82Uv9Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhpdN3cnTzYx9; Fri, 8 Sep 2023 08:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388888lO025610; Fri, 8 Sep 2023 08:08:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38888828025607; Fri, 8 Sep 2023 08:08:08 GMT (envelope-from git) Date: Fri, 8 Sep 2023 08:08:08 GMT Message-Id: <202309080808.38888828025607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 229c65a83fbe - main - kern: Globally define abs64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 229c65a83fbe0ede8c617e35d8f8c14d5ebadc19 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=229c65a83fbe0ede8c617e35d8f8c14d5ebadc19 commit 229c65a83fbe0ede8c617e35d8f8c14d5ebadc19 Author: Emmanuel Vadot AuthorDate: 2023-09-07 07:48:51 +0000 Commit: Emmanuel Vadot CommitDate: 2023-09-08 07:44:06 +0000 kern: Globally define abs64 So we can use it in non-linuxkpi sources. Reviewed by: emaste, mmel Differential Revision: https://reviews.freebsd.org/D41767 Sponsored by: Beckhoff Automation GmbH & Co. KG --- sys/compat/linuxkpi/common/include/linux/kernel.h | 6 ------ sys/sys/libkern.h | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index 1490505a02fe..2ee452cb39ed 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -623,12 +623,6 @@ mult_frac(uintmax_t x, uintmax_t multiplier, uintmax_t divisor) return ((q * multiplier) + ((r * multiplier) / divisor)); } -static inline int64_t -abs64(int64_t x) -{ - return (x < 0 ? -x : x); -} - typedef struct linux_ratelimit { struct timeval lasttime; int counter; diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 86b4c90333e5..92698a3f9b23 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -113,6 +113,7 @@ static __inline off_t omax(off_t a, off_t b) { return (a > b ? a : b); } static __inline off_t omin(off_t a, off_t b) { return (a < b ? a : b); } static __inline int abs(int a) { return (a < 0 ? -a : a); } static __inline long labs(long a) { return (a < 0 ? -a : a); } +static __inline int64_t abs64(int64_t a) { return (a < 0 ? -a : a); } static __inline quad_t qabs(quad_t a) { return (a < 0 ? -a : a); } #ifndef RANDOM_FENESTRASX From nobody Fri Sep 8 08:08:09 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhpdP69Jrz4sHVh; Fri, 8 Sep 2023 08:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhpdP5LLLz3GxF; Fri, 8 Sep 2023 08:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694160489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4l0+uDj1PLafu0Q+4ZWIw5hpmq+q7xeQZCIF23soOYY=; b=x6ZD+f4hUEBKisyhUtquBCr2zeDsHjOLSN4K5IdlBAj6oavh/Q/mA+Eq/NM6jbZsEySMuG P2SnpwY1DpvBanz971zpgf8/qVV2wUNMLBQ1ML6SNyR5Un0PVT/12jCEaTcJGuGnwjRu1S Qi66dW57smrNvEMJxGM/IMikBMiyfWcimujmP4end0jnG1Zcno9aP67KtChEJrPToSI3Jg r3MDD/Tbt5lmfp7YHtOkm+PuQSCfjxiF5ciJnLmsSJ8HJA+gedVEAkdpLI3bkjqlWGr898 7SPVROowW17u/IT/O2+tXMGtxFMmlB2ssRcIfPF8yePFVtd+IXXxM1ygXPIu0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694160489; a=rsa-sha256; cv=none; b=PqoVBZoW5octWXUWmqgbt10Wlv5zH6ocUcWKN63lUfjODhVNMGBfN0a8XUMDVgP3jt4F8g 588LYX57FbabXsAA6hIryQ9VkDOB6X0n7+Qf8WgBCWJ2nkAKXF0RZBQgHzKBE6TsCTpeLU xb4NS9D8j0//m+NJ6PO1wcKwHZhwESNxzboZ4XtmvkOWP3NDZuJ//8riY2x7wzvwtd7Ejf BlPwniXZHMWc9oQwgY3LokUaC8WH+IthDauXNuNwLl9nAEjleL6crVE/EXviKrZEt+3GT6 YZJmRGRJEznLT9s34UmyhFLx9CSH8XtanmwReBolCUQkD18IK+cThIn80ml8/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694160489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4l0+uDj1PLafu0Q+4ZWIw5hpmq+q7xeQZCIF23soOYY=; b=I1PL+OVIAAfOmZtazwz2+fb/ZpFg4dLK7GOHL2gvfZMzf6pWFKmxrczsPe3zDGt/Ed46MR nkYdc3RkyoW2c90A4rbY86WY8lJacUCysKAxlYJuYorNDU3aQWfGLHCJIixBXSbY1X/cBJ uOm+K+0mxDKP1F739qNtg7EKpWK6fqLs4JEqYtMYfrcxyNE+sVRC1cUM4OXlTUsMr9Acdw Z1R4CfsnNc6UdH87iAgm0VdY4GYNdMYoBzHKgTvab8zNv1J5V7wK9bv/0CY2bXx+fLhFpI pxlTYSraQlBQKkYlTNbOrUPpXDGqgupBu05sENY68gVNVTJ0sKsR5Qrfvelg8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhpdP4M0WzZmw; Fri, 8 Sep 2023 08:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388889TB025659; Fri, 8 Sep 2023 08:08:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3888893Y025656; Fri, 8 Sep 2023 08:08:09 GMT (envelope-from git) Date: Fri, 8 Sep 2023 08:08:09 GMT Message-Id: <202309080808.3888893Y025656@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 17c17872ca98 - main - cpufreq_dt: Find the closest frequency List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17c17872ca98df0e2b9f9c7a2c41ef73f7dee21a Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=17c17872ca98df0e2b9f9c7a2c41ef73f7dee21a commit 17c17872ca98df0e2b9f9c7a2c41ef73f7dee21a Author: Emmanuel Vadot AuthorDate: 2023-09-06 16:40:17 +0000 Commit: Emmanuel Vadot CommitDate: 2023-09-08 07:44:32 +0000 cpufreq_dt: Find the closest frequency When building the frequencies table we convert the value in the DTS to megahertz and loose precision. While it's not a problem for most of the DTS it is when the expected frequency value is strict down to the hertz. So it's either we don't truncate the value and have some ugly and long values in the sysctls or we just find the closest frequency. Do the latter. Reviewed by: mmel Differential Revision: https://reviews.freebsd.org/D41762 Sponsored by: Beckhoff Automation GmbH & Co. KG --- sys/dev/cpufreq/cpufreq_dt.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/sys/dev/cpufreq/cpufreq_dt.c b/sys/dev/cpufreq/cpufreq_dt.c index aaeada3a4e58..be434cabb4fd 100644 --- a/sys/dev/cpufreq/cpufreq_dt.c +++ b/sys/dev/cpufreq/cpufreq_dt.c @@ -104,17 +104,26 @@ static const struct cpufreq_dt_opp * cpufreq_dt_find_opp(device_t dev, uint64_t freq) { struct cpufreq_dt_softc *sc; - ssize_t n; + uint64_t diff, best_diff; + ssize_t n, best_n; sc = device_get_softc(dev); + diff = 0; + best_diff = ~0; DPRINTF(dev, "Looking for freq %ju\n", freq); - for (n = 0; n < sc->nopp; n++) - if (CPUFREQ_CMP(sc->opp[n].freq, freq)) - return (&sc->opp[n]); + for (n = 0; n < sc->nopp; n++) { + diff = abs64((int64_t)sc->opp[n].freq - (int64_t)freq); + DPRINTF(dev, "Testing %ju, diff is %ju\n", sc->opp[n].freq, diff); + if (diff < best_diff) { + best_diff = diff; + best_n = n; + DPRINTF(dev, "%ju is best for now\n", sc->opp[n].freq); + } + } - DPRINTF(dev, "Couldn't find one\n"); - return (NULL); + DPRINTF(dev, "Will use %ju\n", sc->opp[best_n].freq); + return (&sc->opp[best_n]); } static void From nobody Fri Sep 8 10:06:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhsGB50ndz4sZyJ; Fri, 8 Sep 2023 10:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhsGB4Yfgz4Mmy; Fri, 8 Sep 2023 10:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694167602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jaYIQldtozP/wf4BXYFbXRgCaa4pXJtBbrag4WxVgDc=; b=pb58DzZBLekBrJJU8NwmyPO8l8s4XIwSakyDUo+hv4qhUck1H0LJyrMqfe2lvvPpUZj50K G00g2rIWrVzk3/8/24DdAkwXCbJY8Chhn59M8PFwk4XGGInNHMJpagQ9/VZeJ2Rso3P5wV xNzJpE5VNtzkjRAn6VzpqTfBIzbrEWf3wPZku0HdCY87gx23RJHieqVEpLRlBxuWmFFsUT Lp8L58qjZyJiFzJ6eFbr5CC9PiS4xiRtjp1rzBH7N82zBUKH38wtz1GUP378TugioLWoYj rcCLZG2QSUC4C9K8AmkVITRSnllBGw9/gp5ni9mrMvypzfBA+IV9MHG50W83bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694167602; a=rsa-sha256; cv=none; b=LKHWH1sGQdMEI3hr/7Y3VCzXrVQuVl5k5U5X+raRQjfDXdK1gBKykV0dBlwuc2uonREWCu H9FOxh+CY50NnVGQ3htzedP/cqgCiDVYWdw9hX4jrFQPmZ+XMXFPAj9TAuclCoSwPkrG7r /mVZE9T4wht4CJNxQKtzQCD3tMJ0Ae6jsacfG5hNxEVE5pJhgh4aINDmrSN3bgpmfVX+DW kXn40ySqrrQ8eFuFdyLf5XuRt9mxPHs9pfKfWsw2CU3ixX8C2HOFkeBun+CzbG0Euop1+s dgCTUyvsteG1W2UVjE5O5t8Btu7ZeRInZfUA5ZaSQ9IUQDcxR2HTRUw7ZASARA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694167602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jaYIQldtozP/wf4BXYFbXRgCaa4pXJtBbrag4WxVgDc=; b=w0NKklEZgq9612SXSd4aHdihitHvZnEjiXO2xdIgcCLKrFevTI7vnhPi7AwQPlA8gd5QZe gY1RmUpoYsqZkN4IxSy3DIJIWy7hKs4Be33sG528LAeiNlSn0Gbiog0QZ+rXFNIGUWT2nm t/Jyvna9Eiv+yMnyo5wXq0MW4HCe6d4uRf+HLPEx0UDu2QtgfHT9W+jx9dnlHpJ+0oAywu yOk3xE7HgW5rFIWR4qIGfQDMkV6E72ukyA7zXBEcJTT50zoeVuk7wp0QfQgNeQ+QhwXttb x8RMkVhlGUrI8Rdncbr3L8gtLC9lc+UY9hb11CK23/nZwDtHBlvTYFNrTBhvkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhsGB3X7pzdLJ; Fri, 8 Sep 2023 10:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388A6gaV025382; Fri, 8 Sep 2023 10:06:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388A6gMN025379; Fri, 8 Sep 2023 10:06:42 GMT (envelope-from git) Date: Fri, 8 Sep 2023 10:06:42 GMT Message-Id: <202309081006.388A6gMN025379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 9a071e4e5764 - main - Assert that ifnet_detach_sxlock is held where needed. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a071e4e576490370f26307405f12200218dec54 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9a071e4e576490370f26307405f12200218dec54 commit 9a071e4e576490370f26307405f12200218dec54 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-08 10:06:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-08 10:06:11 +0000 Assert that ifnet_detach_sxlock is held where needed. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D41770 --- sys/net/if.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index 7a78ebcfea05..f7636d46331a 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1128,6 +1128,8 @@ if_detach_internal(struct ifnet *ifp, bool vmove) shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); #endif + sx_assert(&ifnet_detach_sxlock, SX_XLOCKED); + /* * At this point we know the interface still was on the ifnet list * and we removed it so we are in a stable state. From nobody Fri Sep 8 11:15:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhtnF1PGPz4sKqp; Fri, 8 Sep 2023 11:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhtnF0nSgz3GjZ; Fri, 8 Sep 2023 11:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694171713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9V1eKKKLHpFSllCodwW5bkK6u8Td+meJI+qUx8qlkJs=; b=DiW4UYvLk9T7MP1Hai3w/OG5j+YgOJ8FqamfmikLYrzLVbb8BT8cNaptIsNE5eQLCTg9NJ 5A5zOLfJcYawC6c3W8iUFnO6P/3rZgce4IIvCXLV5u90vlqSxjmCWlOmrzzwpfVdXuMIgG R0r/BMTZqjzavuzz6QKM1Rapw+X0kGgPzWw+vUqXao1wn0fnJR/PZ7lvhg5gl1dMwiHNxh BC12/ShCy/YdtXDqisHRI+Orml7oUqAS5j271QdSiUQ7PRrI+W5KKG9wkPAUaoOiG6V1fa kRYk0t8IFNtz4RoA9IIvafk3ftfIDRXann7RS4UDFdIenV97mShZQD67gNfO+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694171713; a=rsa-sha256; cv=none; b=r72BxTkgFw1zd+Ki0ZTs6kTysWyFLYeylVL9v1176ZXeRZmKsB1Ul6NPYBOztrUbEW2Flh +G9ybzmV0GgtbsyaVuVrbRd3cZMKgZ1nYdS/5AR7coLLfuIkBVVOeoO7kvogVxA6Q+1pyz TkADhFpdmbCFv6wRHYBkvs6VjAYpmggcNLLCsSxediMvht+HPRERc5+0eEOgFRwSubdh3N H6jLBk/Y4I8rh0oHHixub+krQpMNSm/rRzv8R2ph5b5A+5LcKdnh6s9lkWC9voBCy1LhfP I9SyRmjm+8Evq9k78vlP7sWhFNxJ7DKw7YnD6zBbfr6CXjz4j2cpvuMpVZ+F6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694171713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9V1eKKKLHpFSllCodwW5bkK6u8Td+meJI+qUx8qlkJs=; b=Own1FwVH+GmXPTPb7w+FF9Bt71hqe+tM6x+3rNqX6SSwUaC7A79xshvjOfpo0KYkI9Vgv6 11IRM1b+6i3qMvmJDm8L+/6c5hMaw1UnEOGPgoGCgrSbGoMe7S7N48bWwy1wS1/kJNqCLH NkNqQaVr50xb/AArYEOuyNw1PdC4I1peoZr4KxMbt7I0XuSg4++E/AESU/SqOjmxD1koi5 w1w2SujBMDmVBDP5unzVf9CQfsEWCJdRSWWpUt3sLpFhL2/3vspnPq93/oazfAFVu5mzva a3asy6E5QEOoA2IiOT9TUlBtNmWMWrwfOD8+nYrqiXkLC9fa67jLVXV9FfprhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhtnD6xqJzgHh; Fri, 8 Sep 2023 11:15:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388BFCKE042406; Fri, 8 Sep 2023 11:15:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388BFC90042403; Fri, 8 Sep 2023 11:15:12 GMT (envelope-from git) Date: Fri, 8 Sep 2023 11:15:12 GMT Message-Id: <202309081115.388BFC90042403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: cd3770c5feb0 - main - sctp: cleanup SCTP AUTH related notification List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd3770c5feb038f3904fdb4aa04e09da122f74e3 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=cd3770c5feb038f3904fdb4aa04e09da122f74e3 commit cd3770c5feb038f3904fdb4aa04e09da122f74e3 Author: Michael Tuexen AuthorDate: 2023-09-08 11:13:43 +0000 Commit: Michael Tuexen CommitDate: 2023-09-08 11:13:43 +0000 sctp: cleanup SCTP AUTH related notification This makes consistent use of the parameters and ensures that all SCTP AUTH related notifications are using sctp_ulp_notify(). No functional change intended. MFC after: 3 days --- sys/netinet/sctp_auth.c | 32 ++++++++++++++++---------------- sys/netinet/sctp_auth.h | 2 +- sys/netinet/sctputil.c | 15 ++++++--------- 3 files changed, 23 insertions(+), 26 deletions(-) diff --git a/sys/netinet/sctp_auth.c b/sys/netinet/sctp_auth.c index 67f0d26fa0d5..3c1962233347 100644 --- a/sys/netinet/sctp_auth.c +++ b/sys/netinet/sctp_auth.c @@ -575,7 +575,7 @@ sctp_auth_key_release(struct sctp_tcb *stcb, uint16_t key_id, int so_locked) if ((skey->refcount <= 2) && (skey->deactivated)) { /* notify ULP that key is no longer used */ sctp_ulp_notify(SCTP_NOTIFY_AUTH_FREE_KEY, stcb, - key_id, 0, so_locked); + 0, &key_id, so_locked); SCTPDBG(SCTP_DEBUG_AUTH2, "%s: stcb %p key %u no longer used, %d\n", __func__, (void *)stcb, key_id, skey->refcount); @@ -1312,7 +1312,7 @@ sctp_deact_sharedkey(struct sctp_tcb *stcb, uint16_t keyid) /* are there other refcount holders on the key? */ if (skey->refcount == 1) { /* no other users, send a notification for this key */ - sctp_ulp_notify(SCTP_NOTIFY_AUTH_FREE_KEY, stcb, keyid, 0, + sctp_ulp_notify(SCTP_NOTIFY_AUTH_FREE_KEY, stcb, 0, &keyid, SCTP_SO_LOCKED); } @@ -1654,15 +1654,10 @@ sctp_handle_auth(struct sctp_tcb *stcb, struct sctp_auth_chunk *auth, return (-1); } /* generate a notification if this is a new key id */ - if (stcb->asoc.authinfo.recv_keyid != shared_key_id) - /* - * sctp_ulp_notify(SCTP_NOTIFY_AUTH_NEW_KEY, stcb, - * shared_key_id, (void - * *)stcb->asoc.authinfo.recv_keyid); - */ - sctp_notify_authentication(stcb, SCTP_AUTH_NEW_KEY, - shared_key_id, stcb->asoc.authinfo.recv_keyid, - SCTP_SO_NOT_LOCKED); + if (stcb->asoc.authinfo.recv_keyid != shared_key_id) { + sctp_ulp_notify(SCTP_NOTIFY_AUTH_NEW_KEY, stcb, 0, + &shared_key_id, SCTP_SO_NOT_LOCKED); + } /* compute a new recv assoc key and cache it */ if (stcb->asoc.authinfo.recv_key != NULL) sctp_free_key(stcb->asoc.authinfo.recv_key); @@ -1705,7 +1700,7 @@ sctp_handle_auth(struct sctp_tcb *stcb, struct sctp_auth_chunk *auth, */ void sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, - uint16_t keyid, uint16_t alt_keyid, int so_locked) + uint16_t keyid, int so_locked) { struct mbuf *m_notify; struct sctp_authkey_event *auth; @@ -1714,8 +1709,7 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, if ((stcb == NULL) || (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || - (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) - ) { + (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { /* If the socket is gone we are out of here */ return; } @@ -1737,7 +1731,12 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, auth->auth_flags = 0; auth->auth_length = sizeof(*auth); auth->auth_keynumber = keyid; - auth->auth_altkeynumber = alt_keyid; + /* XXXMT: The following is BSD specific. */ + if (indication == SCTP_AUTH_NEW_KEY) { + auth->auth_altkeynumber = stcb->asoc.authinfo.recv_keyid; + } else { + auth->auth_altkeynumber = 0; + } auth->auth_indication = indication; auth->auth_assoc_id = sctp_get_associd(stcb); @@ -1757,7 +1756,8 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, so_locked); + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } /*- diff --git a/sys/netinet/sctp_auth.h b/sys/netinet/sctp_auth.h index 8bfdbaa6d4f6..279ecb6831cd 100644 --- a/sys/netinet/sctp_auth.h +++ b/sys/netinet/sctp_auth.h @@ -212,7 +212,7 @@ sctp_handle_auth(struct sctp_tcb *stcb, struct sctp_auth_chunk *ch, struct mbuf *m, uint32_t offset); extern void sctp_notify_authentication(struct sctp_tcb *stcb, - uint32_t indication, uint16_t keyid, uint16_t alt_keyid, int so_locked); + uint32_t indication, uint16_t keyid, int so_locked); extern int sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit); diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 381f67f40b99..ea960a3e6376 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -4197,19 +4197,16 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, sctp_notify_shutdown_event(stcb); break; case SCTP_NOTIFY_AUTH_NEW_KEY: - sctp_notify_authentication(stcb, SCTP_AUTH_NEW_KEY, error, - (uint16_t)(uintptr_t)data, - so_locked); + sctp_notify_authentication(stcb, SCTP_AUTH_NEW_KEY, + *(uint16_t *)data, so_locked); break; case SCTP_NOTIFY_AUTH_FREE_KEY: - sctp_notify_authentication(stcb, SCTP_AUTH_FREE_KEY, error, - (uint16_t)(uintptr_t)data, - so_locked); + sctp_notify_authentication(stcb, SCTP_AUTH_FREE_KEY, + *(uint16_t *)data, so_locked); break; case SCTP_NOTIFY_NO_PEER_AUTH: - sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, error, - (uint16_t)(uintptr_t)data, - so_locked); + sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, + 0, so_locked); break; case SCTP_NOTIFY_SENDER_DRY: sctp_notify_sender_dry_event(stcb, so_locked); From nobody Fri Sep 8 12:22:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhwGJ32lTz4t1vs; Fri, 8 Sep 2023 12:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhwGJ2nvkz3ZXf; Fri, 8 Sep 2023 12:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694175720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxQ/oG1ayaRlvDuSSAZX5qvr3LwkHPG7uopL7xgKeXg=; b=KpHcUlV/K6kZ+dUaf1/VkelIJmPW1VB/YvN9eAFD0YHNJzKhWajDCSPwXUYJCtmULM+ZLy oc3qmGF2w9JXgmFhdhxxKs/k6ZmcMt7ziGbgy2C8aU4j+/7AVlcwrbUQQ+YFE/L1jNe2cs VXOkWKHeWS1hgKqoB1iFpWGXo52RUqvATxAcgEn/VpBPBHkcks5XMaH8C1l9Z2QCJd64Y9 MHDr2wzrkc6GR5uyMC30QI9BLC1I/yccSUwpLNcJ4T8jJpedrk63tomXR1hGEfIz1mpYrW ckfVLdTrIyNimOIl2OWYIBZBaBR4HEJ2+SkdF/InbLmDhj4d/i5vH7Qs3u/fKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694175720; a=rsa-sha256; cv=none; b=lDxjYj3S9APugXbZ6meUTfpgZBSYPUOykDiDKjNeuaPb1XpNpg8Q3e6sW621az/lYAJKKv 3y4EKiQufW1A541U09rqD9/tC4SG5b0XPXkCUsGxyFoEiTO7695MqCW1Gc//xkzvMmCx6l yvuguxoV7RyGWUTGg2Q67l7BZSiXtgmDW+toxgHRN+5Z45x/+vfpv9E0iSyEJFFvDVosuR jERqMz+HVB9GvvZ/lXgtUfEex23jhkh10oA35Gh7ONY7dr9Z9owM1PYQPjrAHqhGdL1xXH v39KWVbKeuOtM0BJWRYMYVaW6TPyIDclFmMJF1gawAddvkqB+G4ntGiPnUESGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694175720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxQ/oG1ayaRlvDuSSAZX5qvr3LwkHPG7uopL7xgKeXg=; b=mLaTBd4vLqFxg2armJDB6diz4Wv3+WXFAZ08rAlnvhgIiIcBOe60tPf+1h38gHbV/m9jAQ BcgxuRiuYk5DtnAgvX7F0WmEmtvNmwFxATFxOZpElZdmgDlNWUjQeTvvnP9DLgurfEOwR5 Z94/LTNzgLPuwCHZXvMZcdHccZPGHfSBVTjxQrjx+z7qnBRnkpin8QU3l4Ya3rNhVc8Qfu BsiREezHexhRhlpbDJ8fwH+9PfFO9KI0cOrjHNcORRbdwuhiKElRHv5JmNWjb7b5B2XjRi yDNam85LRMa4BZVv6huoLt7w4QCkdIoPx8WszrhSGIx7XXlWaaORTJGRCdMTyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhwGJ1tNRzhv2; Fri, 8 Sep 2023 12:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388CM0jX056209; Fri, 8 Sep 2023 12:22:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388CM09d056206; Fri, 8 Sep 2023 12:22:00 GMT (envelope-from git) Date: Fri, 8 Sep 2023 12:22:00 GMT Message-Id: <202309081222.388CM09d056206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 3ac7664774ad - main - sctp: make sure all SCTP RESET notifications use sctp_ulp_notify() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ac7664774ad038b208cbb31eb52d1608efbd451 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=3ac7664774ad038b208cbb31eb52d1608efbd451 commit 3ac7664774ad038b208cbb31eb52d1608efbd451 Author: Michael Tuexen AuthorDate: 2023-09-08 12:19:56 +0000 Commit: Michael Tuexen CommitDate: 2023-09-08 12:19:56 +0000 sctp: make sure all SCTP RESET notifications use sctp_ulp_notify() While there, improve consistency of the notification related code. No functional change intended. MFC after: 3 days --- sys/netinet/sctp_constants.h | 14 +++-- sys/netinet/sctp_input.c | 26 ++++----- sys/netinet/sctputil.c | 135 ++++++++++++++++++++++--------------------- sys/netinet/sctputil.h | 6 -- 4 files changed, 86 insertions(+), 95 deletions(-) diff --git a/sys/netinet/sctp_constants.h b/sys/netinet/sctp_constants.h index 881db9dd87cc..2054849fd5e9 100644 --- a/sys/netinet/sctp_constants.h +++ b/sys/netinet/sctp_constants.h @@ -706,12 +706,14 @@ #define SCTP_NOTIFY_STR_RESET_FAILED_IN 20 #define SCTP_NOTIFY_STR_RESET_DENIED_OUT 21 #define SCTP_NOTIFY_STR_RESET_DENIED_IN 22 -#define SCTP_NOTIFY_AUTH_NEW_KEY 23 -#define SCTP_NOTIFY_AUTH_FREE_KEY 24 -#define SCTP_NOTIFY_NO_PEER_AUTH 25 -#define SCTP_NOTIFY_SENDER_DRY 26 -#define SCTP_NOTIFY_REMOTE_ERROR 27 -#define SCTP_NOTIFY_ASSOC_TIMEDOUT 28 +#define SCTP_NOTIFY_STR_RESET_ADD 23 +#define SCTP_NOTIFY_STR_RESET_TSN 24 +#define SCTP_NOTIFY_AUTH_NEW_KEY 25 +#define SCTP_NOTIFY_AUTH_FREE_KEY 26 +#define SCTP_NOTIFY_NO_PEER_AUTH 27 +#define SCTP_NOTIFY_SENDER_DRY 28 +#define SCTP_NOTIFY_REMOTE_ERROR 29 +#define SCTP_NOTIFY_ASSOC_TIMEDOUT 30 /* This is the value for messages that are NOT completely * copied down where we will start to split the message. diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c index e6dc41e08909..6937f8a2a43f 100644 --- a/sys/netinet/sctp_input.c +++ b/sys/netinet/sctp_input.c @@ -3510,23 +3510,19 @@ sctp_handle_stream_reset_response(struct sctp_tcb *stcb, asoc->strmout[i].state = SCTP_STREAM_OPEN; } asoc->streamoutcnt += num_stream; - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, 0); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED); } else if (action == SCTP_STREAM_RESET_RESULT_DENIED) { - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, - SCTP_STREAM_CHANGE_DENIED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED); } else { - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, - SCTP_STREAM_CHANGE_FAILED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_FAILED, NULL, SCTP_SO_NOT_LOCKED); } } else if (type == SCTP_STR_RESET_ADD_IN_STREAMS) { if (asoc->stream_reset_outstanding) asoc->stream_reset_outstanding--; if (action == SCTP_STREAM_RESET_RESULT_DENIED) { - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, - SCTP_STREAM_CHANGE_DENIED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED); } else if (action != SCTP_STREAM_RESET_RESULT_PERFORMED) { - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, - SCTP_STREAM_CHANGE_FAILED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED); } } else if (type == SCTP_STR_RESET_TSN_REQUEST) { /** @@ -3572,13 +3568,11 @@ sctp_handle_stream_reset_response(struct sctp_tcb *stcb, sctp_reset_out_streams(stcb, 0, (uint16_t *)NULL); sctp_reset_in_stream(stcb, 0, (uint16_t *)NULL); - sctp_notify_stream_reset_tsn(stcb, stcb->asoc.sending_seq, (stcb->asoc.mapping_array_base_tsn + 1), 0); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED); } else if (action == SCTP_STREAM_RESET_RESULT_DENIED) { - sctp_notify_stream_reset_tsn(stcb, stcb->asoc.sending_seq, (stcb->asoc.mapping_array_base_tsn + 1), - SCTP_ASSOC_RESET_DENIED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_DENIED, NULL, SCTP_SO_NOT_LOCKED); } else { - sctp_notify_stream_reset_tsn(stcb, stcb->asoc.sending_seq, (stcb->asoc.mapping_array_base_tsn + 1), - SCTP_ASSOC_RESET_FAILED); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_FAILED, NULL, SCTP_SO_NOT_LOCKED); } } /* get rid of the request and get the request flags */ @@ -3707,7 +3701,7 @@ sctp_handle_str_reset_request_tsn(struct sctp_tcb *stcb, sctp_reset_out_streams(stcb, 0, (uint16_t *)NULL); sctp_reset_in_stream(stcb, 0, (uint16_t *)NULL); asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED; - sctp_notify_stream_reset_tsn(stcb, asoc->sending_seq, (asoc->mapping_array_base_tsn + 1), 0); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED); } sctp_add_stream_reset_result_tsn(chk, seq, asoc->last_reset_action[0], asoc->last_sending_seq[0], asoc->last_base_tsnsent[0]); @@ -3872,7 +3866,7 @@ sctp_handle_str_reset_add_strm(struct sctp_tcb *stcb, struct sctp_tmit_chunk *ch /* update the size */ stcb->asoc.streamincnt = num_stream; stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED; - sctp_notify_stream_reset_add(stcb, stcb->asoc.streamincnt, stcb->asoc.streamoutcnt, 0); + sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED); } sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]); asoc->str_reset_seq_in++; diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index ea960a3e6376..17a5a098dd90 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -3140,9 +3140,10 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, struct mbuf *m_notify; struct sctp_assoc_change *sac; struct sctp_queued_to_read *control; + struct sctp_inpcb *inp; unsigned int notif_len; - uint16_t abort_len; unsigned int i; + uint16_t abort_len; KASSERT(abort == NULL || from_peer, ("sctp_notify_assoc_change: ABORT chunk provided for local termination")); @@ -3151,7 +3152,8 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, if (stcb == NULL) { return; } - if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT)) { + inp = stcb->sctp_ep; + if (sctp_stcb_is_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT)) { notif_len = (unsigned int)sizeof(struct sctp_assoc_change); if (abort != NULL) { abort_len = ntohs(abort->ch.chunk_length); @@ -3229,10 +3231,9 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, - so_locked); + sctp_add_to_readq(inp, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } else { sctp_m_freem(m_notify); } @@ -3242,8 +3243,8 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, * comes in. */ set_error: - if (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) && + if (((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || + (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) && ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) { SOCK_LOCK(stcb->sctp_socket); if (from_peer) { @@ -3266,8 +3267,8 @@ set_error: SOCK_UNLOCK(stcb->sctp_socket); } /* Wake ANY sleepers */ - if (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) && + if (((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || + (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) && ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) { socantrcvmore(stcb->sctp_socket); } @@ -3356,11 +3357,9 @@ sctp_notify_peer_addr_change(struct sctp_tcb *stcb, uint32_t state, control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, + sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, - so_locked); + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void @@ -3487,11 +3486,9 @@ sctp_notify_send_failed(struct sctp_tcb *stcb, uint8_t sent, uint32_t error, control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, + sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, - so_locked); + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void @@ -3585,13 +3582,13 @@ sctp_notify_send_failed2(struct sctp_tcb *stcb, uint32_t error, control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, so_locked); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void -sctp_notify_adaptation_layer(struct sctp_tcb *stcb) +sctp_notify_adaptation_layer(struct sctp_tcb *stcb, int so_locked) { struct mbuf *m_notify; struct sctp_adaptation_event *sai; @@ -3632,9 +3629,9 @@ sctp_notify_adaptation_layer(struct sctp_tcb *stcb) control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void @@ -3702,7 +3699,7 @@ sctp_notify_partial_delivery_indication(struct sctp_tcb *stcb, uint32_t error, } static void -sctp_notify_shutdown_event(struct sctp_tcb *stcb) +sctp_notify_shutdown_event(struct sctp_tcb *stcb, int so_locked) { struct mbuf *m_notify; struct sctp_shutdown_event *sse; @@ -3749,14 +3746,13 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb) control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void -sctp_notify_sender_dry_event(struct sctp_tcb *stcb, - int so_locked) +sctp_notify_sender_dry_event(struct sctp_tcb *stcb, int so_locked) { struct mbuf *m_notify; struct sctp_sender_dry_event *event; @@ -3798,11 +3794,12 @@ sctp_notify_sender_dry_event(struct sctp_tcb *stcb, /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, so_locked); + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } -void -sctp_notify_stream_reset_add(struct sctp_tcb *stcb, uint16_t numberin, uint16_t numberout, int flag) +static void +sctp_notify_stream_reset_add(struct sctp_tcb *stcb, int flag, int so_locked) { struct mbuf *m_notify; struct sctp_queued_to_read *control; @@ -3837,8 +3834,8 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, uint16_t numberin, uint16_t stradd->strchange_flags = flag; stradd->strchange_length = sizeof(struct sctp_stream_change_event); stradd->strchange_assoc_id = sctp_get_associd(stcb); - stradd->strchange_instrms = numberin; - stradd->strchange_outstrms = numberout; + stradd->strchange_instrms = stcb->asoc.streamincnt; + stradd->strchange_outstrms = stcb->asoc.streamoutcnt; SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_stream_change_event); SCTP_BUF_NEXT(m_notify) = NULL; if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) { @@ -3859,13 +3856,13 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, uint16_t numberin, uint16_t control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } -void -sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, uint32_t sending_tsn, uint32_t recv_tsn, int flag) +static void +sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, int flag, int so_locked) { struct mbuf *m_notify; struct sctp_queued_to_read *control; @@ -3894,8 +3891,8 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, uint32_t sending_tsn, uint32 strasoc->assocreset_flags = flag; strasoc->assocreset_length = sizeof(struct sctp_assoc_reset_event); strasoc->assocreset_assoc_id = sctp_get_associd(stcb); - strasoc->assocreset_local_tsn = sending_tsn; - strasoc->assocreset_remote_tsn = recv_tsn; + strasoc->assocreset_local_tsn = stcb->asoc.sending_seq; + strasoc->assocreset_remote_tsn = stcb->asoc.mapping_array_base_tsn + 1; SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_assoc_reset_event); SCTP_BUF_NEXT(m_notify) = NULL; if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) { @@ -3916,14 +3913,14 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, uint32_t sending_tsn, uint32 control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, so_locked); } static void sctp_notify_stream_reset(struct sctp_tcb *stcb, - int number_entries, uint16_t *list, int flag) + int number_entries, uint16_t *list, int flag, int so_locked) { struct mbuf *m_notify; struct sctp_queued_to_read *control; @@ -3980,13 +3977,14 @@ sctp_notify_stream_reset(struct sctp_tcb *stcb, control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, - &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + sctp_add_to_readq(stcb->sctp_ep, stcb, control, + &stcb->sctp_socket->so_rcv, 1, + SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); } static void -sctp_notify_remote_error(struct sctp_tcb *stcb, uint16_t error, struct sctp_error_chunk *chunk) +sctp_notify_remote_error(struct sctp_tcb *stcb, uint16_t error, + struct sctp_error_chunk *chunk, int so_locked) { struct mbuf *m_notify; struct sctp_remote_error *sre; @@ -4041,10 +4039,9 @@ sctp_notify_remote_error(struct sctp_tcb *stcb, uint16_t error, struct sctp_erro control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - sctp_add_to_readq(stcb->sctp_ep, stcb, - control, + sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + SCTP_READ_LOCK_NOT_HELD, so_locked); } else { sctp_m_freem(m_notify); } @@ -4086,11 +4083,10 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, stcb->asoc.assoc_up_sent = 1; } if (stcb->asoc.adaptation_needed && (stcb->asoc.adaptation_sent == 0)) { - sctp_notify_adaptation_layer(stcb); + sctp_notify_adaptation_layer(stcb, so_locked); } if (stcb->asoc.auth_supported == 0) { - sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, - NULL, so_locked); + sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, NULL, so_locked); } break; case SCTP_NOTIFY_ASSOC_DOWN: @@ -4155,31 +4151,36 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, case SCTP_NOTIFY_ASSOC_RESTART: sctp_notify_assoc_change(SCTP_RESTART, stcb, error, NULL, false, false, so_locked); if (stcb->asoc.auth_supported == 0) { - sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, - NULL, so_locked); + sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, NULL, so_locked); } break; case SCTP_NOTIFY_STR_RESET_SEND: - sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), SCTP_STREAM_RESET_OUTGOING_SSN); + sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), SCTP_STREAM_RESET_OUTGOING_SSN, so_locked); break; case SCTP_NOTIFY_STR_RESET_RECV: - sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), SCTP_STREAM_RESET_INCOMING); + sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), SCTP_STREAM_RESET_INCOMING, so_locked); break; case SCTP_NOTIFY_STR_RESET_FAILED_OUT: sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), - (SCTP_STREAM_RESET_OUTGOING_SSN | SCTP_STREAM_RESET_FAILED)); + (SCTP_STREAM_RESET_OUTGOING_SSN | SCTP_STREAM_RESET_FAILED), so_locked); break; case SCTP_NOTIFY_STR_RESET_DENIED_OUT: sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), - (SCTP_STREAM_RESET_OUTGOING_SSN | SCTP_STREAM_RESET_DENIED)); + (SCTP_STREAM_RESET_OUTGOING_SSN | SCTP_STREAM_RESET_DENIED), so_locked); break; case SCTP_NOTIFY_STR_RESET_FAILED_IN: sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), - (SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_FAILED)); + (SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_FAILED), so_locked); break; case SCTP_NOTIFY_STR_RESET_DENIED_IN: sctp_notify_stream_reset(stcb, error, ((uint16_t *)data), - (SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_DENIED)); + (SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_DENIED), so_locked); + break; + case SCTP_NOTIFY_STR_RESET_ADD: + sctp_notify_stream_reset_add(stcb, error, so_locked); + break; + case SCTP_NOTIFY_STR_RESET_TSN: + sctp_notify_stream_reset_tsn(stcb, error, so_locked); break; case SCTP_NOTIFY_ASCONF_ADD_IP: sctp_notify_peer_addr_change(stcb, SCTP_ADDR_ADDED, data, @@ -4194,7 +4195,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, error, so_locked); break; case SCTP_NOTIFY_PEER_SHUTDOWN: - sctp_notify_shutdown_event(stcb); + sctp_notify_shutdown_event(stcb, so_locked); break; case SCTP_NOTIFY_AUTH_NEW_KEY: sctp_notify_authentication(stcb, SCTP_AUTH_NEW_KEY, @@ -4212,7 +4213,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, sctp_notify_sender_dry_event(stcb, so_locked); break; case SCTP_NOTIFY_REMOTE_ERROR: - sctp_notify_remote_error(stcb, error, data); + sctp_notify_remote_error(stcb, error, data, so_locked); break; default: SCTPDBG(SCTP_DEBUG_UTIL1, "%s: unknown notification %xh (%u)\n", diff --git a/sys/netinet/sctputil.h b/sys/netinet/sctputil.h index c649611d5004..8de98b4608f8 100644 --- a/sys/netinet/sctputil.h +++ b/sys/netinet/sctputil.h @@ -80,12 +80,6 @@ int sctp_init_asoc(struct sctp_inpcb *, struct sctp_tcb *, uint32_t, uint32_t, u void sctp_fill_random_store(struct sctp_pcb *); -void -sctp_notify_stream_reset_add(struct sctp_tcb *stcb, uint16_t numberin, - uint16_t numberout, int flag); -void - sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, uint32_t sending_tsn, uint32_t recv_tsn, int flag); - /* * NOTE: sctp_timer_start() will increment the reference count of any relevant * structure the timer is referencing, in order to prevent a race condition From nobody Fri Sep 8 13:20:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhxYY12Hmz4sR5y; Fri, 8 Sep 2023 13:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhxYY0YKHz4MXf; Fri, 8 Sep 2023 13:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694179217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=83Y3FF+bzNwCn1vJl+UQFW3M2imJfrpNjCV0zqjqh3Q=; b=GZuvuSz1adZre4PC4YkTKgS76p+IRqCqZJu+pmnl++wravSMmKFR98uG9hiHNsSf3Hja+B trSnNe7Z5NIEmmfDHmXdTlSXCgO4TOxdsITWMO7YGPJodtve5nUgoSPnKXhg6/k9S6bffH ImVIjOweXedzlc+UmjRY+MpxcDVq0672RzywEQUp24BLWNfsOLvdPwgY0hGwVjZL+uiDmK 8OsxPtxw0cFOgZoxG5/DMOpUjH2CqGSb1uNdtCqnBWbEr9f6olMkeFG44NElqJWMwDoJgH UAhGMuOgIIiwjy+/7lNxsNJ4Lrh3F2gflV5H4X/KHKT6XKo037nN3uYDw2b09Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694179217; a=rsa-sha256; cv=none; b=xHRwYAw8tMcPKNqtWph0HlQrGNvW+BBSMdkokcne+3QRfa+e3h/jiCKKAGPrB1iAbZySsD sglszcDFDfq1IcQXJeFTFBzV4EXoCHvD5/yL/ZjQvpPf5nrPGek+sp2Wfh4MoLKKt/7bjG 9YJj63DkhQkk/sHGbiImLsd2KJHPscCbJqg3U2JTDUBWDPU+ud+PkDYpg4G0M4n/hOVMEi jbS5OnFHPMuyekQImvUmyMCAedk9Oeky+Ut71IGjJ7Hm/dDP+g+zEVlf7PnOmUTVtMUSyc j4zs/Of0EX5uWqfLgGrBeK0CdGr+k/vXppylFjh2bFSwlVluJ+jVHw4gbbIvyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694179217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=83Y3FF+bzNwCn1vJl+UQFW3M2imJfrpNjCV0zqjqh3Q=; b=LGCd9PgJmTHToFP5CsOGyz7mm+yJi2VSlIE5XQlVqjJ8PhvV1oG4zP9uJejhj/OxaA73I5 TAg9W5fqDHXWbbwl4efz1/PV9E1FEw95ruusVOQwI+gh5GyWaomVUROv4TAGN8nEPcPTyO Vvp9vDOtReEFmx8Ol14D5eQvifhA278kCRsgNbvvJzm4ZaIIXOB9KLJKpRAinzhBWg/heP HLbH4Bdr4TBjabHCYz95Wk6cSVVpjIMIlJWOxjUCfc79B6xP0BuEEkfAPyMApR1Zg8ZFdE T519oe0Ia8mCMfPqLTaYT8Sx3neiQxu8XCcjz0IKW3WGj/KufmOADldk+TEfWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhxYX6ksrzkCy; Fri, 8 Sep 2023 13:20:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388DKGhp048829; Fri, 8 Sep 2023 13:20:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388DKGNp048820; Fri, 8 Sep 2023 13:20:16 GMT (envelope-from git) Date: Fri, 8 Sep 2023 13:20:16 GMT Message-Id: <202309081320.388DKGNp048820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joel Bodenmann Subject: git: b4b89476fa95 - main - Add myself as ports committer, update mentor/mentee List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4b89476fa95d43201768be4ea58c2911863ab18 Auto-Submitted: auto-generated The branch main has been updated by jbo: URL: https://cgit.FreeBSD.org/src/commit/?id=b4b89476fa95d43201768be4ea58c2911863ab18 commit b4b89476fa95d43201768be4ea58c2911863ab18 Author: Joel Bodenmann AuthorDate: 2023-09-08 12:58:42 +0000 Commit: Joel Bodenmann CommitDate: 2023-09-08 13:20:01 +0000 Add myself as ports committer, update mentor/mentee This completes step 5 from Committer's Guide. Approved by: zirias (mentor) Differential Review: https://reviews.freebsd.org/D41782 --- share/misc/committers-ports.dot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index df1187b06080..bc78f2c88cde 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -68,6 +68,7 @@ ijliao [label="Ying-Chieh Liao\nijliao@FreeBSD.org\n2001/01/20\n2011/01/02"] itetcu [label="Ion-Mihai Tetcu\nitetcu@FreeBSD.org\n2006/06/07\n2018/11/06"] jacula [label="Giuseppe Pilichi\njacula@FreeBSD.org\n2010/04/05\n2011/10/14"] jadawin [label="Philippe Audeoud\njadawin@FreeBSD.org\n2008/03/02\n2020/10/05"] +jbo [label="Joel Bodenmann\njbo@FreeBSD.org\n2023/09/06"] jlaffaye [label="Julien Laffaye\njlaffaye@FreeBSD.org\n2011/06/06\n2021/06/07"] jmallett [label="Juli Mallett\njmallett@FreeBSD.org\n2003/01/16\n2006/08/10"] jmelo [label="Jean Milanez Melo\njmelo@FreeBSD.org\n2006/03/31\n2013/08/18"] @@ -791,6 +792,7 @@ tcberner -> adridg tcberner -> arrowd tcberner -> diizzy tcberner -> fernape +tcberner -> jbo tcberner -> joneum tcberner -> kai tcberner -> lbartoletti @@ -842,4 +844,6 @@ wxs -> zi ygy -> yasu +zirias -> jbo + } From nobody Fri Sep 8 13:54:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhyKR5T8Sz4sn8Q; Fri, 8 Sep 2023 13:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhyKR4xFGz4Xc2; Fri, 8 Sep 2023 13:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694181291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B/q98o4kj3+/dOBin4FgIyBqN31lVadH1hZYR+4L3iI=; b=yTThkYOaZ4Ly8/kDb+vvpFpsvACrmEA/MpCeOdNNdO1s6n9wuAmclZT6zmO5Rn2LSL/xPU Hnb1YrA911cI0IuIOtWGgrEhx13B0D2BXkqflochq49H9CnVclDjl2k1snzf+iooSlkqk1 IJVgK8hcy011/hJmRASq8iLLYplZF7TouG3TAohGMihlXzmnLd09CJ6hjxb6t9bn+hLLdA shX74ayexDm+0K0n5wJcEztz13IB5lZ4N/80HHwU2TrYrwdGDkaEoB3MN7av6f7INGOSat 2BODMQNDYUT3cE9St46GUp/Nrjia8PE0XhzrYXenIW4L9voVJqOwBYG6X9tb0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694181291; a=rsa-sha256; cv=none; b=kXujuftYPUfxW6SEbjegVXTUsH2P8rt80gP+UVQjAP++tglrg6FQN8iqkwMpJ91TrQ+jv/ ThyZkrH10if7BM6o3JEcbO9UqJDX+zQ6+AkjecvDVx3tH8IDOPEsjr82zBXfQks6LKduSW zDbP8ovqE9205PhensjztA6LmNGbhY8P4jq7YGxALt0AQXFp3f2Zsxw5fDgLl0xnYMqQd+ lkNY1hNo4witArDILfj2ULHmsgty5sZ7t/W9/uerWzgPPd7sBjVdPGbicIYmzfTjUryLyb Vg5er534qd195KYhwSWuK00G5bHvDI/OmVOGt/pfyI3AGPuftGE6oYRxaySAVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694181291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B/q98o4kj3+/dOBin4FgIyBqN31lVadH1hZYR+4L3iI=; b=iYPI+GtgaaI0zXujdD/SBrH+5R+bqXFK24hPwqnjG8ka2dw7a1v4rDgqC99C9Fug/avCAw 0XCMf7F77XZdMLNAvrH3rM/fmCXioChFE3p/7XiOFy/cDxqVn2MtfK5/F0B8A0G8RYomjQ tQ5RT31ef5Bg4oQCtmXk9zZ96jZDxet+n2/7HD5vXAx211jV6tMKAnwFTgG8WyjSh2D4mU S60I8LqKPt2pQUvBG7Cm9voy/D0CZdHxJI5gJ4xycGxVck4OFfwF5rfIgpCMYtFSV+B962 xxyvj7jyebRRJDGY0eP5FNb25f1WtQCZ4c+iI4uAFcUH40bTSt/2bm58D+pKPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhyKR40PrzkK1; Fri, 8 Sep 2023 13:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388DspOu005888; Fri, 8 Sep 2023 13:54:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388DspnT005886; Fri, 8 Sep 2023 13:54:51 GMT (envelope-from git) Date: Fri, 8 Sep 2023 13:54:51 GMT Message-Id: <202309081354.388DspnT005886@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: aea540538991 - main - arm64: Fix the TCR_TBI0 macro to use UL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aea540538991dd9e8cf21c6ca06e09f706bf2d18 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=aea540538991dd9e8cf21c6ca06e09f706bf2d18 commit aea540538991dd9e8cf21c6ca06e09f706bf2d18 Author: Andrew Turner AuthorDate: 2023-09-08 13:27:15 +0000 Commit: Andrew Turner CommitDate: 2023-09-08 13:31:25 +0000 arm64: Fix the TCR_TBI0 macro to use UL This needs to be 1UL to ensure the type is large enough for the shift. Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 034504727b39..3ae2f24c2a56 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2127,7 +2127,7 @@ #define TCR_TBI1_SHIFT 38 #define TCR_TBI1 (1UL << TCR_TBI1_SHIFT) #define TCR_TBI0_SHIFT 37 -#define TCR_TBI0 (1U << TCR_TBI0_SHIFT) +#define TCR_TBI0 (1UL << TCR_TBI0_SHIFT) #define TCR_ASID_SHIFT 36 #define TCR_ASID_WIDTH 1 #define TCR_ASID_16 (1UL << TCR_ASID_SHIFT) From nobody Fri Sep 8 13:54:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhyKV0FQ7z4sn3y; Fri, 8 Sep 2023 13:54:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhyKS75RSz4XTg; Fri, 8 Sep 2023 13:54:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694181293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B4n1eNABErp881lUCD05XV4RzCJSV5lcnhW5URDUvU4=; b=qXQYlFe2A6y6xeJ9gW8qcO6GZ/+JIWqB/L5MDqxbdvN18exvE4kNrseNUvcze8Fb6krTkC 6z/ThnCSlcDba94a3UfK9Qyk8u3aonEAySe5rAxUNbASomUdVnrCbI23tgaAwqisJB4PyI /tP/Y+zR9L427pNvXFzr8eWwPwPBnE0gtcJjPqW727AnSOWcw95TKJ+FIZUgxGB+nwpEOQ AufT5W2xsB4UZn8+KVDCGpwZg4GRwhZ795eC25QnokwcNgPT37Tk/+zUfiME6VuTZp+to+ LfEmujNJDxznuO80+A4qzSeUfPM7/soCzcKOSSNJsrzst138kLKXlVV8Z+NtuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694181293; a=rsa-sha256; cv=none; b=hc14WTtsQ1sdFCjZGuaUK0QbeWa0ik5KzONXH+rRwBWp6P5cN/veEODbWoECq8Fs8GNBVt lCt4zAE1b5Jhd2auEwv+AVzMJCvsF7Ydbh21hGiDCLCnjx38zsmavg9EN5mWIAB1YHQIsG n5A9bfIS7BPabR6fvhufyKTF/R128T0+5cTGLNhJK63KiBlGeOfVHdp8IRGiN1E7gHkppt 2/1JFG4IuW/AomYawdekpu6tcY/WPnrhPrrgpXcSxt2tQACviewhVR3rfUs3avPDlxXR9g okQZRG8YJo61NqaUaEzttzomiASbN9FLXtXUk9UoQIUxmNKCI2Ss974eXP84iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694181293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B4n1eNABErp881lUCD05XV4RzCJSV5lcnhW5URDUvU4=; b=SrT/fSY3Eq2Zbj4eN7AzzN5KZmHdhwFQiqNM7DZUmbFrW9jLk/RN68U8/MRjYHsyKlJOLu YpHxmScFcOOC/cOZH/Hw3odqfAhVaQQz6LP0cgzaZQ3KG+xwJoMCobcZO584FqVn6QDlfg 7Y7CEMZnFn/Ecs7LLAXIzk6D04jMFOX2+VyDE7kM4FqTR4pxQ8yC/LITRLwV/eG+lI/lxG n/UPSg3awEAlFyONENM7A80qIBfoQsPzUywGGRSvrOGOycsYDvaQo+lrnKKaMAMuplN3FU bRY0iUeIXG8ipQ/eY7nDhR0Tk75nq1sPulWdDEhX8N0qtoMRp222h5ks5U2Pdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhyKS4yJFzkK2; Fri, 8 Sep 2023 13:54:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388DsqNC005931; Fri, 8 Sep 2023 13:54:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388DsqrF005928; Fri, 8 Sep 2023 13:54:52 GMT (envelope-from git) Date: Fri, 8 Sep 2023 13:54:52 GMT Message-Id: <202309081354.388DsqrF005928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: a35e47369f88 - main - arm64: Add TCR register masks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a35e47369f88e8c2e14b7371a1a5e1152680551f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a35e47369f88e8c2e14b7371a1a5e1152680551f commit a35e47369f88e8c2e14b7371a1a5e1152680551f Author: Andrew Turner AuthorDate: 2023-09-08 13:29:19 +0000 Commit: Andrew Turner CommitDate: 2023-09-08 13:31:26 +0000 arm64: Add TCR register masks These will be used by bhyve to implement page table walking. Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 3ae2f24c2a56..8251a687a5d1 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2141,6 +2141,7 @@ #define TCR_IPS_44BIT (4UL << TCR_IPS_SHIFT) #define TCR_IPS_48BIT (5UL << TCR_IPS_SHIFT) #define TCR_TG1_SHIFT 30 +#define TCR_TG1_MASK (3UL << TCR_TG1_SHIFT) #define TCR_TG1_16K (1UL << TCR_TG1_SHIFT) #define TCR_TG1_4K (2UL << TCR_TG1_SHIFT) #define TCR_TG1_64K (3UL << TCR_TG1_SHIFT) @@ -2155,8 +2156,10 @@ #define TCR_A1_SHIFT 22 #define TCR_A1 (0x1UL << TCR_A1_SHIFT) #define TCR_T1SZ_SHIFT 16 +#define TCR_T1SZ_MASK (0x3fUL << TCR_T1SZ_SHIFT) #define TCR_T1SZ(x) ((x) << TCR_T1SZ_SHIFT) #define TCR_TG0_SHIFT 14 +#define TCR_TG0_MASK (3UL << TCR_TG0_SHIFT) #define TCR_TG0_4K (0UL << TCR_TG0_SHIFT) #define TCR_TG0_64K (1UL << TCR_TG0_SHIFT) #define TCR_TG0_16K (2UL << TCR_TG0_SHIFT) @@ -2170,7 +2173,7 @@ #define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 -#define TCR_T0SZ_MASK 0x3f +#define TCR_T0SZ_MASK (0x3fUL << TCR_T0SZ_SHIFT) #define TCR_T0SZ(x) ((x) << TCR_T0SZ_SHIFT) #define TCR_TxSZ(x) (TCR_T1SZ(x) | TCR_T0SZ(x)) From nobody Fri Sep 8 14:07:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rhybh4bh7z4svRP; Fri, 8 Sep 2023 14:07:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rhybh46s3z4bh6; Fri, 8 Sep 2023 14:07:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694182032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LYMLw29Z0DShSKrU2PWwhyaU5YwFx/YANtHildQNSEE=; b=m2MF5Bkb0XVgVIg7bPvPfNj5IZvfhmFdOIkuy7fQggxxSvw4hGUBMpknM0K9zbODBavx6n 5Xq8Eyhru+OePGSTL0ShJ/MPH8cWKMqUl938CKweXILBG2yBoI5pINmRvJ1NglOO2iMRlE /A5kGRAUStwIDp/OtTc06+91Xw3xo9TB/HL9qqZDAbXT1DOJ0Z8EkPNRJm+Cr6JgYJKQ1x 1moDItPDbnbwTyUxwAufUc84IPFNhgOLOeg184gBgWAo/NVpZDhbFEAdVR3zLRCb0MoMXD p5TqogN5GaFk7VD6oR/zY9s+fkR3WVnAW0mbROKrQjGwU1E2AU2/fuMfPuA+wA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694182032; a=rsa-sha256; cv=none; b=h7fPVwxFIPJL8Pp3WXFpXHS6rU0AYgsk3HKgpo06rnWftgJrWQrK7PVi6ENii+Nwmsx3R6 pV1avMucl0/Ca5hl7qHztViVcyVD6Pa5qjr0VQvG/T9Qe6HQ2UChc2AGWFe5kus9xbs57W n1FqXCo0OfcB8My1NNFKLlAjov8VNtjJlRzM7e1Y29epzyu0Mb0XnOJTt8e8TSuBMaSt3m m9z0WiD1NRBK52ewoK9215cFVrd4RyeIkB4RXLm+lRQ16FbwZI/9cMn2ncM86gXJcqiG/r uzOzfwtU2X8FbwurTCISDBNunM5JFZuYwi1CFMFoIvCbnzOCwdM5H4mtSg46Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694182032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LYMLw29Z0DShSKrU2PWwhyaU5YwFx/YANtHildQNSEE=; b=gVCBaQgLgnJLHUnVHEEGUZuJwdEh91S3wiLzW1shsUeQnY0vMaSLP6ZYe6ThtTNQQUA+s7 JfBI17E3FyabjedEu1FV6HjLogYIYiS3xReRyBJVQwCXke67p7lLugj0tOftCQqvM3htmh c01qMIJ4TZ98NcXx8jmtU8BxccqKBxxG4J1EDtwmxYsuxGuTKBhjBhzXQn9nRih3YYCrAl DdxvwR3EyFr9WiIm/oEijRmQBOFHFAR/RjfnLBy/a4e+PgJ6d+pyEtCuc1GVVPGl4G8ORL aXi+QxXlV+fmHJ9qz4jdrF3Vy9n+fPUuSUDmXH+KAaIzwPBXUgxMj9vyPZMi/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rhybh36jfzklN; Fri, 8 Sep 2023 14:07:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388E7C5l024750; Fri, 8 Sep 2023 14:07:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388E7CVt024747; Fri, 8 Sep 2023 14:07:12 GMT (envelope-from git) Date: Fri, 8 Sep 2023 14:07:12 GMT Message-Id: <202309081407.388E7CVt024747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: 48514c5724cd - main - mountd: do not warn about using class mask with -mask List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48514c5724cdf3338dd6d220e5deee6178d7ee48 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=48514c5724cdf3338dd6d220e5deee6178d7ee48 commit 48514c5724cdf3338dd6d220e5deee6178d7ee48 Author: Mike Karels AuthorDate: 2023-09-08 14:06:42 +0000 Commit: Mike Karels CommitDate: 2023-09-08 14:06:42 +0000 mountd: do not warn about using class mask with -mask The previous code would warn that the mask was being defaulted to an obsolete class mask even if -mask was present after -network. Import a fix from Peter Much with a little tweaking, deferring the warning until after all parameters are processed. PR: 263011 Obtained from: pmc at citilink.dinoex.sub.org MFC after: 3 days Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D41774 --- usr.sbin/mountd/mountd.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 436481bad14c..6602dbc09aa0 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -319,6 +319,7 @@ static struct pidfh *pfh = NULL; #define OP_QUIET 0x100 #define OP_MASKLEN 0x200 #define OP_SEC 0x400 +#define OP_CLASSMASK 0x800 /* mask not specified, is Class A/B/C default */ #ifdef DEBUG static int debug = 1; @@ -1757,6 +1758,11 @@ get_exportlist_one(int passno) nextfield(&cp, &endcp); len = endcp - cp; } + if (opt_flags & OP_CLASSMASK) + syslog(LOG_WARNING, + "WARNING: No mask specified for %s, " + "using out-of-date default", + (&grp->gr_ptr.gt_net)->nt_name); if (check_options(dirhead)) { getexp_err(ep, tgrp, NULL); goto nextline; @@ -3393,6 +3399,7 @@ get_net(char *cp, struct netmsk *net, int maskflg) goto fail; bcopy(sa, &net->nt_mask, sa->sa_len); opt_flags |= OP_HAVEMASK; + opt_flags &= ~OP_CLASSMASK; } else { /* The specified sockaddr is a network address. */ bcopy(sa, &net->nt_net, sa->sa_len); @@ -3426,9 +3433,6 @@ get_net(char *cp, struct netmsk *net, int maskflg) (opt_flags & OP_MASK) == 0) { in_addr_t addr; - syslog(LOG_WARNING, - "WARNING: No mask specified for %s, " - "using out-of-date default", name); addr = ((struct sockaddr_in *)sa)->sin_addr.s_addr; if (IN_CLASSA(addr)) preflen = 8; @@ -3443,7 +3447,7 @@ get_net(char *cp, struct netmsk *net, int maskflg) bcopy(sa, &net->nt_mask, sa->sa_len); makemask(&net->nt_mask, (int)preflen); - opt_flags |= OP_HAVEMASK; + opt_flags |= OP_HAVEMASK | OP_CLASSMASK; } } From nobody Fri Sep 8 14:23:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhyyJ2nGXz4rrdR; Fri, 8 Sep 2023 14:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhyyJ2Yb4z3Fwj; Fri, 8 Sep 2023 14:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694183000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbCW8BkV/zGEP7DE3AI6lrXIWIUyZG9Q9+rWQRhWi80=; b=v937Y6C5RlwfZJVsUhWWH3BYOE+hxEAhoPHk74IQECC3ZN4yEkLytrM0L0aaYWdZYiCL9t 8j5VSi92p6SNTulzXE5lbxO89kU1H2b00hxNaccM80Qrw7HmAocNmT4lsAfUup85/OaYwQ j9LT7U6IVpAAurzXoHOc9aRjHZi6z/t9ccjVCCsKvB7Eho0XdmnfbT7JJr9IYKuXbHAw96 zlurtfAHEpm9vHiH7nQpHJq4HNzj6wDY4AKpq5VAF47WpbJa9t0hk2TiRVLgXtMnvlbl2y UgwFTegovEdxm7HZjMQLbfCgaWqxgXw7bc6xpvUkY6OoQYLU0iNLw1cBKmLt8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694183000; a=rsa-sha256; cv=none; b=yNDsJIgQ4qOmrk+WSs25VhtPZMKdedUaPI3xC7g+NJl+Xb4dprHoUywKEjIGW6j+TkJFfA L6Rb/SYRdF0xCuLgdcuPF0UJG54VEVbgZhYv+wZjtMol7TCWVtq3mPV8j2s7j9A1zhzqc1 j1IhGCGxcU4hHsPuD6r+WJtbHirl88XfqkcvTcnQVf6m5uy/P8ors6tefBENkGcqR/LrtS a2RxBZWf4uq7R6i5L9QN77NGjt50kAhDNVf7JIzbQXwafmtoK+tf811RdXiMPMQv/zXgWf ZgBYyxOerTBjTg4dYpzQ8y6+VMELpDPEZJQ6lIXhm7L98Usbj97Loj2/q9ONcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694183000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbCW8BkV/zGEP7DE3AI6lrXIWIUyZG9Q9+rWQRhWi80=; b=DwWx49b3mMAVQ/0IBnYpXIwMlFgyNsVJaIOFtkGg+NH/Ne7aJu3jA5R4qzTSXHcBh9pImF EkpEOl0Z4kSTDV2HAfcEDS2Nb3l0mhZim5jc4hnpW+BSZA1g0dtk2EEs59QusGRmT1aWLg D12r0bFSvzTDRGXBYnsTZ8HJq6nmzeJ3cSeMCKqS7A06P3bpsrz4Icd3Ve+2c9rKJ5zkoM zdp1ZN+9m0bHFcK9md7wvBFZdCwQ04TdShYaWRvfNPV6Yp0U4YB+wnTkoXISQNOqeDILbx hwLzDechu44gzn0zz/sRlB621aHT/Jc3Jux8x2nYHRLduSkmlg7M6WUGpwfUqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhyyJ1dRSzlm3; Fri, 8 Sep 2023 14:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388ENKns056626; Fri, 8 Sep 2023 14:23:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388ENKbP056623; Fri, 8 Sep 2023 14:23:20 GMT (envelope-from git) Date: Fri, 8 Sep 2023 14:23:20 GMT Message-Id: <202309081423.388ENKbP056623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: f9425b3a85e9 - main - sctp: cleanup locking for notifications List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9425b3a85e9e211b61e11ce8115bf73674bdf49 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f9425b3a85e9e211b61e11ce8115bf73674bdf49 commit f9425b3a85e9e211b61e11ce8115bf73674bdf49 Author: Michael Tuexen AuthorDate: 2023-09-08 14:20:51 +0000 Commit: Michael Tuexen CommitDate: 2023-09-08 14:20:51 +0000 sctp: cleanup locking for notifications All notifications are now queued via sctp_ulp_notify(). Do the locking of the inp read lock there and validate this in all functions being used. This is one step in avoiding race conditions when closing the read end of an SCTP socket. MFC after: 3 days --- sys/netinet/sctp_auth.c | 12 ++--- sys/netinet/sctputil.c | 132 ++++++++++++++++++++++++++++++------------------ 2 files changed, 87 insertions(+), 57 deletions(-) diff --git a/sys/netinet/sctp_auth.c b/sys/netinet/sctp_auth.c index 3c1962233347..8bcb6d5243db 100644 --- a/sys/netinet/sctp_auth.c +++ b/sys/netinet/sctp_auth.c @@ -1706,13 +1706,9 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, struct sctp_authkey_event *auth; struct sctp_queued_to_read *control; - if ((stcb == NULL) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || - (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { - /* If the socket is gone we are out of here */ - return; - } + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_AUTHEVNT)) /* event not enabled */ @@ -1757,7 +1753,7 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } /*- diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 17a5a098dd90..11469236014e 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -3149,10 +3149,11 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, ("sctp_notify_assoc_change: ABORT chunk provided for local termination")); KASSERT(!from_peer || !timedout, ("sctp_notify_assoc_change: timeouts can only be local")); - if (stcb == NULL) { - return; - } + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); inp = stcb->sctp_ep; + SCTP_INP_READ_LOCK_ASSERT(inp); + if (sctp_stcb_is_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT)) { notif_len = (unsigned int)sizeof(struct sctp_assoc_change); if (abort != NULL) { @@ -3233,7 +3234,7 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_tcb *stcb, control->tail_mbuf = m_notify; sctp_add_to_readq(inp, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } else { sctp_m_freem(m_notify); } @@ -3284,11 +3285,15 @@ sctp_notify_peer_addr_change(struct sctp_tcb *stcb, uint32_t state, struct sctp_paddr_change *spc; struct sctp_queued_to_read *control; - if ((stcb == NULL) || - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPADDREVNT)) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPADDREVNT)) { /* event not enabled */ return; } + m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_paddr_change), 0, M_NOWAIT, 1, MT_DATA); if (m_notify == NULL) return; @@ -3359,7 +3364,7 @@ sctp_notify_peer_addr_change(struct sctp_tcb *stcb, uint32_t state, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3373,9 +3378,12 @@ sctp_notify_send_failed(struct sctp_tcb *stcb, uint8_t sent, uint32_t error, struct sctp_chunkhdr *chkhdr; int notifhdr_len, chk_len, chkhdr_len, padding_len, payload_len; - if ((stcb == NULL) || - (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) && - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT))) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) && + sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) { /* event not enabled */ return; } @@ -3488,7 +3496,7 @@ sctp_notify_send_failed(struct sctp_tcb *stcb, uint8_t sent, uint32_t error, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3501,12 +3509,16 @@ sctp_notify_send_failed2(struct sctp_tcb *stcb, uint32_t error, struct sctp_queued_to_read *control; int notifhdr_len; - if ((stcb == NULL) || - (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) && - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT))) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) && + sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) { /* event not enabled */ return; } + if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) { notifhdr_len = sizeof(struct sctp_send_failed_event); } else { @@ -3584,7 +3596,7 @@ sctp_notify_send_failed2(struct sctp_tcb *stcb, uint32_t error, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3594,8 +3606,11 @@ sctp_notify_adaptation_layer(struct sctp_tcb *stcb, int so_locked) struct sctp_adaptation_event *sai; struct sctp_queued_to_read *control; - if ((stcb == NULL) || - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ADAPTATIONEVNT)) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ADAPTATIONEVNT)) { /* event not enabled */ return; } @@ -3631,7 +3646,7 @@ sctp_notify_adaptation_layer(struct sctp_tcb *stcb, int so_locked) control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3644,15 +3659,16 @@ sctp_notify_partial_delivery_indication(struct sctp_tcb *stcb, uint32_t error, struct sctp_queued_to_read *control; struct sockbuf *sb; - if ((stcb == NULL) || - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_PDAPIEVNT)) { + KASSERT(aborted_control != NULL, ("aborted_control is NULL")); + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_PDAPIEVNT)) { /* event not enabled */ return; } - KASSERT(aborted_control != NULL, ("aborted_control is NULL")); - SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); - m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_pdapi_event), 0, M_NOWAIT, 1, MT_DATA); if (m_notify == NULL) /* no space left */ @@ -3705,6 +3721,10 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb, int so_locked) struct sctp_shutdown_event *sse; struct sctp_queued_to_read *control; + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + /* * For TCP model AND UDP connected sockets we will send an error up * when an SHUTDOWN completes @@ -3714,6 +3734,7 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb, int so_locked) /* mark socket closed for read/write and wakeup! */ socantsendmore(stcb->sctp_socket); } + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT)) { /* event not enabled */ return; @@ -3748,7 +3769,7 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb, int so_locked) control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3758,8 +3779,11 @@ sctp_notify_sender_dry_event(struct sctp_tcb *stcb, int so_locked) struct sctp_sender_dry_event *event; struct sctp_queued_to_read *control; - if ((stcb == NULL) || - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_DRYEVNT)) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_DRYEVNT)) { /* event not enabled */ return; } @@ -3795,7 +3819,7 @@ sctp_notify_sender_dry_event(struct sctp_tcb *stcb, int so_locked) control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3805,13 +3829,10 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, int flag, int so_locked) struct sctp_queued_to_read *control; struct sctp_stream_change_event *stradd; - if ((stcb == NULL) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || - (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { - /* If the socket is gone we are out of here. */ - return; - } + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_CHANGEEVNT)) { /* event not enabled */ return; @@ -3858,7 +3879,7 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, int flag, int so_locked) control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3868,13 +3889,10 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, int flag, int so_locked) struct sctp_queued_to_read *control; struct sctp_assoc_reset_event *strasoc; - if ((stcb == NULL) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || - (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || - (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { - /* If the socket is gone we are out of here. */ - return; - } + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ASSOC_RESETEVNT)) { /* event not enabled */ return; @@ -3915,7 +3933,7 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, int flag, int so_locked) control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3927,8 +3945,11 @@ sctp_notify_stream_reset(struct sctp_tcb *stcb, struct sctp_stream_reset_event *strreset; int len; - if ((stcb == NULL) || - (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_RESETEVNT))) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_RESETEVNT)) { /* event not enabled */ return; } @@ -3979,7 +4000,7 @@ sctp_notify_stream_reset(struct sctp_tcb *stcb, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED); + SCTP_READ_LOCK_HELD, so_locked); } static void @@ -3992,10 +4013,14 @@ sctp_notify_remote_error(struct sctp_tcb *stcb, uint16_t error, unsigned int notif_len; uint16_t chunk_len; - if ((stcb == NULL) || - sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPEERERR)) { + KASSERT(stcb != NULL, ("stcb == NULL")); + SCTP_TCB_LOCK_ASSERT(stcb); + SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep); + + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPEERERR)) { return; } + if (chunk != NULL) { chunk_len = ntohs(chunk->ch.chunk_length); /* @@ -4041,7 +4066,7 @@ sctp_notify_remote_error(struct sctp_tcb *stcb, uint16_t error, control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, - SCTP_READ_LOCK_NOT_HELD, so_locked); + SCTP_READ_LOCK_HELD, so_locked); } else { sctp_m_freem(m_notify); } @@ -4070,9 +4095,15 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, return; } } + if (notification != SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION) { + SCTP_INP_READ_LOCK(inp); + } + SCTP_INP_READ_LOCK_ASSERT(inp); + if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_CANT_READ)) { + SCTP_INP_READ_UNLOCK(inp); return; } @@ -4220,6 +4251,9 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, __func__, notification, notification); break; } + if (notification != SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION) { + SCTP_INP_READ_UNLOCK(inp); + } } void From nobody Fri Sep 8 14:44:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RhzQD146jz4s6Vs; Fri, 8 Sep 2023 14:44:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RhzQD0JDzz3Mcc; Fri, 8 Sep 2023 14:44:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694184244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BbEQgn8MKdDybZ3xTs/S4AvrhtunmtqCHxsrUw8R5Qg=; b=iZWr6lCoh8W+LbnxcPGKlhHxfA0MkYKN0rj1XmWFcNtnE7vH9P+DjoeLmK+mw6OSPYhNls dtgV34eccQPsuoH5K4DqufIEsfJXE/iYxJQA6EqGQ8a9lsQj/DjHaKNPlrK0pKvpCQHvJF PhQUC6/A7eb7O775O31NJJ8LYqEVASV81cNN9O0RePVWDV87z7d969mK5xUsnyr7FStDLK HKqFR1Z5p2ovc7PI+9vzdfYAciejsudWM7Xuzi2dL0AbpVh34YgnkrT9u71pNQ8/YpBtzA 8WYFI6KYRyOBM24ChTnsh9I20SVQbKLFi3DBjNKcdET0CKtOKfBtvNtVYnvluA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694184244; a=rsa-sha256; cv=none; b=QyXcVmvnVqpmDzxV6pr5wxuGfdbSPhl8XLwWIo/gLpsC6Alk3O6M9VifRNNC+LDJ+GCCGT jDpGRvWlYx42jMldYrNNZ7CgprDkxMzkVPGLxbe8lKw4jpkTSUhNcrAFqJy/ds5SWYcXPF Ad+5nx8MCQL5iiGE7pBsZTQsKRVlKfeTWlmggNLpHsRsPjwJzCa+KTP3FvsD7786ay3/cE qQbuMBkXxR65EkRJevFXCthv6c5hN15nKfROtKvQty/k8tY9PlIwRdpYLvurjcsVjjF5Ub +Dkij+QahKDb10V5D0DwLDM+6gJnjDeDyj6MwfFeRG3Vp4ZpxheuOMgOt7W7OA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694184244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BbEQgn8MKdDybZ3xTs/S4AvrhtunmtqCHxsrUw8R5Qg=; b=eKMii5aSiCWvgMjfVXq5YJQkLv8iRE+zklRf36pEs4bQkSy47cFe3V2GTCsq+hf0cItH+W 24svqo55jZn2gz0ZSzlPOFk0mVp/1pnr9NU5gYtV6aIO4SkDVlp4xpwmyfKjtNOMlcv05A WkDxTl+m1iIFguC/2d0dgiiY8mOdQGKopzVEr0CrJWh0hPRcVd2deHhfZUwezMfg3Gq7jd /Jai3KZa3Kd6HFdiONYXypW44CRQR8lX0X4U0SzH8EwxXwpky8mJ2+bu0fwM6m7qeXDlGZ aqiZxJmO50xfMfMdW86Fh1PNnAV/yldAIQOwku0d3H+TnQc09iOJZ9R550eSRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RhzQC686KzmN3; Fri, 8 Sep 2023 14:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388Ei3R0093256; Fri, 8 Sep 2023 14:44:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388Ei3rQ093253; Fri, 8 Sep 2023 14:44:03 GMT (envelope-from git) Date: Fri, 8 Sep 2023 14:44:03 GMT Message-Id: <202309081444.388Ei3rQ093253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Felix Palmen Subject: git: 162186181013 - main - committers-ports.dot: Fix entry for jbo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zirias X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16218618101322f28cba589f3b73aea9f4b05ae5 Auto-Submitted: auto-generated The branch main has been updated by zirias: URL: https://cgit.FreeBSD.org/src/commit/?id=16218618101322f28cba589f3b73aea9f4b05ae5 commit 16218618101322f28cba589f3b73aea9f4b05ae5 Author: Felix Palmen AuthorDate: 2023-09-08 14:39:47 +0000 Commit: Felix Palmen CommitDate: 2023-09-08 14:39:47 +0000 committers-ports.dot: Fix entry for jbo Joel Bodenmann's entry accidentally went to the alumni section, and I didn't notice from the context Phab provides. Fix this. Fixes: b4b89476fa95 Add myself as ports committer [...] Pointy hat to: zirias --- share/misc/committers-ports.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index bc78f2c88cde..4ce4a747cfc2 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -68,7 +68,6 @@ ijliao [label="Ying-Chieh Liao\nijliao@FreeBSD.org\n2001/01/20\n2011/01/02"] itetcu [label="Ion-Mihai Tetcu\nitetcu@FreeBSD.org\n2006/06/07\n2018/11/06"] jacula [label="Giuseppe Pilichi\njacula@FreeBSD.org\n2010/04/05\n2011/10/14"] jadawin [label="Philippe Audeoud\njadawin@FreeBSD.org\n2008/03/02\n2020/10/05"] -jbo [label="Joel Bodenmann\njbo@FreeBSD.org\n2023/09/06"] jlaffaye [label="Julien Laffaye\njlaffaye@FreeBSD.org\n2011/06/06\n2021/06/07"] jmallett [label="Juli Mallett\njmallett@FreeBSD.org\n2003/01/16\n2006/08/10"] jmelo [label="Jean Milanez Melo\njmelo@FreeBSD.org\n2006/03/31\n2013/08/18"] @@ -204,6 +203,7 @@ grembo [label="Michael Gmelin\ngrembo@FreeBSD.org\n2014/01/21"] hrs [label="Hiroki Sato\nhrs@FreeBSD.org\n2004/04/10"] jase [label="Jase Thew\njase@FreeBSD.org\n2012/05/30"] jbeich [label="Jan Beich\njbeich@FreeBSD.org\n2015/01/19"] +jbo [label="Joel Bodenmann\njbo@FreeBSD.org\n2023/09/06"] jgh [label="Jason Helfman\njgh@FreeBSD.org\n2011/12/16"] jhale [label="Jason E. Hale\njhale@FreeBSD.org\n2012/09/10"] jhixson [label="John Hixson\njhixson@FreeBSD.org\n2018/07/16"] From nobody Fri Sep 8 18:21:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj4F45Z6fz4rx6b; Fri, 8 Sep 2023 18:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj4F456Qlz3SlS; Fri, 8 Sep 2023 18:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694197288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NLZsl9lZ4O7quiI6rFO2cvQCxcG/iOskG5nuYRmEFWI=; b=JRa7TwrByHGg/VJophm7hll720QSP0MKr3Sp8LmVtxVy6oG/3NpDLfjAeJ+TDSus9xAgum 2/SOhnrOlUQmSw+Ul+0mnClaoxWUVvSqiKnbJu3T5jQY1mYKAngl6+zMHcX7T1Rt3bCgv6 EHd1j35dnbesvFh8/u51tES1tPZwykjP1W2QvMFteEqbUdNnQwqkwRANqMBLD6FgDq4HLp wrwNW6V3QvhgM0JUMsbZuNNHDGfoZA1HyJ6peh/lolFNrHhaPyfKps5jsy1LKwHLDjd5VG IO7xJ7OIEsCsqjplyaHI9dfY9Qxk9wYKFdW3Fa9DeX2RVbs+BcT03Nt4uNmwbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694197288; a=rsa-sha256; cv=none; b=ey5nMf1MncEKxSBjDAVShLAC4S9ULQhndjsNGllRsZI/SbzM0AWyawquSg7mDpUtG9nx2F YUVVHk+WEiuMWDBqcnYKxJ+OSyRX1VhMIM04Gg322U4lwXF5f5CXqNBwAwwJb+9WSOvILm 74IcrNogS9rNGOucdpTAnrAfdWdRlwaRxKHcN85itJB2Ry3W1pU8cUyYD0c956UJjYncUW gMHFizvFipmcVcT/rNuYe9U7fngF7CL1Lwtp8ETMt8xf0iv6pgVeq4fyBBN0cjTV1KCuVZ zRBU7ixk6irSICl9+PiRbj9LxRoFaUIY2gPmePzv53q3lEZ0n2moi93w835SzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694197288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NLZsl9lZ4O7quiI6rFO2cvQCxcG/iOskG5nuYRmEFWI=; b=g4ZxZNd6YUo8DEh2BXsEvKyKGppz1Ci8MFiQE361ofVqhAtZ5adKx8W4IemCIB2EhQAP3y IC4BNEwK7Hbz/OfmnTaOR20V7vwzrJDeJot/SM9sFvDCGwUt2b9ifWH3jy4I60IzLynOnJ bMA9k8Q5gorCJn5loVZqXnDVcLlTeU/s/QcYTloif2XKlrUStoVfebeJ8NsfMPOXMDJljl 3GRH3xxj49kuKFWhRAKDABDvclSmIt8W0uHDW8SBL9bWxGDlMf7OcugtJkj6vvx7WiiQWi +CIK95aXeA8Wk71wSSqPdxpZoPS+i6lwa6cuYxS4SonQboEAv3jKTnmDR2reiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj4F44C4rzs6G; Fri, 8 Sep 2023 18:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388ILSuN055924; Fri, 8 Sep 2023 18:21:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388ILSLM055921; Fri, 8 Sep 2023 18:21:28 GMT (envelope-from git) Date: Fri, 8 Sep 2023 18:21:28 GMT Message-Id: <202309081821.388ILSLM055921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: caf5283fc92e - main - grep: Suppress EISDIR when reading. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: caf5283fc92edb83173752b1dafbc6d586e78815 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=caf5283fc92edb83173752b1dafbc6d586e78815 commit caf5283fc92edb83173752b1dafbc6d586e78815 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-08 18:17:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-08 18:19:46 +0000 grep: Suppress EISDIR when reading. MFC after: 1 week Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Reviewed by: kevans --- usr.bin/grep/file.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c index cd2764811776..3349b72842ca 100644 --- a/usr.bin/grep/file.c +++ b/usr.bin/grep/file.c @@ -72,6 +72,8 @@ grep_refill(struct file *f) bufrem = 0; nr = read(f->fd, buffer, MAXBUFSIZ); + if (nr < 0 && errno == EISDIR) + nr = 0; if (nr < 0) return (-1); From nobody Fri Sep 8 19:20:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj5Yj2XX0z4sqRc; Fri, 8 Sep 2023 19:20:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj5Yj20yCz4GwQ; Fri, 8 Sep 2023 19:20:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694200857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Mb+Tq+myoHeJRR9NyuRC9J6K7jROW/0eK+ecyO9PUQ=; b=Xs8GZy32j7zAEV01U//W8y3AHzjnA82VO33ujlrZ+H2pC99+JESAF4wNTJNcgB5y2IWbyL fRjvD8XfGuCMorjRBgq7A9BnaNobV5yfA+yw1FLhDBSwWPOlsXX/+supqyc9BToFgSmTNa Co7cCW7EYu1X8kBfkXtGQkNPWK33qX0BPqTcqhimDskR9iGLkUnLGg1hiEMW6ID1Q6e0ik mX4pHo212XafyMlWRT0odgaJ0O/3lTZs45gz+cgz+MK6ymKbPe39jIKmIxLTGqxlivKF/i 9mkll5kOXCTnxbE0XoaIUPZoDzN9EEguAfKoEGFPwiLoJryfI4Zn2gw45pt9sA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694200857; a=rsa-sha256; cv=none; b=uTN2aRDrgN1EfeazSsWIiebZarl4HpfsukNXux/w7Nc5PqvI50Qkj3kWWaiHrE0aa6pAWR WxHtUMvx9Yk382IdqK5fteJLJ3x2sidrRrIVm/592QF70gP1UJOZhi6zOdtyn3hf8oeK2H 4mqH0z10JLGByOaCm5KDusMwf7clKEJuv62QYI0PCG7e+fq/0GOQv5pulB3wjmt3FRrqNa zGXsvTgc7hda+A5PTJ4Bc4Z+g/oSy8pmel+lXkpRx0GKhnAX1G6hewsNm24bj6lFcid7t9 s09UOIr2DiSSq3TRvFu/y/w+o0GQbUSOpSZaO1G4go/I9rdd9AUrbTACrNPxyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694200857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Mb+Tq+myoHeJRR9NyuRC9J6K7jROW/0eK+ecyO9PUQ=; b=GwzXShnvZA8Ne/HMfHofLJdovhjskcvn0NKvDsy8MUztnKSuRQ3O91ZBTdyQ4MBmlL16nl huzjR09t4GqVrqrboMpQ3sKfTzRcMLubpOV2VFwDA90Cc+VwiE/Yq2CK5Lr0tB8DpiWLsK DSf2EX6L/rVcm2bZAs8oO0KzEwetPSAdkRB8GVdNvnL5An+DeQPcnXYY1fSnkOoQD/ouOE 9CXAhxqa4PWobTxoGmY7qWUbDXNG7OTMD0JlOdCpxiU9wCXzOfARrXlsHMUJ+rTWIKe7LD 2VABLaJ39FFBSo19cxABzb/5u0a+IoSkVYmBNXNqy0KBcKFh4vObr4La22xhEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj5Yj11VyztcH; Fri, 8 Sep 2023 19:20:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388JKvHg051240; Fri, 8 Sep 2023 19:20:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388JKvr6051237; Fri, 8 Sep 2023 19:20:57 GMT (envelope-from git) Date: Fri, 8 Sep 2023 19:20:57 GMT Message-Id: <202309081920.388JKvr6051237@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 1e81a4e7e89b - main - sctp: don't call sctp_ulp_notify() recursively List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e81a4e7e89bb1870bec84e42284ad10505e957c Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1e81a4e7e89bb1870bec84e42284ad10505e957c commit 1e81a4e7e89bb1870bec84e42284ad10505e957c Author: Michael Tuexen AuthorDate: 2023-09-08 19:19:59 +0000 Commit: Michael Tuexen CommitDate: 2023-09-08 19:19:59 +0000 sctp: don't call sctp_ulp_notify() recursively This does not work with the new locking scheme. MFC after: 3 days --- sys/netinet/sctputil.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 11469236014e..19180b3cf725 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -4117,7 +4117,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, sctp_notify_adaptation_layer(stcb, so_locked); } if (stcb->asoc.auth_supported == 0) { - sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, NULL, so_locked); + sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, 0, so_locked); } break; case SCTP_NOTIFY_ASSOC_DOWN: @@ -4182,7 +4182,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb *stcb, case SCTP_NOTIFY_ASSOC_RESTART: sctp_notify_assoc_change(SCTP_RESTART, stcb, error, NULL, false, false, so_locked); if (stcb->asoc.auth_supported == 0) { - sctp_ulp_notify(SCTP_NOTIFY_NO_PEER_AUTH, stcb, 0, NULL, so_locked); + sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, 0, so_locked); } break; case SCTP_NOTIFY_STR_RESET_SEND: From nobody Fri Sep 8 20:49:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj7Ww4nJFz4spBW; Fri, 8 Sep 2023 20:49:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj7Ww4Mhzz4kCP; Fri, 8 Sep 2023 20:49:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694206172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mev21pshAp02b6iRAb6X9zGdB9Ien9e7VNLQaNIftE0=; b=LsjBWniVt3Fno8LBW4WR3fmq1kYzvNx3fmkCdpzwS8lPzjna1DdhSFmlai+ZypFuXgqlH+ CGVCkr2SurJXdv0Izg/zhqk2Qx5gcDOgse+fHNhyqCGF7qhtBTEssDLFNVU1t+BWPhKD+p Yb+DUIkRt4wrYcfy4libzTYR9JCy1rEeHxa391LgIHG/GyA21Fu67UTke9bbyyxFGa028e xtlopEdJE4fktiCwQRmgNSnpzNlbJpS18nhqA6mYwGdUdDNXFZE+hRTCVoFpfBzsnzDC7b EMVSSEC/D3j0KFM0NXiqS1cFuCaghsoLEm6K4kJw4s1ZHTh3/RjVvM00DOpTYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694206172; a=rsa-sha256; cv=none; b=s8Q05b5HStpPK6sUmd30KU3MWFnGyRoLsb+4Ar5aZ00gLLslLJnbTWe6/4KiP4HdXbqFkI 2KSdFQpZUiYNOzzHFcMAJPUUyWntQBCpGwDai5ZQDEzS6hTya4YTItgNkwmBVzMajqX0eO q8BNi5RgU6RjJYdAe/ZigWc0NB5+IRDDHUlFH8JRUBE/vQlwarlOgjk+WeShAVJs7LdbYn /o97skG+t66nybJ8egQGgovGzBRf7nIIeYujlrJzuFAzfETWQWN6yotGNb2CoqIdpxzSVK MTgackSAUteVztdd6P0Y5a3QJinwXz1WgkZ59USfvne0UqI1nITVHG2RDmNuQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694206172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mev21pshAp02b6iRAb6X9zGdB9Ien9e7VNLQaNIftE0=; b=Vg87Hjb+PKbkCHSDee+/tP2PQzokOpG8Fuzh9FeygLtc4bks08VGd6EJzrB0/to2KHHOe/ 7stKVzbYfro9e71iLac5Vb9GpGGUjps5JigZAP2kReJWyLWSkOZ/M0xoZ+iI/vsnhk/Fx9 1l3d2d8fvCD/8rXfNmNBXtLSL/LyI5mS+EDxzR9lW0XfKZ2NqHg69sv+qiaU73jXUq9xwb F5xxslNj1jb4B3+77/gMBx+xLriILUkCxFWlHMT5fbAqZcwVDd9ivgKxJ4Y07+vhDvh9Lg L/FNl/f4QhaC0Ye0eOMVK1Pxfm+LjO1nT9vNUS0aFMOZHhbDhyQV7Nvmqbx2ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj7Ww34hkzws1; Fri, 8 Sep 2023 20:49:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388KnW8B090898; Fri, 8 Sep 2023 20:49:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388KnW4e090895; Fri, 8 Sep 2023 20:49:32 GMT (envelope-from git) Date: Fri, 8 Sep 2023 20:49:32 GMT Message-Id: <202309082049.388KnW4e090895@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 604f6bf022ce - main - powerpcspe: Fix build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 604f6bf022cea7e48f3675aa82e756a440716fd9 Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=604f6bf022cea7e48f3675aa82e756a440716fd9 commit 604f6bf022cea7e48f3675aa82e756a440716fd9 Author: Li-Wen Hsu AuthorDate: 2023-09-08 20:46:25 +0000 Commit: Li-Wen Hsu CommitDate: 2023-09-08 20:46:25 +0000 powerpcspe: Fix build Copy _fpmath.h from powerpc, which is the same as the one in powerpc64. Sponsored by: The FreeBSD Foundation --- lib/libc/powerpcspe/_fpmath.h | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/lib/libc/powerpcspe/_fpmath.h b/lib/libc/powerpcspe/_fpmath.h new file mode 100644 index 000000000000..9bc7450aacaf --- /dev/null +++ b/lib/libc/powerpcspe/_fpmath.h @@ -0,0 +1,56 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2003 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +union IEEEl2bits { + long double e; + struct { +#if _BYTE_ORDER == _LITTLE_ENDIAN + unsigned int manl :32; + unsigned int manh :20; + unsigned int exp :11; + unsigned int sign :1; +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ + unsigned int sign :1; + unsigned int exp :11; + unsigned int manh :20; + unsigned int manl :32; +#endif + } bits; +}; + +#define mask_nbit_l(u) ((void)0) +#define LDBL_IMPLICIT_NBIT +#define LDBL_NBIT 0 + +#define LDBL_MANH_SIZE 20 +#define LDBL_MANL_SIZE 32 + +#define LDBL_TO_ARRAY32(u, a) do { \ + (a)[0] = (uint32_t)(u).bits.manl; \ + (a)[1] = (uint32_t)(u).bits.manh; \ +} while(0) From nobody Fri Sep 8 21:23:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H346WTz4t8F5; Fri, 8 Sep 2023 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H33fKTz3CTV; Fri, 8 Sep 2023 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4G6in0Rn9KMfeSCga2W+x6hlo1L2w6EbH+OsygOLwiw=; b=LRKHJn8hk8hPouq5gMw8JVLg0irQ9Q3lleqjnm203XSxgBY2jw9Z0RQrFkB7Ng64XUd+qU 7xLKHjTpgO2w3TEr0sdaFdSWzVBr+gO+B0Dcr2/ZcxSMHRljX7cWqFslraexzcHiJ26fQB ovbPB8LFoeMqWFD+cuuDtfEueOENetFLLrNiaTqn1ObcSpAPcY+3nJsxQ5+1ii6ew96urB RBmsbqB+q69gu9MwBxjHGZaSFi4VWe4+GjG/nMD7vRE8JBgSu8l7cSVhaiYxhqOW/HqZeY YL0AjhHXR3TepOmqjdCS4MnnTMkyfLtS06CSvmktLGgEJvYcy2xFJbZgcM7opw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208207; a=rsa-sha256; cv=none; b=FQps3kUX45kgAjMcZhFtgSV3eJY8I9+kQ8ixQST1u2FKjFH1PjhIgCXi7+kySRGuG316N4 /iZXuxuA//4zQMm29oNDT7wR2WoxOdxnEqs+1Q9mzfjpk1RVTpjIDrbNcGpff9SizKjHCG Us1yjWF4zQrd/gonQlHSDR0W/xiGeL3nn80QF04E5wbKJpNoU9MynPu8uMjm3gAP06NBaY 3hhfHfgZNtOicpgnTBa/OkUWUXExh5uvy0x6SbXnF6S4WDguWCcvODIM7EridAeN9S8z0P XMHakcrg+pEGqzPYcTR5YCOha+QZ6ntrwn25hUyp1RP3diEgbXP4d91urtrFVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4G6in0Rn9KMfeSCga2W+x6hlo1L2w6EbH+OsygOLwiw=; b=GvggBqb8g7gWzOrdtPXLAFYPWWEL40rEU7RsoDVeWWTqD+q6wG0V8QVSCacPdhXei/0Epy 8YUt/vCEBM+vG2eFvCQtwJSWTua7CUSC/pgf2KRt8AcUfa9nMo2SGOECScCbFWIaoWTHnr +CUH/DZPU3jXqAdbaURXEBd8MA6JGkEc3suuv0Uj6fOiZDYjy3M3k7gPB1ZnuZPdfqSHjV UEO2noEXawyz+wpjxVJNzfdxXtwWvo2EQd2oQwjq9Y1134vda+E70CIOdMKXPLYxBcP0Uh cdH6Xy4OW56F+QHe73sJhC8pZMv4Vw+sMxcGzRF/VyL/La1e0mQ41KSwOc41vQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H32hKkzxlr; Fri, 8 Sep 2023 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNRWe057268; Fri, 8 Sep 2023 21:23:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNRtE057265; Fri, 8 Sep 2023 21:23:27 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:27 GMT Message-Id: <202309082123.388LNRtE057265@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 474408bb7933 - main - lib/libc/amd64/string: add strcspn(3) scalar, x86-64-v2 implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 474408bb7933f0383a0da2b01e717bfe683ae77c Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=474408bb7933f0383a0da2b01e717bfe683ae77c commit 474408bb7933f0383a0da2b01e717bfe683ae77c Author: Robert Clausecker AuthorDate: 2023-08-13 17:35:01 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:20:19 +0000 lib/libc/amd64/string: add strcspn(3) scalar, x86-64-v2 implementation This changeset adds both a scalar and an x86-64-v2 implementation of the strcspn(3) function to libc. A baseline implementation does not appear to be feasible given the requirements of the function. The scalar implementation is similar to the generic libc implementation, but expands the bit set into a byte set to reduce latency, improving performance. This approach could probably be backported to the generic C version to benefit other platforms. The x86-64-v2 implementation is built around the infamous pcmpistri instruction. An alternative implementation based on the Muła/Langdale algorithm [1] was prototyped, but performed worse than the pcmpistri approach except for sets of more than 16 characters with long input strings. All implementations provide special cases for the empty set (reduces to strlen as well as single-character sets (reduces to strchr). The x86-64-v2 kernel falls back to the scalar implementation for sets of more than 32 characters. This limit could be raised by additional multiples of 16 through the use of additional pcmpistri code paths, but I consider this case to be too rare to be of importance. [1]: http://0x80.pl/articles/simd-byte-lookup.html Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41557 --- lib/libc/amd64/string/Makefile.inc | 1 + lib/libc/amd64/string/strcspn.S | 368 +++++++++++++++++++++++++++++++++++++ 2 files changed, 369 insertions(+) diff --git a/lib/libc/amd64/string/Makefile.inc b/lib/libc/amd64/string/Makefile.inc index 4df4ff8f1417..f01a52d9ebea 100644 --- a/lib/libc/amd64/string/Makefile.inc +++ b/lib/libc/amd64/string/Makefile.inc @@ -10,5 +10,6 @@ MDSRCS+= \ strcat.S \ strchrnul.S \ strcmp.S \ + strcspn.S \ strlen.S \ strcpy.c diff --git a/lib/libc/amd64/string/strcspn.S b/lib/libc/amd64/string/strcspn.S new file mode 100644 index 000000000000..de409db6d472 --- /dev/null +++ b/lib/libc/amd64/string/strcspn.S @@ -0,0 +1,368 @@ +/* + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE + */ + +#include +#include + +#include "amd64_archlevel.h" + +#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */ + +ARCHFUNCS(strcspn) + ARCHFUNC(strcspn, scalar) + NOARCHFUNC + ARCHFUNC(strcspn, x86_64_v2) +ENDARCHFUNCS(strcspn) + +ARCHENTRY(strcspn, scalar) + push %rbp # align stack to enable function call + mov %rsp, %rbp + sub $256, %rsp # allocate space for lookup table + + /* check for special cases */ + movzbl (%rsi), %eax # first character in the set + test %eax, %eax + jz .Lstrlen + + movzbl 1(%rsi), %edx # second character in the set + test %edx, %edx + jz .Lstrchr + + /* no special case matches -- prepare lookup table */ + xor %r8d, %r8d + mov $28, %ecx +0: mov %r8, (%rsp, %rcx, 8) + mov %r8, 8(%rsp, %rcx, 8) + mov %r8, 16(%rsp, %rcx, 8) + mov %r8, 24(%rsp, %rcx, 8) + sub $4, %ecx + jnc 0b + + add $2, %rsi + movb $1, (%rsp, %rax, 1) # register first chars in set + movb $1, (%rsp, %rdx, 1) + mov %rdi, %rax # a copy of the source to iterate over + + /* process remaining chars in set */ + ALIGN_TEXT +0: movzbl (%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + movzbl 1(%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + add $2, %rsi + jmp 0b + + /* find match */ + ALIGN_TEXT +1: movzbl (%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 2f + + movzbl 1(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 3f + + movzbl 2(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 4f + + movzbl 3(%rax), %ecx + add $4, %rax + cmpb $0, (%rsp, %rcx, 1) + je 1b + + sub $3, %rax +4: dec %rdi +3: inc %rax +2: sub %rdi, %rax # number of characters preceding match + leave + ret + + /* set is empty, degrades to strlen */ +.Lstrlen: + leave + jmp CNAME(strlen) + + /* just one character in set, degrades to strchr */ +.Lstrchr: + mov %rdi, (%rsp) # stash a copy of the string + mov %eax, %esi # find the character in the set + call CNAME(strchrnul) + sub (%rsp), %rax # length of prefix before match + leave + ret +ARCHEND(strcspn, scalar) + + /* + * This kernel uses pcmpistri to do the heavy lifting. + * We provide five code paths, depending on set size: + * + * 0: call strlen() + * 1: call strchr() + * 2--16: one pcmpistri per 16 bytes of input + * 17--32: two pcmpistri per 16 bytes of input + * >=33: fall back to look up table + */ +ARCHENTRY(strcspn, x86_64_v2) + push %rbp + mov %rsp, %rbp + sub $256, %rsp + + /* check for special cases */ + movzbl (%rsi), %eax + test %eax, %eax # empty string? + jz .Lstrlenv2 + + cmpb $0, 1(%rsi) # single character string? + jz .Lstrchrv2 + + /* find set size and copy up to 32 bytes to (%rsp) */ + mov %esi, %ecx + and $~0xf, %rsi # align set pointer + movdqa (%rsi), %xmm0 + pxor %xmm1, %xmm1 + and $0xf, %ecx # amount of bytes rsi is past alignment + xor %edx, %edx + pcmpeqb %xmm0, %xmm1 # end of string reached? + movdqa %xmm0, 32(%rsp) # transfer head of set to stack + pmovmskb %xmm1, %eax + shr %cl, %eax # clear out junk before string + test %eax, %eax # end of set reached? + jnz 0f + + movdqa 16(%rsi), %xmm0 # second chunk of the set + mov $16, %edx + sub %ecx, %edx # length of set preceding xmm0 + pxor %xmm1, %xmm1 + pcmpeqb %xmm0, %xmm1 + movdqa %xmm0, 48(%rsp) + movdqu 32(%rsp, %rcx, 1), %xmm2 # head of set + pmovmskb %xmm1, %eax + test %eax, %eax + jnz 1f + + movdqa 32(%rsi), %xmm0 # third chunk + add $16, %edx + pxor %xmm1, %xmm1 + pcmpeqb %xmm0, %xmm1 + movdqa %xmm0, 64(%rsp) + pmovmskb %xmm1, %eax + test %eax, %eax # still not done? + jz .Lgt32v2 + +0: movdqu 32(%rsp, %rcx, 1), %xmm2 # head of set +1: tzcnt %eax, %eax + add %eax, %edx # length of set (excluding NUL byte) + cmp $32, %edx # above 32 bytes? + ja .Lgt32v2 + + /* + * At this point we know that we want to use pcmpistri. + * one last problem obtains: the head of the string is not + * aligned and may cross a cacheline. If this is the case, + * we take the part before the page boundary and repeat the + * last byte to fill up the xmm register. + */ + mov %rdi, %rax # save original string pointer + lea 15(%rdi), %esi # last byte of the head + xor %edi, %esi + test $PAGE_SIZE, %esi # does the head cross a page? + jz 0f + + /* head crosses page: copy to stack to fix up */ + and $~0xf, %rax # align head pointer temporarily + movzbl 15(%rax), %esi # last head byte on the page + movdqa (%rax), %xmm0 + movabs $0x0101010101010101, %r8 + imul %r8, %rsi # repeated 8 times + movdqa %xmm0, (%rsp) # head word on stack + mov %rsi, 16(%rsp) # followed by filler (last byte x8) + mov %rsi, 24(%rsp) + mov %edi, %eax + and $0xf, %eax # offset of head from alignment + add %rsp, %rax # pointer to fake head + +0: movdqu (%rax), %xmm0 # load head (fake or real) + lea 16(%rdi), %rax + and $~0xf, %rax # second 16 bytes of string (aligned) +1: cmp $16, %edx # 16--32 bytes? + ja .Lgt16v2 + + + /* set is 2--16 bytes in size */ + + /* _SIDD_UBYTE_OPS|_SIDD_CMP_EQUAL_ANY|_SIDD_LEAST_SIGNIFICANT */ + pcmpistri $0, %xmm0, %xmm2 # match in head? + jbe .Lheadmatchv2 + + ALIGN_TEXT +0: pcmpistri $0, (%rax), %xmm2 + jbe 1f # match or end of string? + pcmpistri $0, 16(%rax), %xmm2 + lea 32(%rax), %rax + ja 0b # match or end of string? + +3: lea -16(%rax), %rax # go back to second half +1: jc 2f # jump if match found + movdqa (%rax), %xmm0 # reload string piece + pxor %xmm1, %xmm1 + pcmpeqb %xmm1, %xmm0 # where is the NUL byte? + pmovmskb %xmm0, %ecx + tzcnt %ecx, %ecx # location of NUL byte in (%rax) +2: sub %rdi, %rax # offset of %xmm0 from beginning of string + add %rcx, %rax # prefix length before match/NUL + leave + ret + +.Lheadmatchv2: + jc 2f # jump if match found + pxor %xmm1, %xmm1 + pcmpeqb %xmm1, %xmm0 + pmovmskb %xmm0, %ecx + tzcnt %ecx, %ecx # location of NUL byte +2: mov %ecx, %eax # prefix length before match/NUL + leave + ret + +.Lgt16v2: + movdqu 48(%rsp, %rcx, 1), %xmm3 # second part of set + + /* set is 17--32 bytes in size */ + pcmpistri $0, %xmm0, %xmm2 # match in head? + jbe .Lheadmatchv2 + pcmpistri $0, %xmm0, %xmm3 # ZF=1 not possible here + jb .Lheadmatchv2 + + ALIGN_TEXT +0: movdqa (%rax), %xmm0 + pcmpistri $0, %xmm0, %xmm2 + jbe 1b + pcmpistri $0, %xmm0, %xmm3 + jb 1f # ZF=1 not possible here + movdqa 16(%rax), %xmm0 + add $32, %rax + pcmpistri $0, %xmm0, %xmm2 + jbe 3b + pcmpistri $0, %xmm0, %xmm3 + jae 0b # ZF=1 not possible here + + sub $16, %rax # go back to second half +1: add %rcx, %rax + sub %rdi, %rax + leave + ret + + /* set is empty, degrades to strlen */ +.Lstrlenv2: + leave + jmp CNAME(strlen) + + /* just one character in set, degrades to strchr */ +.Lstrchrv2: + mov %rdi, (%rsp) # stash a copy of the string + mov %eax, %esi # find this character + call CNAME(strchrnul) + sub (%rsp), %rax # length of prefix before match + leave + ret + + /* set is >=33 bytes in size */ +.Lgt32v2: + xorps %xmm0, %xmm0 + mov $256-64, %edx + + /* clear out look up table */ +0: movaps %xmm0, (%rsp, %rdx, 1) + movaps %xmm0, 16(%rsp, %rdx, 1) + movaps %xmm0, 32(%rsp, %rdx, 1) + movaps %xmm0, 48(%rsp, %rdx, 1) + sub $64, %edx + jnc 0b + + add %rcx, %rsi # restore string pointer + mov %rdi, %rax # keep a copy of the string + + /* initialise look up table */ + ALIGN_TEXT +0: movzbl (%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + movzbl 1(%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + movzbl 2(%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + movzbl 3(%rsi), %ecx + movb $1, (%rsp, %rcx, 1) + test %ecx, %ecx + jz 1f + + add $4, %rsi + jmp 0b + + /* find match */ + ALIGN_TEXT +1: movzbl (%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 2f + + movzbl 1(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 3f + + movzbl 2(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + jne 4f + + movzbl 3(%rax), %ecx + add $4, %rax + cmpb $0, (%rsp, %rcx, 1) + je 1b + + sub $3, %rax +4: dec %rdi +3: inc %rax +2: sub %rdi, %rax # number of characters preceding match + leave + ret +ARCHEND(strcspn, x86_64_v2) + + .section .note.GNU-stack,"",%progbits From nobody Fri Sep 8 21:23:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H45Mn8z4t8LC; Fri, 8 Sep 2023 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H44XkTz3CnM; Fri, 8 Sep 2023 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=avN4LaONcAfLhQPqsq8/DMKWA+1yQyEfLNgz7SqIiXg=; b=ZPiSCApkoiti8dj5EkoZFD+Q+16JmEAvZCJv62rK6UGuGV4710NEWDpLKPoCiREhZr1DzF tTC7EBBUlsqTvSw+4Jm9at5FqSJ/QydO/lhhcTE/BqYyA/DnpL0EZxVZTjsSZTXMXAptWT /tf5P8MabbcWhTynLBlsyyb9O/qcIclK4xMEZhJzk8UNHjyh3gfEYGPKs8dRzK44csvsOV ubzTlxYyQ74V0OtZVEcXhwKoVkqVOKd3TQ1AYWsi9Lo/tlVpZVJqWpsJkWYxJis/lIiXLY 14qHPW8nLIGn8qmgfIEq0dpa1Y1YjUSUR0Esx823+rvd5n8KafcgcHpEBFbpeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208208; a=rsa-sha256; cv=none; b=S7bGhRm6hlOlj460P7bopM/57bRbZua96/bgUcT7CYiRRxAYsOcDYg+hkWYywNFe2dwYOf 87vn2fntcCN+om3NJk1RUTXtc0gcWr9Eg4LfBfhvjsTKcfZduBS+/0L+K4ancczkoOtBGW hUfK3v5PZa7UgjO+IpKmVPlp5JOBZciYtSv3Q2KQP7kDcFt5YTiCKV4cTEsLCpZoPhsmcz gC0JyGrtY6UYeElJyXh31JAO08Nk5zkcAAatt+zkx21tkAmBDSqmuGTQhcD1jOkylTjw5X 9yU6fxexurWLp+wGl/yAVdL3kVZ2cdF0oU/mzYppcT7EdVpKLAGwLdu6E0pqbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=avN4LaONcAfLhQPqsq8/DMKWA+1yQyEfLNgz7SqIiXg=; b=I2LdCi/tE7l2RTEBQpNx1uCcj/YSQDd3pa4gBHOn/NdJk7OP9qq7/2vP/HoZrwXt4q3kQa 9pm/4OsICm2o/hMY4IXRNQJHADfJEIZZfqJatqPh1NL7NC2/yTWze//hF2DqNOqEacNUbH Wz5J1afoELE+HtuoJ4vx7Ldnok6EgeuKf7J5bv1M3lhfzLXx3dJJdLOkjkNS1Ne+Isuvko AyMs/9maHTvas8IOvCfHPGVce7ttzjtCuWhYENECghCWRJSlE2QgkrKcAiQLsA36+SPROK eckegnlaEKeRFeCqMasgUfthPGxSmcU2hPMHOQ6hBdA1v/GEKFoI/BksRLicLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H43QThzy5G; Fri, 8 Sep 2023 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNSRs057310; Fri, 8 Sep 2023 21:23:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNST3057307; Fri, 8 Sep 2023 21:23:28 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:28 GMT Message-Id: <202309082123.388LNST3057307@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 5fe2597b2319 - main - share/man/man7/simd.7: document simd-enhanced strcspn(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5fe2597b23191d49856b1739eef29e383872faf9 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=5fe2597b23191d49856b1739eef29e383872faf9 commit 5fe2597b23191d49856b1739eef29e383872faf9 Author: Robert Clausecker AuthorDate: 2023-08-20 21:31:32 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:20:19 +0000 share/man/man7/simd.7: document simd-enhanced strcspn(3) Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41557 --- share/man/man7/simd.7 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7 index bf33d4eb5531..efa1306898ca 100644 --- a/share/man/man7/simd.7 +++ b/share/man/man7/simd.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE . -.Dd August 13, 2023 +.Dd August 14, 2023 .Dt SIMD 7 .Os .Sh NAME @@ -69,6 +69,7 @@ Enhanced functions are present in the following architectures: .It strchrnul Ta Ta Ta S1 .It strcmp Ta Ta S Ta S Ta S .It strcpy Ta Ta Ta S1 Ta S Ta S2 +.It strcspn Ta Ta Ta S2 .It strlen Ta Ta S Ta S1 .It strncmp Ta Ta S Ta Ta S .It strncpy Ta Ta Ta Ta Ta S2 From nobody Fri Sep 8 21:23:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H56jP9z4t8F9; Fri, 8 Sep 2023 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H55YJlz3Cgw; Fri, 8 Sep 2023 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/sMElcyTjfmuyE6/rI234JPNaCMw/0V3NG4Cg4UfYrM=; b=lO581briQ0a6/9cyKeklgv9m5emDmgQoLv0ObBDbKhqMUbvmsCGFt04LLmeGTAWtVR4dW2 kVmS7MhuEex/7ABt9+avvkiClh1BxDQOtzlLiSrQF/+19Tv9GCXtfSGzTJbWyHPL07TPYE mP9Nk8UVhQ3OCWkUh7Ux73L+58KoRwOFunH1zZayF0+x2wEDZuYkvuXKGyqVTLtbOfD3Jq 50aiPUxci0p2xiLOnSE2Cwhg8RsP7IlJqTKq1eRAUgA2pWjhFu2oVRdRhbmZY59vwh+NNJ af7anXzTSM2y0HyUQn0JzFVsdOvx27JtuVFZvq0bbjYzyflRQRIsEpsDxbJmag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208209; a=rsa-sha256; cv=none; b=aJCWWi3lfxANyXRD6BUzd+eTUWB37VmJgnSyIteadHgUpr95w0wyHKe9pgS44lltVePuC8 4NBTL+tqH9Nu1FgSkKC6U7t+suoo6HEwZzKRa6NBOQkCtwGf+vtBLNItBRyEjPKBvP/jPD SdTsEorxYVEem4acFjb5D1VvzO3HC8tKhDwMm2k/gnGya7a9Iq5xR1sb3g+pQd9dXexdzd rcG2YCextM3KA6iZ1PYsi5TLk5K1uyINwJWWbxQ6h0a2tonjmyDU1jczxSbG+/8hYT/zH0 3mdcHOrObIc7qVsJu1C8c70WuGHKXmGgICvcXA9fB5xSI0TbxF9cPiJeiIViHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/sMElcyTjfmuyE6/rI234JPNaCMw/0V3NG4Cg4UfYrM=; b=kc2/rvayN/c2iWDjRt47Xt99UdzYU2KWrJog+x32bbZvb48T5SCI3UQmjER6J5mPgCivxx s7f49tc+tkyxsT5abymlaAfy4t2NitNouM0hTy7f1lAYacQ/713xdT5YGcqZFFHImYQHSy bjMdo2kNETpGmJQ//JKFtJY/rheeW+wZm2A7HqSpibgUfbkLxqXNn8hEpH6vK+suKGbdU3 mJxXAEBvqveRDUrO9m9spM50E/v6P6++FtX6IVSZvAuNG5hSMbE9TW9/SRebqp52mdV41r LN9fb+8WcOnPxJrj1JRfggi9j0RAq/PBIBVkmX2PMsw66u1KTtAiiL3+pdi6Xg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H54Qpyzy5H; Fri, 8 Sep 2023 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNTFd057355; Fri, 8 Sep 2023 21:23:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNT3j057352; Fri, 8 Sep 2023 21:23:29 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:29 GMT Message-Id: <202309082123.388LNT3j057352@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 35a5359406fe - main - lib/libc/tests/string: add unit tests for strcspn(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35a5359406fe779186d1fd7131c95927fefe20be Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=35a5359406fe779186d1fd7131c95927fefe20be commit 35a5359406fe779186d1fd7131c95927fefe20be Author: Robert Clausecker AuthorDate: 2023-08-20 22:48:41 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:21:31 +0000 lib/libc/tests/string: add unit tests for strcspn(3) We currently use the NetBSD test suite to cover strcspn(3). It only contains a very rudimentary test of this function. This all new set of unit tests for the FreeBSD test suite should cover many more edge cases relating to alignment issues. Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41557 --- lib/libc/tests/string/Makefile | 2 +- lib/libc/tests/string/strcspn_test.c | 137 +++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 1 deletion(-) diff --git a/lib/libc/tests/string/Makefile b/lib/libc/tests/string/Makefile index a7545b75e0e9..639b7f2d2d2d 100644 --- a/lib/libc/tests/string/Makefile +++ b/lib/libc/tests/string/Makefile @@ -11,6 +11,7 @@ ATF_TESTS_C+= flsll_test ATF_TESTS_C+= memcmp_test ATF_TESTS_C+= memset_s_test ATF_TESTS_C+= stpncpy_test +ATF_TESTS_C+= strcspn_test ATF_TESTS_C+= strerror2_test ATF_TESTS_C+= strverscmp_test ATF_TESTS_C+= strxfrm_test @@ -29,7 +30,6 @@ NETBSD_ATF_TESTS_C+= strchr_test NETBSD_ATF_TESTS_C+= strchrnul_test NETBSD_ATF_TESTS_C+= strcmp_test NETBSD_ATF_TESTS_C+= strcpy_test -NETBSD_ATF_TESTS_C+= strcspn_test NETBSD_ATF_TESTS_C+= strerror_test NETBSD_ATF_TESTS_C+= strlen_test NETBSD_ATF_TESTS_C+= strpbrk_test diff --git a/lib/libc/tests/string/strcspn_test.c b/lib/libc/tests/string/strcspn_test.c new file mode 100644 index 000000000000..59da497c16c6 --- /dev/null +++ b/lib/libc/tests/string/strcspn_test.c @@ -0,0 +1,137 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE + */ + +#include + +#include +#include +#include +#include +#include +#include + +enum { + MAXALIGN = 16, /* test all offsets from this alignment */ + MAXBUF = 64, /* test up to this buffer length */ +}; + +enum { NOMATCH, MATCH }; + +static void +testcase(char *buf, size_t buflen, char *set, size_t setlen, int want_match) +{ + size_t i, outcome, expected; + + assert(setlen < UCHAR_MAX - 2); + + for (i = 0; i < buflen; i++) + buf[i] = 1 + i % (UCHAR_MAX - setlen - 1); + + buf[i] = '\0'; + + for (i = 0; i < setlen; i++) + set[i] = UCHAR_MAX - i; + + set[i] = '\0'; + + if (want_match == MATCH && buflen > 0 && setlen > 0) { + buf[buflen - 1] = UCHAR_MAX; + expected = buflen - 1; + } else + expected = buflen; + + outcome = strcspn(buf, set); + ATF_CHECK_EQ_MSG(expected, outcome, "strcspn(%p[%zu], %p[%zu]) = %zu != %zu", + buf, buflen, set, setlen, outcome, expected); +} + +/* test set with all alignments and lengths of buf */ +static void +test_buf_alignments(char *set, size_t setlen, int want_match) +{ + char buf[MAXALIGN + MAXBUF + 1]; + size_t i, j; + + for (i = 0; i < MAXALIGN; i++) + for (j = 0; j <= MAXBUF; j++) + testcase(buf + i, j, set, setlen, want_match); +} + +/* test buf with all alignments and lengths of set */ +static void +test_set_alignments(char *buf, size_t buflen, int want_match) +{ + char set[MAXALIGN + MAXBUF + 1]; + size_t i, j; + + for (i = 0; i < MAXALIGN; i++) + for (j = 0; j <= MAXBUF; j++) + testcase(buf, buflen, set + i, j, want_match); +} + +ATF_TC_WITHOUT_HEAD(buf_alignments); +ATF_TC_BODY(buf_alignments, tc) +{ + char set[41]; + + test_buf_alignments(set, 0, MATCH); + test_buf_alignments(set, 1, MATCH); + test_buf_alignments(set, 5, MATCH); + test_buf_alignments(set, 20, MATCH); + test_buf_alignments(set, 40, MATCH); + + test_buf_alignments(set, 0, NOMATCH); + test_buf_alignments(set, 1, NOMATCH); + test_buf_alignments(set, 5, NOMATCH); + test_buf_alignments(set, 20, NOMATCH); + test_buf_alignments(set, 40, NOMATCH); +} + +ATF_TC_WITHOUT_HEAD(set_alignments); +ATF_TC_BODY(set_alignments, tc) +{ + char buf[31]; + + test_set_alignments(buf, 0, MATCH); + test_set_alignments(buf, 10, MATCH); + test_set_alignments(buf, 20, MATCH); + test_set_alignments(buf, 30, MATCH); + + test_set_alignments(buf, 0, NOMATCH); + test_set_alignments(buf, 10, NOMATCH); + test_set_alignments(buf, 20, NOMATCH); + test_set_alignments(buf, 30, NOMATCH); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, buf_alignments); + ATF_TP_ADD_TC(tp, set_alignments); + + return (atf_no_error()); +} From nobody Fri Sep 8 21:23:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H70Lyyz4t8LQ; Fri, 8 Sep 2023 21:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H66JMyz3D0R; Fri, 8 Sep 2023 21:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KAYwcaLAaxOKKnuEwXN2ojpuGmfFpXaJFzw/ZzhYTho=; b=wmOEu+csf34zpoFWNqxww5BhzLHl2m9iuTNxgfhEn0Bf25ubIl9G1GpS4XtmBh4/VmnGXE IUSHPF3iJ2AAqu7ERE6dWfvljkgBdi2jZVd4zzAX8vwcEFP3HWj4QGdZAai7JEYMKMxN5/ hL0tn0wCLyC9XY1QMmYtLYHy1NQUxJYUaRLIdRWTRR95pfiKZzRL56FjS6jzGjfmPsefUi yf27gzoLvRyFnUvZOBQXw7H/i7+UmbH4OfhiqhTOJhi9dCbiWTZB5oW7y+Q2EDFsfBOl8L Bw1AVgWLJKM9567geECih7ojs6xrDGXvLit7A9/5K+NjPMvIG2ZAbm9NAgadAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208211; a=rsa-sha256; cv=none; b=BgygDXxfRZcCR+mI0ZwfHv0vm3AtbYtklFghbM50Ykovgcuk27qDp4330NDgc4qtFNF+Gp TSNeRtBKs9tug+3wdqbvX8M8H5H3wSHb6ooO49fxfscIelVcHPKot5Kt3eMPA7uPMr666c A0unCxhLLOYVyFzYTd7eCbBug1GMt4KdDAQoanY0a+qwTdbz9bB6RwWH+2/dV9LgQ7Yk1v yz25WhEdW5B+wrERldMQDyFZ/aJXhseDFiywwJ2/4dLJ8RZzj9Lbtcn9XrnZsoR90UxdaL aJLj7nsYtfFOcd7me754ukgCOke1sq5D9o9sshEm30Pp/bX069P3vjl66SkvlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KAYwcaLAaxOKKnuEwXN2ojpuGmfFpXaJFzw/ZzhYTho=; b=KcAdrGapVY6eTu5XWlD6jM6WveAaK1a4hSQ8T1Mn470E+iOsBYSYbbLop8dLefAQjUUsGw QQXD40YMzNJjuwGopJ5vOFrPUNaQY8PVQ8ABE5/T1hclhffl3uSmN3CAHF8vHn1HPhG+rb j6R81JU2undwPgpOwE7XapsBnlBLi9C1fGIh3W8z4tPSNWQ7k7q3XPDzdou51SNEevJh+s 0TmvNEaHZoC5QGg5tDL5OPJlPgIRWXVCvBIr4T1LaJkH8WCPmOQJJzfCHEUrnXkgt3AvKN 0VWhKr4y+Le+4cDZJmY9wiuiDgtfbroIOWid1zsIE4knuwWSTsqs6kc/RC6KRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H65GnFzxtK; Fri, 8 Sep 2023 21:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNUY1057403; Fri, 8 Sep 2023 21:23:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNU2v057400; Fri, 8 Sep 2023 21:23:30 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:30 GMT Message-Id: <202309082123.388LNU2v057400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 468adddd75f6 - main - lib/libc/tests/string: derive strspn(3) tests from strcspn(3) tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 468adddd75f6461fcdd2151122d85879ec592a5b Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=468adddd75f6461fcdd2151122d85879ec592a5b commit 468adddd75f6461fcdd2151122d85879ec592a5b Author: Robert Clausecker AuthorDate: 2023-08-21 15:30:23 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:21:59 +0000 lib/libc/tests/string: derive strspn(3) tests from strcspn(3) tests To cover the new optimised amd64 strspn(3) SIMD implementation, extend the previously written strcspn(3) unit test to also cover strspn(3). Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41567 --- lib/libc/tests/string/Makefile | 2 +- lib/libc/tests/string/strcspn_test.c | 26 +++++++++++++++++++++++--- lib/libc/tests/string/strspn_test.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 4 deletions(-) diff --git a/lib/libc/tests/string/Makefile b/lib/libc/tests/string/Makefile index 639b7f2d2d2d..1994b128ab57 100644 --- a/lib/libc/tests/string/Makefile +++ b/lib/libc/tests/string/Makefile @@ -13,6 +13,7 @@ ATF_TESTS_C+= memset_s_test ATF_TESTS_C+= stpncpy_test ATF_TESTS_C+= strcspn_test ATF_TESTS_C+= strerror2_test +ATF_TESTS_C+= strspn_test ATF_TESTS_C+= strverscmp_test ATF_TESTS_C+= strxfrm_test ATF_TESTS_C+= wcscasecmp_test @@ -34,7 +35,6 @@ NETBSD_ATF_TESTS_C+= strerror_test NETBSD_ATF_TESTS_C+= strlen_test NETBSD_ATF_TESTS_C+= strpbrk_test NETBSD_ATF_TESTS_C+= strrchr_test -NETBSD_ATF_TESTS_C+= strspn_test NETBSD_ATF_TESTS_C+= swab_test SRCS.strerror2_test= strerror_test.c diff --git a/lib/libc/tests/string/strcspn_test.c b/lib/libc/tests/string/strcspn_test.c index 59da497c16c6..abacdcbbf18a 100644 --- a/lib/libc/tests/string/strcspn_test.c +++ b/lib/libc/tests/string/strcspn_test.c @@ -42,6 +42,12 @@ enum { enum { NOMATCH, MATCH }; +#ifdef STRSPN +#define STRXSPN strspn +#else +#define STRXSPN strcspn +#endif + static void testcase(char *buf, size_t buflen, char *set, size_t setlen, int want_match) { @@ -50,7 +56,11 @@ testcase(char *buf, size_t buflen, char *set, size_t setlen, int want_match) assert(setlen < UCHAR_MAX - 2); for (i = 0; i < buflen; i++) +#ifdef STRSPN + buf[i] = UCHAR_MAX - i % (setlen > 0 ? setlen : 1); +#else /* strcspn */ buf[i] = 1 + i % (UCHAR_MAX - setlen - 1); +#endif buf[i] = '\0'; @@ -59,15 +69,25 @@ testcase(char *buf, size_t buflen, char *set, size_t setlen, int want_match) set[i] = '\0'; +#ifdef STRSPN + if (setlen == 0) + expected = 0; + else if (want_match == MATCH && buflen > 0) { + buf[buflen - 1] = 1; + expected = buflen - 1; + } else + expected = buflen; +#else /* strcspn */ if (want_match == MATCH && buflen > 0 && setlen > 0) { buf[buflen - 1] = UCHAR_MAX; expected = buflen - 1; } else expected = buflen; +#endif - outcome = strcspn(buf, set); - ATF_CHECK_EQ_MSG(expected, outcome, "strcspn(%p[%zu], %p[%zu]) = %zu != %zu", - buf, buflen, set, setlen, outcome, expected); + outcome = STRXSPN(buf, set); + ATF_CHECK_EQ_MSG(expected, outcome, "%s(%p[%zu], %p[%zu]) = %zu != %zu", + __XSTRING(STRXSPN), buf, buflen, set, setlen, outcome, expected); } /* test set with all alignments and lengths of buf */ diff --git a/lib/libc/tests/string/strspn_test.c b/lib/libc/tests/string/strspn_test.c new file mode 100644 index 000000000000..73a08ddefa1b --- /dev/null +++ b/lib/libc/tests/string/strspn_test.c @@ -0,0 +1,30 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 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 + */ + +#define STRSPN +#include "strcspn_test.c" From nobody Fri Sep 8 21:23:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H81Q8pz4t8FN; Fri, 8 Sep 2023 21:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H8048Sz3D38; Fri, 8 Sep 2023 21:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HCPFBjjsw62JnmDVqZqibJJvSZwsdYrIJDGhpO/3pMc=; b=jN+fhIZwQvMTJTyNysNAI72DNmAxZKuDfdQ3J/Z1H3ATfrjWro68JLXzmzUSgslwxDiA3H tQUJQDIA2RLauYJtpyOSn9nbvboNtZcjSSCdU0l1clPaGOClJe+sa8if72beNwolu7i3yo qzt/IC9kcQje1ARuUNWwpbdqISY0/B206OWf01R+Tiu66OsUS938zcVmM/jHpVxUHg9SbO +M7c4boOTveXskrEcoaM0FNyF8GsT6mLa0QZQpF/kAjZLxJJaLfWzsF0o1r3n4ZNSsUR3y P9DtWDC3gZNKKM5nbHsZFr8aGQ6TUYeMhy9FDFF3iMvU0C2NeMKHljAKvnJ5Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208212; a=rsa-sha256; cv=none; b=YrVL1YDzjVsaHp6A8U+SNuh4tgK5PmlHB6Mr/XPI2/1rZmrFiJNTW5oFtdLBhNKA9i+S2j pt8TMmysaLGR29Ee68u811PxRf5y1JiLM1MnYaAiAHwYcgwyA9W6BbTULrWAHtpKyfRiKO HyZyNS5fxExSveTmVeFM1jh2JEVYJ4EMn2HoZWK25xvmQMi9wp/bUG24LI2/3T9L3e1jFc /bAfeC0dT/JCZFkspnlVAHIxT30I1wxACv4SFiBDfp6gg3qDYQ8gG9jGUMHudX0fnLDoNl yAAFWq8u0C/+OEMLUyBgZ8701eyY5OvF03B9IPrr0c5s+E4KvDPo5cVpl/PBIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HCPFBjjsw62JnmDVqZqibJJvSZwsdYrIJDGhpO/3pMc=; b=og7gyCNq8UWEqo7LPyEXRmRwEv4sYkOBeLePizCwdasCon84gfpYWnHgj2eaFMUPVKMGgb p48SZ6eGV9+pxYvB0IJdVtwWhVXoGt4trf+5t1lctd/F7xyOD9bRU1rOo42ns1ITBn6phP yAszIdM5Bahgt3knVM5RKJfABEzLtBphCSI3e1QAkJDr/GSkL+cuTgMz62jFbX5rVr/Z/g us4kUW0YbcWMoK6PR31KKXNOpQtdrJOe+VFrR/XT+eqh7vnWXUiNUFM6ns7WmmTspSfYjk DDTfEi2+D0jru55Z6euOy7rXHOyjfX4pX6C0S+d27wNIpiIna1LaTYKt5wxUEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H76D2dzy7m; Fri, 8 Sep 2023 21:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNVVS057451; Fri, 8 Sep 2023 21:23:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNVNw057447; Fri, 8 Sep 2023 21:23:31 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:31 GMT Message-Id: <202309082123.388LNVNw057447@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 7084133cde6a - main - lib/libc/amd64/string: add strspn(3) scalar, x86-64-v2 implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7084133cde6a58412d86bae9f8a55b86141fb304 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=7084133cde6a58412d86bae9f8a55b86141fb304 commit 7084133cde6a58412d86bae9f8a55b86141fb304 Author: Robert Clausecker AuthorDate: 2023-08-21 16:06:42 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:21:59 +0000 lib/libc/amd64/string: add strspn(3) scalar, x86-64-v2 implementation This is conceptually very similar to the strcspn(3) implementations from D41557, but we can't do the fast paths the same way. Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41567 --- lib/libc/amd64/string/Makefile.inc | 3 +- lib/libc/amd64/string/strspn.S | 358 +++++++++++++++++++++++++++++++++++++ 2 files changed, 360 insertions(+), 1 deletion(-) diff --git a/lib/libc/amd64/string/Makefile.inc b/lib/libc/amd64/string/Makefile.inc index f01a52d9ebea..b03811f40062 100644 --- a/lib/libc/amd64/string/Makefile.inc +++ b/lib/libc/amd64/string/Makefile.inc @@ -12,4 +12,5 @@ MDSRCS+= \ strcmp.S \ strcspn.S \ strlen.S \ - strcpy.c + strcpy.c \ + strspn.S diff --git a/lib/libc/amd64/string/strspn.S b/lib/libc/amd64/string/strspn.S new file mode 100644 index 000000000000..565330f0c385 --- /dev/null +++ b/lib/libc/amd64/string/strspn.S @@ -0,0 +1,358 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE + */ + +#include +#include + +#include "amd64_archlevel.h" + +#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */ + +ARCHFUNCS(strspn) + ARCHFUNC(strspn, scalar) + NOARCHFUNC + ARCHFUNC(strspn, x86_64_v2) +ENDARCHFUNCS(strspn) + +ARCHENTRY(strspn, scalar) + push %rbp # align stack to enable function call + mov %rsp, %rbp + sub $256, %rsp # allocate space for lookup table + + /* check for special cases */ + movzbl (%rsi), %edx # first character in the set + test %edx, %edx + jz .Lzero # empty set always returns 0 + + movzbl 1(%rsi), %eax # second character in the set + test %eax, %eax + jz .Lsingle + + /* no special case matches -- prepare lookup table */ + xor %r8d, %r8d + mov $28, %ecx +0: mov %r8, (%rsp, %rcx, 8) + mov %r8, 8(%rsp, %rcx, 8) + mov %r8, 16(%rsp, %rcx, 8) + mov %r8, 24(%rsp, %rcx, 8) + sub $4, %ecx + jnc 0b + + movb $1, (%rsp, %rdx, 1) # register first char in set + add $2, %rsi + + /* process remaining chars in set */ + ALIGN_TEXT +0: movb $1, (%rsp, %rax, 1) # register previous char + movzbl (%rsi), %eax # next char in set + test %eax, %eax # end of string? + jz 1f + + movb $1, (%rsp, %rax, 1) + add $2, %rsi + movzbl -1(%rsi), %eax + test %eax, %eax + jnz 0b + +1: mov %rdi, %rax # a copy of the source to iterate over + + /* find mismatch */ + ALIGN_TEXT +0: movzbl (%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 2f + + movzbl 1(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 3f + + movzbl 2(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 4f + + movzbl 3(%rax), %ecx + add $4, %rax + cmpb $0, (%rsp, %rcx, 1) + jne 0b + + sub $3, %rax +4: dec %rdi +3: inc %rax +2: sub %rdi, %rax # number of characters preceding match + leave + ret + + /* empty set never matches */ +.Lzero: xor %eax, %eax + leave + ret + + /* find repeated single character */ + ALIGN_TEXT +.Lsingle: + cmpb %dl, (%rdi, %rax, 1) + jne 1f + + cmpb %dl, 1(%rdi, %rax, 1) + jne 2f + + cmpb %dl, 2(%rdi, %rax, 1) + jne 3f + + cmpb %dl, 3(%rdi, %rax, 1) + lea 4(%rax), %rax + je .Lsingle + + sub $3, %rax +3: inc %rax +2: inc %rax +1: leave + ret +ARCHEND(strspn, scalar) + + /* + * This kernel uses pcmpistri to do the heavy lifting. + * We provide three code paths, depending on set size: + * + * 0--16: one pcmpistri per 16 bytes of input + * 17--32: two pcmpistri per 16 bytes of input + * >=33: fall back to look up table + */ +ARCHENTRY(strspn, x86_64_v2) + push %rbp + mov %rsp, %rbp + sub $256, %rsp + + /* find set size and copy up to 32 bytes to (%rsp) */ + mov %esi, %ecx + and $~0xf, %rsi # align set pointer + movdqa (%rsi), %xmm0 + pxor %xmm1, %xmm1 + and $0xf, %ecx # amount of bytes rsi is past alignment + xor %edx, %edx + pcmpeqb %xmm0, %xmm1 # end of string reached? + movdqa %xmm0, 32(%rsp) # transfer head of set to stack + pmovmskb %xmm1, %eax + shr %cl, %eax # clear out junk before string + test %eax, %eax # end of set reached? + jnz 0f + + movdqa 16(%rsi), %xmm0 # second chunk of the set + mov $16, %edx + sub %ecx, %edx # length of set preceding xmm0 + pxor %xmm1, %xmm1 + pcmpeqb %xmm0, %xmm1 + movdqa %xmm0, 48(%rsp) + movdqu 32(%rsp, %rcx, 1), %xmm2 # head of set + pmovmskb %xmm1, %eax + test %eax, %eax + jnz 1f + + movdqa 32(%rsi), %xmm0 # third chunk + add $16, %edx + pxor %xmm1, %xmm1 + pcmpeqb %xmm0, %xmm1 + movdqa %xmm0, 64(%rsp) + pmovmskb %xmm1, %eax + test %eax, %eax # still not done? + jz .Lgt32v2 + +0: movdqu 32(%rsp, %rcx, 1), %xmm2 # head of set +1: tzcnt %eax, %eax + add %eax, %edx # length of set (excluding NUL byte) + cmp $32, %edx # above 32 bytes? + ja .Lgt32v2 + + /* + * At this point we know that we want to use pcmpistri. + * one last problem obtains: the head of the string is not + * aligned and may cross a cacheline. If this is the case, + * we take the part before the page boundary and repeat the + * last byte to fill up the xmm register. + */ + mov %rdi, %rax # save original string pointer + lea 15(%rdi), %esi # last byte of the head + xor %edi, %esi + test $PAGE_SIZE, %esi # does the head cross a page? + jz 0f + + /* head crosses page: copy to stack to fix up */ + and $~0xf, %rax # align head pointer temporarily + movzbl 15(%rax), %esi # last head byte on the page + movdqa (%rax), %xmm0 + movabs $0x0101010101010101, %r8 + imul %r8, %rsi # repeated 8 times + movdqa %xmm0, (%rsp) # head word on stack + mov %rsi, 16(%rsp) # followed by filler (last byte x8) + mov %rsi, 24(%rsp) + mov %edi, %eax + and $0xf, %eax # offset of head from alignment + add %rsp, %rax # pointer to fake head + +0: movdqu (%rax), %xmm1 # load head (fake or real) + lea 16(%rdi), %rax + and $~0xf, %rax # second 16 bytes of string (aligned) +1: cmp $16, %edx # 16--32 bytes? + ja .Lgt16v2 + + + /* set is 2--16 bytes in size */ + + /* _SIDD_UBYTE_OPS|_SIDD_CMP_EQUAL_ANY|_SIDD_LEAST_SIGNIFICANT|_SIDD_NEGATIVE_POLARITY */ + pcmpistri $0x10, %xmm1, %xmm2 # match in head? + jc .Lheadmismatchv2 + + ALIGN_TEXT +0: pcmpistri $0x10, (%rax), %xmm2 + jc 1f # match or end of string? + pcmpistri $0x10, 16(%rax), %xmm2 + lea 32(%rax), %rax + jnc 0b # match or end of string? + + sub $16, %rax # go back to second half +1: sub %rdi, %rax # offset of (%rax) from beginning of string + add %rcx, %rax # prefix length before match/NUL + leave + ret + +.Lheadmismatchv2: + mov %ecx, %eax # prefix length before mismatch/NUL + leave + ret + + /* set is 17--32 bytes in size */ +.Lgt16v2: + movdqu 48(%rsp, %rcx, 1), %xmm3 # second part of set + + /* _SIDD_UBYTE_OPS|_SIDD_CMP_EQUAL_ANY|_SIDD_BIT_MASK|_SIDD_NEGATIVE_POLARITY */ + pcmpistrm $0x10, %xmm1, %xmm2 # any mismatch in first half? + movdqa %xmm0, %xmm4 + pcmpistrm $0x10, %xmm1, %xmm3 # any mismatch in the second half? + ptest %xmm0, %xmm4 # any entry that doesn't match either? + jnz 2f + + ALIGN_TEXT +0: movdqa (%rax), %xmm1 + pcmpistrm $0x10, %xmm1, %xmm2 + movdqa %xmm0, %xmm4 + pcmpistrm $0x10, %xmm1, %xmm3 + ptest %xmm0, %xmm4 + jnz 1f + movdqa 16(%rax), %xmm1 + add $32, %rax + pcmpistrm $0x10, %xmm1, %xmm2 + movdqa %xmm0, %xmm4 + pcmpistrm $0x10, %xmm1, %xmm3 + ptest %xmm0, %xmm4 + jz 0b + + sub $16, %rax +1: pand %xmm4, %xmm0 + movd %xmm0, %ecx + sub %rdi, %rax # offset of %xmm1 from beginning of string + tzcnt %ecx, %ecx + add %rcx, %rax # prefix length before match/NUL + leave + ret + + /* mismatch or string end in head */ +2: pand %xmm4, %xmm0 # bit mask of mismatches (end of string counts) + movd %xmm0, %eax + tzcnt %eax, %eax # prefix length before mismatch/NUL + leave + ret + + /* set is >=33 bytes in size */ +.Lgt32v2: + xorps %xmm0, %xmm0 + mov $256-64, %edx + + /* clear out look up table */ +0: movaps %xmm0, (%rsp, %rdx, 1) + movaps %xmm0, 16(%rsp, %rdx, 1) + movaps %xmm0, 32(%rsp, %rdx, 1) + movaps %xmm0, 48(%rsp, %rdx, 1) + sub $64, %edx + jnc 0b + + add %rcx, %rsi # restore string pointer + mov %rdi, %rax # keep a copy of the string + + /* initialise look up table */ + movzbl (%rsi), %ecx # string is known not to be empty + + ALIGN_TEXT +0: movb $1, (%rsp, %rcx, 1) + movzbl 1(%rsi), %ecx + test %ecx, %ecx + jz 1f + + movb $1, (%rsp, %rcx, 1) + movzbl 2(%rsi), %ecx + test %ecx, %ecx + jz 1f + + movb $1, (%rsp, %rcx, 1) + movzbl 3(%rsi), %ecx + add $4, %rsi + test %ecx, %ecx + jz 1f + + movb $1, (%rsp, %rcx, 1) + movzbl (%rsi), %ecx + test %ecx, %ecx + jnz 0b + + /* find match */ + ALIGN_TEXT +1: movzbl (%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 2f + + movzbl 1(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 3f + + movzbl 2(%rax), %ecx + cmpb $0, (%rsp, %rcx, 1) + je 4f + + movzbl 3(%rax), %ecx + add $4, %rax + cmpb $0, (%rsp, %rcx, 1) + jne 1b + + sub $3, %rax +4: dec %rdi +3: inc %rax +2: sub %rdi, %rax # number of characters preceding match + leave + ret +ARCHEND(strspn, x86_64_v2) + + .section .note.GNU-stack,"",%progbits From nobody Fri Sep 8 21:23:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8H92pxhz4t8bY; Fri, 8 Sep 2023 21:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8H90zyqz3CsB; Fri, 8 Sep 2023 21:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hisb2B82OU5FXFdDAwJJBcjiBqm6wTJ6OlXBiZWYEJg=; b=prA2/h1veiit2CHR678vMd6J6Ze4z27oqmCTPprvQhum2nhny+zw11l5iMQ7Kf9KxSjZEK XsG5KfzoNlcnLDLLHwGO1PTkrN/dcgAQi7EvoP8IPv2jcYq8DyEOVYookODrIzLEC0FUoK o5HX6MCLUPHcpRQfCXg+ftxpOBYNCD4eql+7lMX5lyB2yWdRWhu3jOHtKiYaBUokY/47Nz B76QSlykvjpAkg7qbqQi+wL3gxCF/j3wq2xMl46Ro+DungGTL5vcADTHDf9MClDU4launW /ZU+q0DVVCaf0SHjxW5KxE/YlEj8rcFEprKl4iysrsyAl0EbILV9044bPSOM0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208213; a=rsa-sha256; cv=none; b=MYkijGXbSQfkjFasHRM4kj7+avuXHh6p59xdgfmb5zdBkNKvYT9DGl5X/1r1q5PyzNg71r 6M29xiQ4PHrrgVYuFbumbU1BKTQCoTGQ8Yco05+MBUVBh3PVbiqJi1eX9idKIytVLmM6H5 VcXsd2oARIFo6OC8WRW/oLtH0SSDR/6xtEdeAEqlMV17K+fZzWkNiLU5oEwqiv1n1EKxnE J89GdoY0/fCbig9B5XY/Cjq99f4opV9E9BIGRaTMXjifgFKTGb1FilQrpDNk+i2dyKb1Zb aHwaVplgwJA1Q3lD1w9V/xQ6X8+lgYeuXuiUdeZv5r5dD/AoRRq+7t6oxVGPRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hisb2B82OU5FXFdDAwJJBcjiBqm6wTJ6OlXBiZWYEJg=; b=B8nmPKQrY+1KjuoGH/ZqNu0sImDdsDVL1D83P4p9HtG5Z+cmx+rZgmT4zn0Wi5gnBFpocA WNBu7xz7uE/y1obAOiQUiKvC2D8UIgI3CkhVjuCrrbeJkfrY8l9O6td61DzAp6BRcMouzT 1rtaGTqkBKdNYb4ak/BqEfid2+LPlEqW7rJLsafMJmSRE8Qwzxt6dPYMwF/qUNHqAneofe m++oTCVwNQEI9qA9JRLRkG2osenXgFgCRJdGvA+aO2zkT3/WOqFX8O1x9+RlxBVfW1RwBO 3357dyCiac6C/AxdSKneWrpa/jNGC3l8f+4xsavnKzAaXqkA2Q4DvGmVz6hSxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8H9053kzy3m; Fri, 8 Sep 2023 21:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNWZ3057495; Fri, 8 Sep 2023 21:23:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNWD4057492; Fri, 8 Sep 2023 21:23:32 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:32 GMT Message-Id: <202309082123.388LNWD4057492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: a559ef1ac859 - main - share/man/man7/simd.7: document simd-enhanced strspn(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a559ef1ac85947df1bff82b867bbfc07a8085092 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=a559ef1ac85947df1bff82b867bbfc07a8085092 commit a559ef1ac85947df1bff82b867bbfc07a8085092 Author: Robert Clausecker AuthorDate: 2023-08-23 15:52:42 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:21:59 +0000 share/man/man7/simd.7: document simd-enhanced strspn(3) Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41567 --- share/man/man7/simd.7 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7 index efa1306898ca..b0a668e6ade7 100644 --- a/share/man/man7/simd.7 +++ b/share/man/man7/simd.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE . -.Dd August 14, 2023 +.Dd August 23, 2023 .Dt SIMD 7 .Os .Sh NAME @@ -74,6 +74,7 @@ Enhanced functions are present in the following architectures: .It strncmp Ta Ta S Ta Ta S .It strncpy Ta Ta Ta Ta Ta S2 .It strrchr Ta S Ta Ta Ta S +.It strspn Ta Ta Ta S2 .It swab Ta Ta Ta Ta S .It wcschr Ta Ta Ta Ta S .It wcscmp Ta Ta Ta Ta S From nobody Fri Sep 8 21:23:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8HB2xcgz4t8WG; Fri, 8 Sep 2023 21:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8HB2C4mz3D6s; Fri, 8 Sep 2023 21:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k4KWAX9eYBEwCwie3f3okG2R1SFtEcWgkP5Ba/2Lk7Y=; b=SJLhK+LMEKoojLfyaQ3oLheUFqDvBC86JDer5n6KQ0KRY8qvVN4QabVOGDY1jNVO16hF8X IpVXjSAeSz+9J2VIVc7R1snEiOzzTZZyCjFjaM1HjSgen/lqhSoKlHUtO6JuL65WoHqOGv 5BcaTlk2HVlQVhl5n7U6PeDvJF4kjv8Y8Nkc4CsPZhKp32WB+Nk4p4oNTNInEjICFN1ZAo P6KiVTLK4GFsLivPEzTrpZOQuS37GE6AEyO1Dg06U5b/Z/d5TAs3U4Fa1nllE65eKoRtDH acqquVcGpnJuVxHDzHDDa5xsSqTzYGzEYoYGiuGrUpdB8BvpkT3CC1TM/yWTDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208214; a=rsa-sha256; cv=none; b=dZSnQaylUopIPoRfHfrUwxcZ3xEUapIPd7ipZ6mimkZb0CshOWw+axdoSE4FV9MUWMoDix hxXZ4HdCgnPDQow1E1PLvgzz+X1iofRNB+VvigJaxfRZ2IgCD3ZMKx4TskaZKmFX4RiqvI J9w6b79SfCQMZhfDgkykqA2RDbUnNXuldlwVtyHwopPQZhW4pC6VcNrCqoDlqeyR25bWUh 3t/qs01kNUOFiX2u4DGoaej6PHcaOC9qMElN3RWFMJM4U/BsECgFU+PvxXlotMuZDvs9xx ko4rVMci/51lSDNAnrOrXnNfKakLsmJ1ll8n3rmrLWRKXimWAHbvPOuiZW/xHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k4KWAX9eYBEwCwie3f3okG2R1SFtEcWgkP5Ba/2Lk7Y=; b=ow6jHuWruQGJSWiH23BdkmoEd8I0ZeifrhV3CrY0jBg/Jnvc0q98fDh/969iMlk6ruLSmi D3QkIfyMp6Q9uTk1tc8e1J/ivqu65wnqU3m/WJMiD6pwDSCKvU0pirSwJw8iCH2TNDTOEx 5emJwkTDy02x1dNuN5vJeCI0mb4xzX4wBCf2dCPJ+bRcgk+QYrWMa+yB12tu6fjv9x6tFR Tkxq0C+zdJYWg8ywbsW2lLU/MDEbOlTwlRZ0cOrlR3YgF+6QyXNvIMbV2lxQwiyUgMm35s ad6oQmv6Q/HWSA9K+c5c9VWovjfIpDEz5q1fyuwLkcYTjb8lOz3uxLWo8UVfwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8HB1BbfzxtL; Fri, 8 Sep 2023 21:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNYmJ057540; Fri, 8 Sep 2023 21:23:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNYdv057537; Fri, 8 Sep 2023 21:23:34 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:34 GMT Message-Id: <202309082123.388LNYdv057537@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: de12a689fad2 - main - lib/libc/amd64/string: add memchr(3) scalar, baseline implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: de12a689fad271f5a2ba7c188b0b5fb5cabf48e7 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=de12a689fad271f5a2ba7c188b0b5fb5cabf48e7 commit de12a689fad271f5a2ba7c188b0b5fb5cabf48e7 Author: Robert Clausecker AuthorDate: 2023-08-24 16:43:40 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:22:20 +0000 lib/libc/amd64/string: add memchr(3) scalar, baseline implementation This is conceptually similar to strchr(3), but there are slight changes to account for the buffer having an explicit buffer length. Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41598 --- lib/libc/amd64/string/Makefile.inc | 1 + lib/libc/amd64/string/memchr.S | 204 +++++++++++++++++++++++++++++++++++++ 2 files changed, 205 insertions(+) diff --git a/lib/libc/amd64/string/Makefile.inc b/lib/libc/amd64/string/Makefile.inc index b03811f40062..7c6a1f429590 100644 --- a/lib/libc/amd64/string/Makefile.inc +++ b/lib/libc/amd64/string/Makefile.inc @@ -2,6 +2,7 @@ MDSRCS+= \ amd64_archlevel.c \ bcmp.S \ + memchr.S \ memcmp.S \ memcpy.S \ memmove.S \ diff --git a/lib/libc/amd64/string/memchr.S b/lib/libc/amd64/string/memchr.S new file mode 100644 index 000000000000..e10bd6c22f90 --- /dev/null +++ b/lib/libc/amd64/string/memchr.S @@ -0,0 +1,204 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE + */ + +#include + +#include "amd64_archlevel.h" + +#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */ + + .weak memchr + .set memchr, __memchr +ARCHFUNCS(__memchr) + ARCHFUNC(__memchr, scalar) + ARCHFUNC(__memchr, baseline) +ENDARCHFUNCS(__memchr) + +ARCHENTRY(__memchr, scalar) + test %rdx, %rdx # empty input? + je .Lnomatch + + lea (, %rdi, 8), %ecx + add %rdi, %rdx # pointer to end of buffer + and $~7, %rdi # align to 8 bytes + mov (%rdi), %rax # load first word + movzbl %sil, %esi # clear stray high bits + movabs $0x0101010101010101, %r8 + imul %r8, %rsi # replicate char 8 times + + /* compute head and tail masks */ + mov %r8, %r10 + movabs $0x8080808080808080, %r9 + shl %cl, %r10 # 0x01 where string head is + lea (, %rdx, 8), %ecx + xor %r8, %r10 # 0x01 where it is not + neg %r8 # negate 01..01 so we can use lea + mov %r9, %r11 + xor %rsi, %rax # str ^ c (0x00 where str[i] == c) + neg %ecx + or %r10, %rax # except before the string + shr %cl, %r11 # 0x80 where string tail is + + add $8, %rdi # advance to next 8 bytes + cmp %rdx, %rdi # end of buffer reached during head? + jae .Ltail # and go to tail-processing code + + /* main loop, unrolled twice */ + ALIGN_TEXT +0: lea (%rax, %r8, 1), %rcx # (str ^ c) - 0x01..01 + not %rax # ~(str ^ c) + and %r9, %rax # ((str^c) - 0x01..01) & ~(str^c) + and %rcx, %rax # not including junk bytes + jnz .Lmatch + + mov (%rdi), %rax + add $8, %rdi + xor %rsi, %rax # str ^ c + cmp %rdx, %rdi + jae .Ltail + + lea (%rax, %r8, 1), %rcx # (str ^ c) - 0x01..01 + not %rax # ~(str ^ c) + and %r9, %rax # ((str^c) - 0x01..01) & ~(str^c) + and %rcx, %rax # not including junk bytes + jnz .Lmatch + + mov (%rdi), %rax + add $8, %rdi + xor %rsi, %rax # str ^ c + cmp %rdx, %rdi + jb 0b + +.Ltail: lea (%rax, %r8, 1), %rcx # (str ^ c) - 0x01..01 + not %rax # ~(str ^ c) + and %r11, %rax # ((str^c) - 0x01..01) & ~(str^c) + and %rcx, %rax # not including junk bytes or bytes past buffer + jz .Lnomatch + +.Lmatch: + tzcnt %rax, %rax # first match + shr $3, %eax # scale from bit to byte index + lea -8(%rdi, %rax), %rax # pointer to found c + ret + + /* no match found */ +.Lnomatch: + xor %eax, %eax # return null pointer + ret +ARCHEND(__memchr, scalar) + +ARCHENTRY(__memchr, baseline) + test %rdx, %rdx # empty input? + je .Lnomatchb + + movd %esi, %xmm2 + mov %edi, %ecx + add %rdi, %rdx # pointer to end of buffer + and $~0x1f, %rdi # align to 32 bytes + movdqa (%rdi), %xmm0 # load first 32 bytes + movdqa 16(%rdi), %xmm1 + + punpcklbw %xmm2, %xmm2 # c -> cc + + mov $-1, %r9d + shl %cl, %r9d # mask with zeroes before the string + + punpcklwd %xmm2, %xmm2 # cc -> cccc + + mov $-1, %r8d + xor %ecx, %ecx + sub %edx, %ecx # edx = -ecx + shr %cl, %r8d # bytes in tail that are part of the buffer + + pshufd $0, %xmm2, %xmm2 # cccc -> cccccccccccccccc + + add $32, %rdi # advance to next 32 bytes + mov $-1, %eax + cmp %rdx, %rdi # end of buffer reached during head? + cmovae %r8d, %eax # if yes, do combined head/tail processing + and %r9d, %eax # mask of bytes in head part of string + + /* process head */ + 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 + + cmp %rdx, %rdi # did the buffer end here? + jae .Lnomatchb # if yes we are done + + /* main loop */ + ALIGN_TEXT +0: movdqa (%rdi), %xmm0 # load next string chunk + movdqa 16(%rdi), %xmm1 + add $32, %rdi + cmp %rdx, %rdi # ready for main loop? + 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 -32(%rdi), %xmm2 # redo comparison of first 16 bytes + pmovmskb %xmm1, %ecx + pmovmskb %xmm2, %eax + shl $16, %ecx + or %ecx, %eax # location of matches + +.Lprecisematchb: + tzcnt %eax, %eax # find location of match + lea -32(%rdi, %rax, 1), %rax # point to matching byte + ret + +.Ltailb: + pcmpeqb %xmm2, %xmm1 + pcmpeqb %xmm2, %xmm0 + pmovmskb %xmm1, %edx + pmovmskb %xmm0, %eax + shl $16, %edx + or %edx, %eax # location of matches + and %r8d, %eax # mask out matches beyond buffer + bsf %eax, %edx # location of match + lea -32(%rdi, %rdx, 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(__memchr, baseline) + + .section .note.GNU-stack,"",%progbits From nobody Fri Sep 8 21:23:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8HC3wPmz4t8R0; Fri, 8 Sep 2023 21:23:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8HC3CGtz3D9D; Fri, 8 Sep 2023 21:23:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=od3o/1DP4O2Cvx+Ahfllx9OcSKaxh9+T59njlFGpRtc=; b=KLsqHEeEz279Fr5CDoMLaL4J3cJv2pgZJRWoeHH6aenMAGVM733IlOvvvevT/AiU/G/ZNi /Q7JqvGIuOT+YQBWrSmBvzYEcdXATZKm0HOqvTU3+LzhL/1g7pewWGxAh+JSFXKoxUu1Z/ 7/eQilYcn3eJAuNaI909o7QrEoehzUbTupQ5/PpWlDX7fqHDdioFLQOiEXWMfMq1+z02sA SPbIz1tO06FzGi1p7y2INHkoEBEdJNp96p5YSv+liTL+5L1Ko8eoewWXQizFdMhWVbOmi7 k55qMuHzP8aHURc0e9kOVD4d6sdIc01bd4QjBEhpZotPFH0VowC1ipCnhQ4BKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208215; a=rsa-sha256; cv=none; b=wH8/exXIEj5SAq4pKuBUbmygEtOm91OSseM3NviikiLTyeKc4v2ilA2J4oJ+YhpKDRh87X 7x1UtbOL4cOQf5NcA9Kt0OR9yqmp7yyShIOjqvkO7jaw72kp3V2sQjviTOrUYmrfS5mosF SP+Zd6nwdJvUAuyw7rejye9PGCCI8MpOaH3DlXqlp5x0Nkv0Pv1ALXrcM/styFJdwhZkp1 wSrkBi1x5dk96T5uAhaNcqys9rdORfYm1J5mc/WhUuTk3GbIcXv9ccwF7ys3YN2Qiiegq5 Bl2jIbiLcQNLWRahJrFc3cHAC0QXu0UeN6LEtgICRwrna0ypw8yjeX1/yKoBrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=od3o/1DP4O2Cvx+Ahfllx9OcSKaxh9+T59njlFGpRtc=; b=yLHIJRpWM9Uw7vPYQXXonnOESRQFOuBXfy+ocp5bLesN8IBzViNGIhtemjHTc+cpOl1Iwq b9ewEL5u13leatUNrmEuaVeylN0H/43jFQdqmKfZ8LUxcgB7oBS8iTAI2IaSyWI/B8DZ2D ezio9jfdz0YJdtLt7nT/MEIFghKw67r+SgY+G+tdUpKZRCa2s3/OyqbSE7RhzzaqQj15e0 Oxs2ARG8A1Rj9ebzHz2MWgYZBI1Z1gDYm1XLoJJUT7tnb2rqCGTi0S9cyQ52m5JdUKcbOC 8GfLeyqN+dvxJjAiDOKIT5FFMBef4lI5JiiYXj1XrkUxR4ajDRUZ1IGASuu8LA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8HC2DYHzxtM; Fri, 8 Sep 2023 21:23:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNZLU057582; Fri, 8 Sep 2023 21:23:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNZpW057579; Fri, 8 Sep 2023 21:23:35 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:35 GMT Message-Id: <202309082123.388LNZpW057579@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 331737281c19 - main - lib/libc/amd64/string: implement strnlen(3) trough memchr(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 331737281c1929c29e679e48783055351ac4fbd9 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=331737281c1929c29e679e48783055351ac4fbd9 commit 331737281c1929c29e679e48783055351ac4fbd9 Author: Robert Clausecker AuthorDate: 2023-09-08 21:11:55 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:22:31 +0000 lib/libc/amd64/string: implement strnlen(3) trough memchr(3) Now that we have an optimised memchr(3), we can use it to implement strnlen(3) with better perofrmance. Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41598 --- lib/libc/amd64/string/Makefile.inc | 3 ++- lib/libc/amd64/string/strnlen.c | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/lib/libc/amd64/string/Makefile.inc b/lib/libc/amd64/string/Makefile.inc index 7c6a1f429590..73973a6d69de 100644 --- a/lib/libc/amd64/string/Makefile.inc +++ b/lib/libc/amd64/string/Makefile.inc @@ -11,7 +11,8 @@ MDSRCS+= \ strcat.S \ strchrnul.S \ strcmp.S \ + strcpy.c \ strcspn.S \ strlen.S \ - strcpy.c \ + strnlen.c \ strspn.S diff --git a/lib/libc/amd64/string/strnlen.c b/lib/libc/amd64/string/strnlen.c new file mode 100644 index 000000000000..9db4ce30dfd4 --- /dev/null +++ b/lib/libc/amd64/string/strnlen.c @@ -0,0 +1,42 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Robert Clausecker + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE + */ + +#include +#include + +char *__memchr(const void *, int, size_t); + +size_t +strnlen(const char *s, size_t maxlen) +{ + const char *loc; + + loc = __memchr(s, '\0', maxlen); + + return (loc == NULL ? maxlen : (size_t)(loc - s)); +} From nobody Fri Sep 8 21:23:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rj8HD4nP2z4t8bk; Fri, 8 Sep 2023 21:23:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rj8HD4MWrz3DGQ; Fri, 8 Sep 2023 21:23:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3VI6dtnW1Xon4Q1CvI5N6pv+xmr2uQjKrnKA6pJua0=; b=iSSvUbJGfVaLsZogCpkldWOwBRDeARgg3dDsNAPYPZjaodqTgp4/xNvGl9ktMiSeOqOixL Cme9Hs6N4/0IOwhfHOmruadyVnC1UC1J/rSmQUn6Hj0DWFC7/X82oeN5uqmQas7KuxNje1 Ylv6g6PEbsZxcGdrWKe29+ke3jhg8VDoCG7SbJ1lpU7eD1y5Pa/UilABi0++/jb8aTMO+N 59t2dItt98+tztcJhJ7EFB/uL7dLW/FMObpgCVh1SBih/hrddscsliJGyk3Qkub+Pay7TS /qtDsxGag/M6YJDZ+0RBTgeQq+vaHs9Enw2rll88AgpvEIoF7IsZoRVh/PSnbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694208216; a=rsa-sha256; cv=none; b=Q5rbaRaEV6Qv26XfgyuR5DuB6nvpkprryy1w/FGzpScuBgrjD35Ht8ZJu0kUx8dWaDjxeu K5v3r6uIk0Okgi9V5fV8K7XOPEetenUwEDWlqzP3aWG2a47K3n2pAW/43yjXcm/Z4lA9Wr Sno7VXWdY/SQ/XOfOJ+X7ROyf5EfCmb7PgSuKArOvmZP7CD8T78SfSCVhjY3eL1MwSA4NC 0tzJAgj6LbFezrqFhHVWxcwffAx2mentunL9fNUCI6EWIys0vBcjQTU/HCtYtEjcJPHadX uld415AT5ng9mN2fXY8XO9nQjVEVH6SSvcJhQOH1uniCnbWO9BBzZ6tod0zJ9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694208216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3VI6dtnW1Xon4Q1CvI5N6pv+xmr2uQjKrnKA6pJua0=; b=sbTPzdWi4RP73u5PZDrZQfV+L7SRXPcAvM67tfLdBnrMO13twKYCJUHM71SRyj0mO1vw79 1OxG8Z7yURySxm9Em1nneUvhPn/5wSdSTSt2zBXpu5GhDtwZUMv/TZuUMnvZKsndB9JJki efxSgmqkCcOg9yGfMc2gRbZo6fAcToyb9TGSXWNufcfxXULi7cezAI9b7kcspFluv4IAp0 cVsCuWibCG6+QG3g5O6E1XpTJjzMlDZO05vIrQ/3M9NdCk9g7YBwqiVRZSSrcb90vfGwH8 7JiJQZaNuh/7WCwrmSaCaVYYu8gZY24ShSlFpPKYtSPOdee6Rn418E18oi0ojQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rj8HD3M5kzy3n; Fri, 8 Sep 2023 21:23:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388LNaxF057627; Fri, 8 Sep 2023 21:23:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388LNa7R057624; Fri, 8 Sep 2023 21:23:36 GMT (envelope-from git) Date: Fri, 8 Sep 2023 21:23:36 GMT Message-Id: <202309082123.388LNa7R057624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 2a4096b01244 - main - share/man/man7/simd.7: documend simd-enhanced memchr(3), strnlen(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a4096b012449d09e9bc3e912f762e4786092a3c Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=2a4096b012449d09e9bc3e912f762e4786092a3c commit 2a4096b012449d09e9bc3e912f762e4786092a3c Author: Robert Clausecker AuthorDate: 2023-08-25 20:41:07 +0000 Commit: Robert Clausecker CommitDate: 2023-09-08 21:22:31 +0000 share/man/man7/simd.7: documend simd-enhanced memchr(3), strnlen(3) Sponsored by: The FreeBSD Foundation Approved by: mjg MFC after: 1 week MFC to: stable/14 Differential Revision: https://reviews.freebsd.org/D41598 --- share/man/man7/simd.7 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7 index b0a668e6ade7..e5823f463ffb 100644 --- a/share/man/man7/simd.7 +++ b/share/man/man7/simd.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE . -.Dd August 23, 2023 +.Dd August 25, 2023 .Dt SIMD 7 .Os .Sh NAME @@ -58,6 +58,7 @@ Enhanced functions are present in the following architectures: .It index Ta S Ta Ta S1 .It ldiv Ta Ta Ta S Ta S .It lldiv Ta Ta Ta S +.It memchr Ta Ta Ta S1 .It memcmp Ta Ta S Ta S1 Ta S .It memcpy Ta S Ta S Ta S Ta S Ta SV .It memmove Ta S Ta S Ta S Ta S Ta SV @@ -73,6 +74,7 @@ Enhanced functions are present in the following architectures: .It strlen Ta Ta S Ta S1 .It strncmp Ta Ta S Ta Ta S .It strncpy Ta Ta Ta Ta Ta S2 +.It strnlen Ta Ta Ta S1 .It strrchr Ta S Ta Ta Ta S .It strspn Ta Ta Ta S2 .It swab Ta Ta Ta Ta S From nobody Fri Sep 8 23:34:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCBM0P3Nz4sblc; Fri, 8 Sep 2023 23:34:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCBL6z2bz4X5V; Fri, 8 Sep 2023 23:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LE80OsH6G0cg9u1RE4f885NPOatmo9jcwxeSSzV2lEM=; b=Ov0Xl924pjhdn2PSDU9WTl6UIVpL6+M7NVaiMkBJ55oPFM6OIP2mp8TiiSs9eoNDmCLVBu ecbEdpG6rKpVAuyU+xyqQDLmJI24S+SOodpGIQQrt2bH/jiJpvIMUPl5VIv0tdNfy14fP/ D7+GsuAUWTY04LUJaL/99GzrwDORmP7mtlykz/7spD6Tw2wUGcpKy6FGZ1oyGbWpvqUw5J ZMjfU6qQluXjoRa9dIvfVzbwXsEbmMjcZ4sf4JjJqqOUaN7f2V+/JwlTGOBs4ca9CYf+hn c+P+eCzpELU7QOzGxsl4WrLH2pGwo9ez4NYc1Dez9heRerqVZZbwS6C9tIHQGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216075; a=rsa-sha256; cv=none; b=Z0sGt+SUD0135iOHwb6+K4hTkPlophS9RfnrDyjPt5aLl/e+AFbhH37WtOsCrKclW7Hw80 Kc6NBMsVkgBnE2SiX23d7dHxjE2JpPR0YHcvfUUwXlavoKXjEBSyAToYKBbJn6nPR7b05w MzfNZFadwP1GBBx7zSSSAGV11XZBBJXv6j4LpwF2Ts6Kmlkt8td5h13hR+AaPnBVu4Ee/G jWJTf9IK3PFBnm7udZ2f5UJYzKdqHmOIAWMo6N9MdsxpwYEwM3zEhiFQAkPRyqua91owpA 6b3ygIlac2GgtRweAfOfMIHf0BdTsptluaIWM+Y+aDdZHb2/pK5UkUPprYtUdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LE80OsH6G0cg9u1RE4f885NPOatmo9jcwxeSSzV2lEM=; b=dolQzPEboQF+VJIGMngZllvnmso8eSdZzCZIrIxObU5xtdDN1d8YuWxJBbVFA3DfiJJTrS F/8jFxbSd/RSTECjj7R47uFGV+DQysXJf+ddPlWbyj4i3D+J+idR1Pgo/uL4KngYIdZD+f iCJLvHjccbV6j7IxQ3+7xiFPIVnNssrrZDcmvqmFcxVZ5mXLUcoG5FRS7OnL000i5praIr LwtntjhVXA+nYJmzbFbhnDkhjD9tC4vYeoHgUkasE4jeIN8/CKi/+pgbEBG1aGwGaGWzEP pkOzVx4OD1149KIBkTj/qM2bP8Amnt11hnXVAwe4lwXU6sLneDl3na1yfKgnqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCBL5wzCz11xs; Fri, 8 Sep 2023 23:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NYYlR072485; Fri, 8 Sep 2023 23:34:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NYYVi072482; Fri, 8 Sep 2023 23:34:34 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:34:34 GMT Message-Id: <202309082334.388NYYVi072482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: dcfddc8dc091 - main - cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dcfddc8dc091e7688abc8488a0307eba425fa7a2 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dcfddc8dc091e7688abc8488a0307eba425fa7a2 commit dcfddc8dc091e7688abc8488a0307eba425fa7a2 Author: John Baldwin AuthorDate: 2023-09-08 23:30:35 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:31:21 +0000 cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits In particular, the kernel RPC layer used by the NFS client never invokes pru_rcvd since it always reads data from the socket upcall via MSG_SOCALLBCK which avoids calling pru_rcvd. As a result, on an NFS client connection managed by t4_tom, RX credits were never returned to the TOE connection to open the TCP window resulting in connection hangs. To fix, expand the set of conditions in do_rx_data where RX credits are returned to match those in t4_rcvd_locked by calling the function directly. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41688 --- sys/dev/cxgbe/tom/t4_cpl_io.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index 9b48b2891f64..235d4196226d 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -1647,7 +1647,7 @@ do_rx_data(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) struct socket *so; struct sockbuf *sb; struct epoch_tracker et; - int len, rx_credits; + int len; uint32_t ddp_placed = 0; if (__predict_false(toep->flags & TPF_SYNQE)) { @@ -1779,12 +1779,7 @@ do_rx_data(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) } sbappendstream_locked(sb, m, 0); - rx_credits = sbspace(sb) > tp->rcv_wnd ? sbspace(sb) - tp->rcv_wnd : 0; - if (rx_credits > 0 && sbused(sb) + tp->rcv_wnd < sb->sb_lowat) { - rx_credits = send_rx_credits(sc, toep, rx_credits); - tp->rcv_wnd += rx_credits; - tp->rcv_adv += rx_credits; - } + t4_rcvd_locked(&toep->td->tod, tp); if (ulp_mode(toep) == ULP_MODE_TCPDDP && toep->ddp.waiting_count > 0 && sbavail(sb) != 0) { From nobody Fri Sep 8 23:34:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCBN3qkNz4sbdP; Fri, 8 Sep 2023 23:34:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCBN0Dtpz4X3G; Fri, 8 Sep 2023 23:34:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVcB7jCAlKnhJBUuH0jNLK0cTzOjMBrFkjSZoXRKmLc=; b=ZDSXWHFPG4kenwFCxICOyk/yGVZ/yns0jwUnsL+uW/H9pHjqNVFw1oCOTsz3eDvi4GRW70 0G/t8p82qZ1c7mg8cb1uqgZFbxFpygWSylZmXja7tVfxO9VXnkmfMM3WXJaV8DI0NYRiBY qQWxKhQapi3mACdJey8BkvxdHDw1swso1AGlA1y7DXKslaT25aWVoiFH1gUEYlZQ9ov10d RPuAIENuBrLu9VFErCYeRAGgZzGdaoSB8ys5W0wb97PzJQ5ldQsj2VovHc2ETtTsi5AL9p LPtcOKuE1clCamoG/i6P4YJqiA6Cw61IwHBivkSsw/Qw6nzhQ3HgCk3yb4ZT9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216076; a=rsa-sha256; cv=none; b=bWNAVby/rLo7dMJSitnEq1UcRuvLGMZ7BM9OIuKIY4E2+UpSjElk4wRhDgGC0b2hOBBCkC nzOCUrPNXDnax6PCOwC9gdC2IC04s9BJHmqc+A3a8iSRmuK+EFTvfAKgTQpMeq8yWM5ctu BNmdS/HIEoL/fGhe5LhwgRUT2Cqy4EhiR0Zg1eTUTV7fwmQHMjW0o4rlJP1M2aujILCgoE GBgLh4gkjdeWcpCTauE/xkWH6cre+EGUtjP4k63rMTrRE6Fvxsd+wRmRsRDFh91gR/yK82 alM6xWg8ZtmM9G4m3KBFxWkEAc9YbWtJX4PUZLaDl97QUg0VEubfO2dZD9JrKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVcB7jCAlKnhJBUuH0jNLK0cTzOjMBrFkjSZoXRKmLc=; b=utcHnTFwnuUxO4fpsi8I98XRnAUEfoUo3LrFIhnMiktdRBVeZxomMiQtF4kZar5H+u5O4c Cp80BxN7s+mfFvSDnjpiOD0OSyG0DmHYnuMluNCFo2qRIFrjV9rYpu38mxeGw+/ZI/Ne7N SQcyQg2iuD0ZoFMbsHF8pEEPIlCcG9oW7XS8on7x0vQ/onuXLTyd0YIohzpVFWToaudOmG /zQa04/Duqd1bsoo4oyBiKV/QnubgoLZ4wdwLgrk7p4z2f7bgzMtSvbtwVvOhkaIYFpbmF KEVY5ei/3rVxssK3N/gF9LD79n6jJ+fccmzmTMTbSj1qmVy7TmQx19Npx0Z/lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCBM6SW5z11xt; Fri, 8 Sep 2023 23:34:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NYZmT072551; Fri, 8 Sep 2023 23:34:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NYZC8072548; Fri, 8 Sep 2023 23:34:35 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:34:35 GMT Message-Id: <202309082334.388NYZC8072548@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 75af2d951cce - main - cxgbe t4_tls: Don't bother returning RX credits for a protocol receive error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75af2d951cce7d51d2033405f96f083c01f39f04 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=75af2d951cce7d51d2033405f96f083c01f39f04 commit 75af2d951cce7d51d2033405f96f083c01f39f04 Author: John Baldwin AuthorDate: 2023-09-08 23:30:52 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:31:25 +0000 cxgbe t4_tls: Don't bother returning RX credits for a protocol receive error Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41689 --- sys/dev/cxgbe/tom/t4_tls.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index b8005e213621..29a840067c62 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -1004,7 +1004,7 @@ do_rx_data_tls(const struct cpl_rx_data *cpl, struct toepcb *toep, struct tcpcb *tp; struct socket *so; struct sockbuf *sb; - int len, rx_credits; + int len; len = m->m_pkthdr.len; @@ -1075,22 +1075,6 @@ do_rx_data_tls(const struct cpl_rx_data *cpl, struct toepcb *toep, so->so_error = EBADMSG; out: - /* - * This connection is going to die anyway, so probably don't - * need to bother with returning credits. - */ - rx_credits = sbspace(sb) > tp->rcv_wnd ? sbspace(sb) - tp->rcv_wnd : 0; -#ifdef VERBOSE_TRACES - CTR4(KTR_CXGBE, "%s: tid %u rx_credits %u rcv_wnd %u", - __func__, toep->tid, rx_credits, tp->rcv_wnd); -#endif - if (rx_credits > 0 && sbused(sb) + tp->rcv_wnd < sb->sb_lowat) { - rx_credits = send_rx_credits(toep->vi->adapter, toep, - rx_credits); - tp->rcv_wnd += rx_credits; - tp->rcv_adv += rx_credits; - } - sorwakeup_locked(so); SOCKBUF_UNLOCK_ASSERT(sb); From nobody Fri Sep 8 23:34:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCBP27PQz4sbrN; Fri, 8 Sep 2023 23:34:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCBP1Kxvz4X9R; Fri, 8 Sep 2023 23:34:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iEC0+O/Zz61Wlky+QDMdBc8dPvCdVoDrafZVdJj5vzw=; b=donaxBpt+sVN+c/NJkxT9LxPfiLRf75VPNWHue6Y1uMcs/HyjyGxBoT9tR1MPxoOskAF9F acTOWSOj2n8bCZ7Vv2CLg5MQ9yxrGMMlIXE6hCsMjOVTdKLyLh5RIMFrBS7T9tZomCzhNm AnRoScHZ8hcxw4AgmkW2txxWpFBkqgkZtbGUoOg+DJ1w7eTqgbytfawVKFPxFEQRc/IseC LtTuq3LStU87oVhBdLeOn28m/sCTidjIcy8gcQxFVXCxKNf3RguJedcTlDhS3edbwGitTI EelsenR3WpaS4rz8aGj/XU8Bcgx4zzAv2rCRhXwmH33yq/nwGkbEoPCaaTiIwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216077; a=rsa-sha256; cv=none; b=c8OymvFtYKNidJhNtC/RontZgCeZ0PUpZbmGsi+RYZpXGDtgxxkJx0C8DDvbMJPMi5V2Xm iCdlPW9O+gEJLRnfaoZUzUr6pddX1a9J6Xb+8yOIk0sbT2TFAvNfS0JXzZv7KaE/BVvb2a ZJCkg7psC89RUbwgkl0NvYZi+uTir/uwOzXYGspmp8yDoRPUDwjDYUltQ6VC/Lx6UuAFfn cVenVWDhnKYDVq700pc9CRVzEGEiEwvbYrn3bUv+tfVWSjInR+E1PBmdiZ4vn8lGSmyLWK EigrZFasEPurji94M3+0F2tdRKscwcttf6kwirIN1rWkDrKfFLFCyNKRkQ9NcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iEC0+O/Zz61Wlky+QDMdBc8dPvCdVoDrafZVdJj5vzw=; b=MeR/+a2WCDZXhFyKkZAUWgRXJtPnr5Z/Dx0etZuxsqqgh3VSWQ+9+/F8ca8w8UeGgV9NxR nYEWDJTN5EBpP3BIJDGAy7skTDlx/ftKRRZ3GYPaTojSWrulAd9xRWGaocRRPI9RLfCRR3 uEkV8CrbBQwa7GN5em/x+TQ91VEXWdqUM7x0FNZ/Pihdm1RZPiME8mw4j9FOu6mC90xVvZ zsi3y7up6RJ0jQCkOJWGdSKeh+ZijQxaGmoxyf+gyBAJYlvP8vZPc/ucWDrF3EKdBfd21s +ffJIvQK2WGFlZRtSXPF85xIZli1OEMUReSxPy8HBeKx7wFHiTYBulRGmtv3YQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCBP0K9Cz11mh; Fri, 8 Sep 2023 23:34:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NYa6u072601; Fri, 8 Sep 2023 23:34:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NYaCl072598; Fri, 8 Sep 2023 23:34:36 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:34:36 GMT Message-Id: <202309082334.388NYaCl072598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 897e56436162 - main - cxgbe t4_tls: Call t4_rcvd_locked from do_rx_tls_cmp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 897e564361624411c4e557e0817642e1477f0af4 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=897e564361624411c4e557e0817642e1477f0af4 commit 897e564361624411c4e557e0817642e1477f0af4 Author: John Baldwin AuthorDate: 2023-09-08 23:31:38 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:31:38 +0000 cxgbe t4_tls: Call t4_rcvd_locked from do_rx_tls_cmp Similar to dcfddc8dc091e7688abc8488a0307eba425fa7a2, replace the simpler, inlined version with the full version. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41690 --- sys/dev/cxgbe/tom/t4_tls.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index 29a840067c62..3a0c1a392e6c 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -794,7 +794,7 @@ do_rx_tls_cmp(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) struct mbuf *tls_data; struct tls_get_record *tgr; struct mbuf *control; - int pdu_length, rx_credits, trailer_len; + int pdu_length, trailer_len; #if defined(KTR) || defined(INVARIANTS) int len; #endif @@ -975,16 +975,7 @@ do_rx_tls_cmp(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) sbappendcontrol_locked(sb, m, control, 0); else sbappendstream_locked(sb, m, 0); - rx_credits = sbspace(sb) > tp->rcv_wnd ? sbspace(sb) - tp->rcv_wnd : 0; -#ifdef VERBOSE_TRACES - CTR4(KTR_CXGBE, "%s: tid %u rx_credits %u rcv_wnd %u", - __func__, tid, rx_credits, tp->rcv_wnd); -#endif - if (rx_credits > 0 && sbused(sb) + tp->rcv_wnd < sb->sb_lowat) { - rx_credits = send_rx_credits(sc, toep, rx_credits); - tp->rcv_wnd += rx_credits; - tp->rcv_adv += rx_credits; - } + t4_rcvd_locked(&toep->td->tod, tp); sorwakeup_locked(so); SOCKBUF_UNLOCK_ASSERT(sb); From nobody Fri Sep 8 23:37:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCFQ4xdYz4scwS; Fri, 8 Sep 2023 23:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCFQ3wkpz4YF7; Fri, 8 Sep 2023 23:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mKnKWwrIs3Y4mqmOk5KnNBlDf72W4udsHKXOq2fPlR4=; b=L1apmLjo+YWxRipLPVItw4g4eTPMozuns1o/KnXIRQYcQI0DRWSG4mV4Su1Msh9y+CEeD0 K99kbOFRMfVlA2QGcvLEpL/tj7THA6efB1831nGZcs0i6k/vmryGYEIpbBJRPbIQZ15/Jl Ha2x/vO43AetXKvSq+1FsN1h0S28hmI2QGyHeWHazwabyGWGdSCWz7z3mVT0vkXc79+1Jt oVKBZJAV8tqTZcij10bqELEL1ViEAV1hQJ348QZF9wY8ZR4D8s3H/NFQTzV4fh4G4bTHyU nbPXjUqXXAgoYMbXHqeiuGx4bapXgKI1plwga39TBnpqvHcvgxhACCHZBl2J5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216234; a=rsa-sha256; cv=none; b=PTyZyRH7qg5Jq6uGKl0H8GpvaYzbrOcqPoKYBUJGN9heepC/uWiRpm93Rkb5cra95ygOiZ FTLqPE5S53x4ye1F3aiKrqKIJdD8VQD8DbXHqE+INPOzxoPvXmSo76w5pugSBCfsSIt+Pg kgUaM7jwdd/dPEF6HLirNh28dwj75hg9W7ZPqN6dp5YeKENIr0VgBTuPiylc9uf/TmPdw9 QLI3CV/dqD11o/Hm/Z4LQ40bR1NH1g/7+Mssk+eVQwZlMoYFcTle4t1OhLsyQosjsVYl42 2e1SPN/vPnxm/S7VWZlWoz2qZVlw1qnQHl+6B7QQfkjMpI+m0LQuH3KNaQEXvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mKnKWwrIs3Y4mqmOk5KnNBlDf72W4udsHKXOq2fPlR4=; b=xBqjRxeUIeJAvqW92R5FtJACFRXaQk9pvagUMGNEb0lMw+4szsaXZiLNND1Y8q2LKBD6eP l3a0MzuSDjYOKSXOJAOZRnP8XhIz13xXVoSd8a1G8fGVEtq6A7ol8lOPwxTB/hKrEkBDfB TxoPY7eMyHoMObepgszHDVYFc3LDEuRahtobZxRajlQfvXdVfskcA3gP0WBc9ldRroBAG8 OIsentG8L+y/XSzqKZ24vBQtJytjVMEDQcwdfxs1h/TVkGuFlt2J44LTJDv2VEqxernb7o UVdHL6I9ZjH0ndudcwNJI4QrMVytLYK1gkaaeO5TZGlXuikSmRmiqf8d0zCGfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCFQ2hCjz1250; Fri, 8 Sep 2023 23:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NbE1D073149; Fri, 8 Sep 2023 23:37:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NbEcO073146; Fri, 8 Sep 2023 23:37:14 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:37:14 GMT Message-Id: <202309082337.388NbEcO073146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3b5fc5eead84 - main - riscv: Print stval in dump_regs for fatal exceptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3b5fc5eead84bd75dedead71a7f3771882942fa7 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3b5fc5eead84bd75dedead71a7f3771882942fa7 commit 3b5fc5eead84bd75dedead71a7f3771882942fa7 Author: John Baldwin AuthorDate: 2023-09-08 23:35:59 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:35:59 +0000 riscv: Print stval in dump_regs for fatal exceptions Reviewed by: mhorne, markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41700 --- sys/riscv/riscv/trap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/riscv/riscv/trap.c b/sys/riscv/riscv/trap.c index bde402c1cc16..b855fcc4163a 100644 --- a/sys/riscv/riscv/trap.c +++ b/sys/riscv/riscv/trap.c @@ -186,6 +186,7 @@ dump_regs(struct trapframe *frame) print_with_symbol("tp", frame->tf_tp); print_with_symbol("sepc", frame->tf_sepc); printf("sstatus: 0x%016lx\n", frame->tf_sstatus); + printf("stval : 0x%016lx\n", frame->tf_stval); } static void From nobody Fri Sep 8 23:37:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCFR58MFz4sd2M; Fri, 8 Sep 2023 23:37:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCFR4NtBz4YHR; Fri, 8 Sep 2023 23:37:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R8d1cWiT5+Whhcmz/TGam5cyZtDfR/E9aChTHWEBUE4=; b=s+sLbnKiGD7trFZJeGPUXMulB50xashggw/83iHueHz5693o6SeeX1GAyjGOdT8x21ndc3 zPI0KMPgS6WqWhreZdcvRutaFbuMM3rqAM8jmP8AM1UcE3VMk4WP/Ka5Z9ETi29T65Hqbf gCj26/cdWzwVRG0XqJ37xii2UXNn1MYFTDfJrUhCI/3Eg0QgdiywJvGf9UK6KV3sGr29yV yIZZfT31IoMjCq7b4mdGeUxvS97yG4by8TIZZHCPq6a/eBKpTsh95LzoHlx/+uNRDipyFK qcJFz9mwaqFVFhaj4hWCWra2aZ3kmPOPKKXf+MaQy4qwV421CHwU6VHMdHQ/7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216235; a=rsa-sha256; cv=none; b=HeYd2f9K5GgZPPGXsGKw+mRa6oH8CZ0ZueUHIrTMHXxW/z6SK43q1ldnpy8lIKs7mkZhsu KlNc3ZiJBYozLa5VxiLYlrpFJqOTqYkQkntF+vPJhb2WZP6mTB8Ohj6v0/WJQ27dIVYzPD xcDxTJJ6pzWzwlkyDaVXTfpo+uWHbVfIcjBlf/XueMZ1s9RSZT9ULQIY7yjxyGAovSN7p8 Tx7X4o8PThoCZGo4rU0PXinMzFVNAvF8oVIz19+jT7TFc8h7PvMzP5TvxI9ynlICpy/TN3 zoW225GhF5ELcLVQY1WiYTkhENq5jO/PBGkjEurXU3SNa38d0lgqm84tx+W/Eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R8d1cWiT5+Whhcmz/TGam5cyZtDfR/E9aChTHWEBUE4=; b=t0bjQDZ2fnYEkSpiFbCu7yHATWZnt+lQI3WBzk+EPjEsfguZfQsF3wVFaR8M6rYEAOyHEE EkeQ1jNvK5BNtffiQs8Adutk5Pftkn6vdIlANfMCSmd6emYed2KuAyV9PwGLcznoeLHmZN 6SVyPZIujPWjRlwxXCCVhJe95y9UiEVRVEHU6RqdRGW+GU5s5wIstswpOubSVEw6EVq3eL g/SDzFiPmUX4uNerQVgcoxfwBpqzXrE7+PrPpXqTdtspABPWfuiqWUNH35oxwu1yzZjyLC r8cp8VRfLXIU8ilckMiaBMbWyALwTrs6VzficaLMVEpZB6CAT5OWBv2b7/Onkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCFR3Pnvz125r; Fri, 8 Sep 2023 23:37:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NbFo0073198; Fri, 8 Sep 2023 23:37:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NbFjo073195; Fri, 8 Sep 2023 23:37:15 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:37:15 GMT Message-Id: <202309082337.388NbFjo073195@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3555be0124a4 - main - Move kern_extattr_* prototypes to List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3555be0124a4f105c72d932f00071f332691e8cf Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3555be0124a4f105c72d932f00071f332691e8cf commit 3555be0124a4f105c72d932f00071f332691e8cf Author: John Baldwin AuthorDate: 2023-09-08 23:36:28 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:36:28 +0000 Move kern_extattr_* prototypes to All of the kern_* prototypes belong in this header. While here, sort the prototypes by function name. Reviewed by: dchagin Fixes: 6453d4240f6b vfs: Export exattr methods to reuse by Linuxulator Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41766 --- sys/kern/vfs_extattr.c | 1 + sys/sys/extattr.h | 22 ---------------------- sys/sys/syscallsubr.h | 20 ++++++++++++++++++++ 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index e178589067c1..dc1bbb58644b 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include diff --git a/sys/sys/extattr.h b/sys/sys/extattr.h index a6689c869c0c..a16ef238656f 100644 --- a/sys/sys/extattr.h +++ b/sys/sys/extattr.h @@ -62,33 +62,11 @@ #ifdef _KERNEL #include -enum uio_seg; -struct uio; struct thread; struct ucred; struct vnode; int extattr_check_cred(struct vnode *vp, int attrnamespace, struct ucred *cred, struct thread *td, accmode_t accmode); -int kern_extattr_set_path(struct thread *td, const char *path, - int attrnamespace, const char *attrname, void *data, - size_t nbytes, int follow, enum uio_seg pathseg); -int kern_extattr_set_fd(struct thread *td, int fd, int attrnamespace, - const char *attrname, void *data, size_t nbytes); -int kern_extattr_get_path(struct thread *td, const char *path, - int attrnamespace, const char *attrname, void *data, - size_t nbytes, int follow, enum uio_seg pathseg); -int kern_extattr_get_fd(struct thread *td, int fd, int attrnamespace, - const char *attrname, void *data, size_t nbytes); -int kern_extattr_delete_path(struct thread *td, const char *path, - int attrnamespace, const char *attrname, int follow, - enum uio_seg pathseg); -int kern_extattr_delete_fd(struct thread *td, int fd, int attrnamespace, - const char *attrname); -int kern_extattr_list_path(struct thread *td, const char *path, - int attrnamespace, struct uio *auiop, int follow, - enum uio_seg pathseg); -int kern_extattr_list_fd(struct thread *td, int fd, int attrnamespace, - struct uio *auiop); #else #include diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 8be860dc0fd4..0480eda2fca4 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -139,6 +139,26 @@ int kern_cpuset_setid(struct thread *td, cpuwhich_t which, int kern_dup(struct thread *td, u_int mode, int flags, int old, int new); int kern_execve(struct thread *td, struct image_args *args, struct mac *mac_p, struct vmspace *oldvmspace); +int kern_extattr_delete_fd(struct thread *td, int fd, int attrnamespace, + const char *attrname); +int kern_extattr_delete_path(struct thread *td, const char *path, + int attrnamespace, const char *attrname, int follow, + enum uio_seg pathseg); +int kern_extattr_get_fd(struct thread *td, int fd, int attrnamespace, + const char *attrname, void *data, size_t nbytes); +int kern_extattr_get_path(struct thread *td, const char *path, + int attrnamespace, const char *attrname, void *data, + size_t nbytes, int follow, enum uio_seg pathseg); +int kern_extattr_list_fd(struct thread *td, int fd, int attrnamespace, + struct uio *auiop); +int kern_extattr_list_path(struct thread *td, const char *path, + int attrnamespace, struct uio *auiop, int follow, + enum uio_seg pathseg); +int kern_extattr_set_fd(struct thread *td, int fd, int attrnamespace, + const char *attrname, void *data, size_t nbytes); +int kern_extattr_set_path(struct thread *td, const char *path, + int attrnamespace, const char *attrname, void *data, + size_t nbytes, int follow, enum uio_seg pathseg); int kern_fchmodat(struct thread *td, int fd, const char *path, enum uio_seg pathseg, mode_t mode, int flag); int kern_fchownat(struct thread *td, int fd, const char *path, From nobody Fri Sep 8 23:37:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjCFT1mpsz4sd00; Fri, 8 Sep 2023 23:37:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjCFS64fdz4YTg; Fri, 8 Sep 2023 23:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=meF95dFA6RPds2rvEBxGU904DjFu5aiU3so0C5xfNC0=; b=otSSxE0nGjzWCq5OgqXISqhV5OurZxamgpgI43D0kOGUBdGm5KyBNMjQQrh9xj4iyNVpUf HTGAL1+bkwG9B4r7XMwPLnp+mPuW2Kyurwbnvy8BOK/THqQaO4FDzdzoMEtgkJHx2GHc36 8n5LCJydgA23f0eYq8YHRRlUBIKh0OB0rwjQ6ejwO+T7WQSY7QKeOMTUKYMhHXEqWqt2+w St9Z8Rr4rNW01yCzk5pbY5lDDI70S/r2AlBVt38nc0cYA6qoLwLYbkoT4Gd2ipmbMmnjJE tE1YCYr34dkGF0ijpzHZZukUEvC2oItR1VOCyEvau7CK7oz9/vCQWTby//4lWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694216236; a=rsa-sha256; cv=none; b=EQYerFR8vkfnYl1gAlMPkwibNPBXxjE4IndC7ltLsS2xauB77uHK9/V9QIKGiDR/dGPTNL g8AXaO9IQKDAK+/nZSmqNv3N4gS3R/vbhyac9xk/QNhu/tyjKihpXW93JjArt/t9O4uQfP xdsvkHjm8WMA6HK+lx1cWyj0aOojw06bT9KR6hYnLdQUWzymfzdbF4MNsvHkTgEpiTjgX1 xMyqCZIj5JsiMDCfpV74jIPGTGdkMfAAZhVE+N4wNnIQ1Na/zX/ubkQQW3OY7svzL61zcZ NH8OCTL2uxbNk3YqM3hPTOqsMbIL44s4YP3W1RYBvwxuys4eEAWC2JuKwd3S7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694216236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=meF95dFA6RPds2rvEBxGU904DjFu5aiU3so0C5xfNC0=; b=ZzBz26kjUNtA34r4BIjGV8JxuTlUJA8owLXfiilJX1VirqwfWQKlL9uq2hwIcyvqZoHQRG HOcVrG/TkyX0zIaHHJkx4asmSECg57cYcFMNJJ33oJoUq+n/OJH7uOHhAz4se4qT2arW7e PJ5nYZtxilyxhwQMynbNxJmfqSs1bMN8I14m/LVC8UrP4KsSlkUn8pDrECKSGtjuhCfidX qT27JyvAlMh9UPa0ujrMgSXWEWAQHUr3Zqh8IScmcMOZluqwVrwdPfG5L92rNw4YkRWN27 KaxrZC9BqVUuN6wg5uby+08xrhKZxdvIcNlwkytUVDPJHEXUV1XkH2QZPeXv5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjCFS4J4vz125s; Fri, 8 Sep 2023 23:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 388NbGev073256; Fri, 8 Sep 2023 23:37:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 388NbGCx073253; Fri, 8 Sep 2023 23:37:16 GMT (envelope-from git) Date: Fri, 8 Sep 2023 23:37:16 GMT Message-Id: <202309082337.388NbGCx073253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9c80d66ec1b4 - main - makeman: Use ${make} instead of plain make to compute ${requireds} List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c80d66ec1b4c5b9ac7aaf5b0fdbb1628d49c181 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9c80d66ec1b4c5b9ac7aaf5b0fdbb1628d49c181 commit 9c80d66ec1b4c5b9ac7aaf5b0fdbb1628d49c181 Author: John Baldwin AuthorDate: 2023-09-08 23:36:52 +0000 Commit: John Baldwin CommitDate: 2023-09-08 23:36:52 +0000 makeman: Use ${make} instead of plain make to compute ${requireds} This is currently a no-op but can matter for downstreams whose ${make} includes additional settings. Reviewed by: imp, emaste Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41777 --- tools/build/options/makeman | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/options/makeman b/tools/build/options/makeman index f4089d453801..30416b03b983 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -127,7 +127,7 @@ show() exit 1 ;; esac - requireds=`env -i make -f ${srcdir}/share/mk/src.opts.mk \ + requireds=`env -i ${make} -f ${srcdir}/share/mk/src.opts.mk \ -V '${__REQUIRED_OPTIONS:ts,}'` env -i ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null \ SRCCONF=/dev/null | From nobody Sat Sep 9 08:21:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjQt40rPcz4sKs6; Sat, 9 Sep 2023 08:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjQt40P4tz4JMl; Sat, 9 Sep 2023 08:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jy7uhSiqDWpckJhhpRAUl77DXQ1NsN9NdSOq2uW1R9k=; b=cUMzurpX25v7WKU96rmZpeoNLZkYZ/y9HFOB1WqJ1goQWJyFohROBcZ2cHsosfr6vY+1Ij Ml7Ht8017Dayn/Dof0f5kxGUOaC27INk5ZoSJUHH5DIN1aBJx9NiQmKHJPOej/LNYAUstH hZuj9oeomGTkQEOFYBKbK10heD8TxS8VAlTrbEI+sx3ofLv0O9iOy3kJULsMnI8PaK2BTK skUVpJkPHCirdCAdunG6gdpFzBEVTDvy3UNz7sn9ok0FxgFZxClbyCMox1jG0bi4lMfqf5 qlP/2fNdZFtnlHCzjf+D4sCOLQVF7XvqjHpUCg5Z+296sVepLo+Fns3s5OZ3Og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694247676; a=rsa-sha256; cv=none; b=xw+aD1dNKSSp7UK/+DZUBduoSzAf6T/jgke3UnQuYjoQM8YfB+Icgg/zW6bgflpo03ZxGQ I5YfTIeiDQkhi9TVu9uiLpNHQuGUtY678oeXvpKcGHsxVZIGkaUSIOhiJHVMJqgT4ue+dV +TatLG+24GOoWQ/TSDrmZejRdMz5hb1oilFsgWDML8ZUS1zpf7TVGzpGb32hlgE8JlGxki Eqx3onuUmI9wlYR+ftY6EpB1uSQ+0V0K5y9+hCN5t/wvvH+UPrMY59C2i3xf6MsUz0liZ9 Kg+U0PC0OYpWEv2WbfYoMkjt0Ia8VR4/MmpP8LxphqCfySkc3G8OofxF9CNVfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jy7uhSiqDWpckJhhpRAUl77DXQ1NsN9NdSOq2uW1R9k=; b=fJJNhHxR3k1kX/pzNhkVZi/OthzLnj5DQQosd+cjKhBk/QUKNfb6roNhEQ5pfXiMAG8lPz XYjq6Qf3O5ZUM3L5DKoRVp1W512kcFz984+1mVH2WXhoZHtRJMQ7qgqLWSbGbfukPaB8xC 8U0SdH0CAVVjlYplmljG351GHDr1Ry+fJl4ChTcrO1zk7KSij+SWrp55IIdSabbC31SRIK eHng6q1NzUouLEbm+rikBTOvmgxb8kjUnQi1GEKt9L65K3GMoOt4Yg5mWOglIqRoTZS14U 4EE2Jo52FgmokzzT1TxHlqTYIgj314bmIomCaRz8Gjk+SPsi6uI0xANOoqWkMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjQt36Qscz2T1; Sat, 9 Sep 2023 08:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3898LFWJ046733; Sat, 9 Sep 2023 08:21:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3898LFsx046730; Sat, 9 Sep 2023 08:21:15 GMT (envelope-from git) Date: Sat, 9 Sep 2023 08:21:15 GMT Message-Id: <202309090821.3898LFsx046730@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 110113bc086f - main - sysctl(9): Enable vnet sysctl variables to be loader tunable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 110113bc086f5df1a9b6547edb1ab0cec698c55c Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=110113bc086f5df1a9b6547edb1ab0cec698c55c commit 110113bc086f5df1a9b6547edb1ab0cec698c55c Author: Zhenlei Huang AuthorDate: 2023-09-09 08:06:23 +0000 Commit: Zhenlei Huang CommitDate: 2023-09-09 08:06:23 +0000 sysctl(9): Enable vnet sysctl variables to be loader tunable Complete phase two of 3da1cf1e88f8. In 3da1cf1e88f8, the meaning of the flag CTLFLAG_TUN is extended to automatically check if there is a kernel environment variable which shall initialize the SYSCTL during early boot. It works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTLs which belong to VNETs. This change extends the meaning further, to allow it also works for the SYSCTLs which belong to VNETs. A typical usage is ``` VNET_DEFINE_STATIC(int, foo) = 0; SYSCTL_INT(_net, OID_AUTO, foo, CTLFLAG_RWTUN | CTLFLAG_VNET, &VNET_NAME(foo), 0, "Description of the foo loader tunable"); ``` Note that the implementation has a limitation. It behaves the same way as that of non-vnet loader tunables. That is, after the kernel or modules being initialized, any changes (e.g. via kenv) to kernel environment variable will not affect the corresponding vnet variable of subsequently created VNETs. To overcome it, we can use TUNABLE_XXX_FETCH to fetch the kernel environment variable into those vnet variables during vnet constructing. This change will fix the following SYSCTLs those belong to VNETs and have CTLFLAG_TUN flag: ``` net.add_addr_allfibs net.bpf.optimize_writers net.inet.tcp.fastopen.ccache_buckets net.link.bridge.inherit_mac net.link.bridge.ipfw_arp net.link.bridge.log_stp net.link.bridge.pfil_bridge net.link.bridge.pfil_local_phys net.link.bridge.pfil_member net.link.bridge.pfil_onlyip net.link.lagg.default_use_flowid net.link.lagg.default_use_numa net.link.lagg.default_flowid_shift net.link.lagg.lacp.debug net.link.lagg.lacp.default_strict_mode ``` Although the following vnet SYSCTLs have CTLFLAG_TUN flag, theirs values are re-fetched via TUNABLE_XXX_FETCH, thus are not affected by this change. ``` net.inet.ip.reass_hashsize net.inet.tcp.hostcache.cachelimit net.inet.tcp.hostcache.hashsize net.inet.tcp.hostcache.bucketlimit net.inet.tcp.syncache.bucketlimit net.inet.tcp.syncache.cachelimit net.inet.tcp.syncache.hashsize net.key.spdcache.maxentries net.key.spdcache.threshold ``` In memoriam: hselasky Discussed with: hselasky, glebius Fixes: 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag ... MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D39638 --- sys/kern/kern_linker.c | 3 +++ sys/kern/kern_sysctl.c | 3 --- sys/kern/link_elf.c | 20 ++++++++++++++++++++ sys/kern/link_elf_obj.c | 30 +++++++++++++++++++++++++++++- sys/kern/linker_if.m | 9 +++++++++ 5 files changed, 61 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index a1073512e856..2367bf35da76 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -471,6 +471,9 @@ linker_load_file(const char *filename, linker_file_t *result) } modules = !TAILQ_EMPTY(&lf->modules); linker_file_register_sysctls(lf, false); +#ifdef VIMAGE + LINKER_PROPAGATE_VNETS(lf); +#endif linker_file_sysinit(lf); lf->flags |= LINKER_FILE_LINKED; diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 814579a80f5a..a1d502d58bff 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -510,9 +510,6 @@ sysctl_register_oid(struct sysctl_oid *oidp) RB_INSERT(sysctl_oid_list, parent, oidp); if ((oidp->oid_kind & CTLTYPE) != CTLTYPE_NODE && -#ifdef VIMAGE - (oidp->oid_kind & CTLFLAG_VNET) == 0 && -#endif (oidp->oid_kind & CTLFLAG_TUN) != 0 && (oidp->oid_kind & CTLFLAG_NOFETCH) == 0) { /* only fetch value once */ diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 5be2db9d32bf..3e9998f27baa 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -160,6 +160,9 @@ static int link_elf_each_function_nameval(linker_file_t, static void link_elf_reloc_local(linker_file_t); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); +#ifdef VIMAGE +static void link_elf_propagate_vnets(linker_file_t); +#endif static int elf_lookup(linker_file_t, Elf_Size, int, Elf_Addr *); static kobj_method_t link_elf_methods[] = { @@ -178,6 +181,9 @@ static kobj_method_t link_elf_methods[] = { KOBJMETHOD(linker_ctf_get, link_elf_ctf_get), KOBJMETHOD(linker_symtab_get, link_elf_symtab_get), KOBJMETHOD(linker_strtab_get, link_elf_strtab_get), +#ifdef VIMAGE + KOBJMETHOD(linker_propagate_vnets, link_elf_propagate_vnets), +#endif KOBJMETHOD_END }; @@ -1923,6 +1929,20 @@ link_elf_strtab_get(linker_file_t lf, caddr_t *strtab) return (ef->ddbstrcnt); } +#ifdef VIMAGE +static void +link_elf_propagate_vnets(linker_file_t lf) +{ + elf_file_t ef = (elf_file_t)lf; + int size; + + if (ef->vnet_base != 0) { + size = (uintptr_t)ef->vnet_stop - (uintptr_t)ef->vnet_start; + vnet_data_copy((void *)ef->vnet_base, size); + } +} +#endif + #if defined(__i386__) || defined(__amd64__) || defined(__aarch64__) || defined(__powerpc__) /* * Use this lookup routine when performing relocations early during boot. diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index b853ca284f7d..768808d2102e 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -150,6 +150,9 @@ static int link_elf_each_function_nameval(linker_file_t, static int link_elf_reloc_local(linker_file_t, bool); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); +#ifdef VIMAGE +static void link_elf_propagate_vnets(linker_file_t); +#endif static int elf_obj_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *); @@ -170,6 +173,9 @@ static kobj_method_t link_elf_methods[] = { KOBJMETHOD(linker_ctf_get, link_elf_ctf_get), KOBJMETHOD(linker_symtab_get, link_elf_symtab_get), KOBJMETHOD(linker_strtab_get, link_elf_strtab_get), +#ifdef VIMAGE + KOBJMETHOD(linker_propagate_vnets, link_elf_propagate_vnets), +#endif KOBJMETHOD_END }; @@ -1848,7 +1854,7 @@ link_elf_symtab_get(linker_file_t lf, const Elf_Sym **symtab) return (0); return (ef->ddbsymcnt); } - + static long link_elf_strtab_get(linker_file_t lf, caddr_t *strtab) { @@ -1859,3 +1865,25 @@ link_elf_strtab_get(linker_file_t lf, caddr_t *strtab) return (0); return (ef->ddbstrcnt); } + +#ifdef VIMAGE +static void +link_elf_propagate_vnets(linker_file_t lf) +{ + elf_file_t ef = (elf_file_t) lf; + + if (ef->progtab) { + for (int i = 0; i < ef->nprogtab; i++) { + if (ef->progtab[i].size == 0) + continue; + if (ef->progtab[i].name == NULL) + continue; + if (strcmp(ef->progtab[i].name, VNET_SETNAME) == 0) { + vnet_data_copy(ef->progtab[i].addr, + ef->progtab[i].size); + break; + } + } + } +} +#endif diff --git a/sys/kern/linker_if.m b/sys/kern/linker_if.m index 0722390d4e20..a50ed1ea84a3 100644 --- a/sys/kern/linker_if.m +++ b/sys/kern/linker_if.m @@ -154,3 +154,12 @@ STATICMETHOD int link_preload { METHOD int link_preload_finish { linker_file_t file; }; + +#ifdef VIMAGE +# +# Propagate system tunable values to all vnets. +# +METHOD void propagate_vnets { + linker_file_t file; +}; +#endif From nobody Sat Sep 9 08:21:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjQt52NcRz4sKbt; Sat, 9 Sep 2023 08:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjQt51kt6z4JW7; Sat, 9 Sep 2023 08:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DU9sJp7jyr5YEySMQlzhQRcAWiwMc2138P8zh7eM6Lw=; b=GVUMnWrjB73zudt1AeFoFr7va/d8PHT2hqiLlQ3G6Nz9AKpg+xkO1y+3tzvhtjjeR2REc8 KpZNCWsIHGiF8yjLYMvNtgiFhSa1KwVqw3cgqBz5XMldSFIeDWLN+XyANlLBKPB6BQl+p/ 2HRsAgtfUrbZ81d4oOt6d7SVhlK5qKD2UsPOyHtwyAH23iOb2W7Tv68fIX7JAMVrvBNfg+ IR8w83MT8FE/PsMI3pmJSU+O2sKAFnQCVEcyAa1bAp3cMHl67WQOu5SFlWn3PFfR/+doTt 49MiaulA7hAd4hHPB4PkfAUixbiS7b5dh9k8YShYEy6G0MYemBOTw6Zph/82Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694247677; a=rsa-sha256; cv=none; b=PkZ4bSmyg21Riy18C8DeKtxW98y4MiKHuKF5KyhHWWnLscY+CYm3msxOq3xXQIPi9q8bOf FNUxXDU0dJrgC/LN8ddgAjDwJm6cHufb7WDUGOeqjVBNNUxYiN2v4NvYneoX5DH4MefSga NYcN1D0rF/7rRhVrdLsTkTuLGFqll9WKYZDw3oXa0LjdSopy0kS4Ito3BfXnFXl+drwKPY vP5zv8/bmsE230sgNCqmfJAaivbEhHSVU8a2ngxbIRxfHw0gLqHqVEgr4PQkk1ZlvzscZd nzkfaEijSamHpDcRmfD5EHHw6V6qhtSUPv/JlfAezEBq2v18T6embVbh+4QR6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DU9sJp7jyr5YEySMQlzhQRcAWiwMc2138P8zh7eM6Lw=; b=FBRurl0dbcYdKuWXpgB8RKSkDMX+aIT5/k2lCLum7Jazd655lcPtMu2WYRjZ6veqTg2g85 6wLh5KSK/CMaY1Ei3TxOqsDZuaSaMAABOnJZlR5XcI6C/NEt7/ljr0IzxnHhtigT7gIoXy BzPvpoChxQTDyaYtQP4og8UyTgvBY2JAE9Ak2BsDld2s00x+ZZus87iGX+9JaQwr7AMMUk XeZqgZAZq4Lf9fGPE/C6Q227GFiACIXDSaeKbmDn8gdMZp90hKjCyQNHcQI4pfS+YvUJIg GV0H/QY3qj6As4hE75NWSAd8oObWsq7Xtag0Jk285YgUMIAgEmPMM1ihAdvr2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjQt50HVBz36X; Sat, 9 Sep 2023 08:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3898LGEO046778; Sat, 9 Sep 2023 08:21:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3898LGVH046775; Sat, 9 Sep 2023 08:21:16 GMT (envelope-from git) Date: Sat, 9 Sep 2023 08:21:16 GMT Message-Id: <202309090821.3898LGVH046775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 205821a70ddd - main - kernel linker: Eliminate unneeded vnet propagation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 205821a70dddfa106f6792e95693f411e8ce52d4 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=205821a70dddfa106f6792e95693f411e8ce52d4 commit 205821a70dddfa106f6792e95693f411e8ce52d4 Author: Zhenlei Huang AuthorDate: 2023-09-09 08:06:23 +0000 Commit: Zhenlei Huang CommitDate: 2023-09-09 08:06:24 +0000 kernel linker: Eliminate unneeded vnet propagation The module preload happens before vnet0 creation, at this moment the vnet list is empty thus invoking vnet_data_copy() during preload is a noop. With recent change 110113bc086f, for dynamic module load, aka via kldload, linker will do vnet propagation right after registering sysctls which happens after module load, then previous propagation (during module load) is redundant. No functional change intended. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39852 --- sys/kern/link_elf.c | 2 +- sys/kern/link_elf_obj.c | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 3e9998f27baa..568f1e1dbd95 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -724,6 +724,7 @@ parse_vnet(elf_file_t ef) ef->vnet_start = 0; ef->vnet_stop = 0; + ef->vnet_base = 0; error = link_elf_lookup_set(&ef->lf, "vnet", (void ***)&ef->vnet_start, (void ***)&ef->vnet_stop, NULL); /* Error just means there is no vnet data set to relocate. */ @@ -766,7 +767,6 @@ parse_vnet(elf_file_t ef) return (ENOSPC); } memcpy((void *)ef->vnet_base, (void *)ef->vnet_start, size); - vnet_data_copy((void *)ef->vnet_base, size); elf_set_add(&set_vnet_list, ef->vnet_start, ef->vnet_stop, ef->vnet_base); diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index 768808d2102e..d4ad963e8181 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -546,7 +546,6 @@ link_elf_link_preload(linker_class_t cls, const char *filename, } memcpy(vnet_data, ef->progtab[pb].addr, ef->progtab[pb].size); - vnet_data_copy(vnet_data, shdr[i].sh_size); ef->progtab[pb].addr = vnet_data; #endif } else if ((ef->progtab[pb].name != NULL && @@ -1113,18 +1112,11 @@ link_elf_load_file(linker_class_t cls, const char *filename, error = EINVAL; goto out; } - /* Initialize the per-cpu or vnet area. */ + /* Initialize the per-cpu area. */ if (ef->progtab[pb].addr != (void *)mapbase && !strcmp(ef->progtab[pb].name, DPCPU_SETNAME)) dpcpu_copy(ef->progtab[pb].addr, shdr[i].sh_size); -#ifdef VIMAGE - else if (ef->progtab[pb].addr != - (void *)mapbase && - !strcmp(ef->progtab[pb].name, VNET_SETNAME)) - vnet_data_copy(ef->progtab[pb].addr, - shdr[i].sh_size); -#endif } else bzero(ef->progtab[pb].addr, shdr[i].sh_size); From nobody Sat Sep 9 08:21:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjQt62yTvz4sKsV; Sat, 9 Sep 2023 08:21:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjQt62KRDz4Jbf; Sat, 9 Sep 2023 08:21:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZSp1/gx0KjIPAv+5F5WyzphGXgthtL/TRsDpz3FgWMQ=; b=dUoHFxrW9JZypRQ8h1XKKzZg1xMoXVnn3JevvXRTDk1LNR5fOXrWAFxmwS2G1muV3C9HwJ z1Hub9tDx34e+ZSANtnmBJ8ia2rxY0MMrsQkP1+9K8pxq5XmsBrVBr1SdqDA/VotHK4Ve7 Hus0iezCDT4F2vZYELpkRbldj5k5QJr7coAZ7xwH2njBfKX/wmsjPbz2CyKXuPzchNOcMq 0aOCyHrR4EFel5CPn6O5KBPdDlvRApWLrLZuxIMpHWPFzX6M6fZ/YTjdXrCgZ6jB2YA7aZ TZXXc7hKiXBWIC7sFKIYVSnjxAEk9cORxMwE+h7twVRBf3VIq8/kPPvnIUCGDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694247678; a=rsa-sha256; cv=none; b=PvAR1iT2bGMILW03Om2k5dRvauN7veDc2V+LSz7lfg2Oilo2ubINXsF53nNkTjMxZr1u9I XZgU1fb5UV3c6GWWhibbwT6s7C8ZuyPs1TOnF+TCjwYSSkbrjkqWx/FVTRQfuSCLhghKXB uZ+zmIiD8L1MpvdzOq6KOv+iqgJNqPUB6CIr17fgxi+TLbOk2TwZ+a/f1SXtX2MIKXH6pa zJqW1PxzPCPYpi50qgtVS9raly/I7gdiEu8hXsbsQGJSj19grF9Sfhq15med6w/VleCd8x OeNc2FAlAPVcWDjJzwfqzvGPjWxOAXlQz1cfdLPXEH1LQxnNzJaKiCdPjFyIMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZSp1/gx0KjIPAv+5F5WyzphGXgthtL/TRsDpz3FgWMQ=; b=B12P+CeMe2OCVrFO/MRshnUHwt9yqLwb4bp8cNAjhRPy5B1fWht8DK4dJCiDbAzKMjs8XB cy5xng1zVRtR4pWEApWarsQjPHPnkkhmiqIFQ1so8MLfe2wS5wJPf4upCMlIoaT34OaweE tZTr/x/irx92ewDffxQSscRrNKey8nVzpHPjJV+hx7162DFYuxWsx1CHHaG3ZptYSFtRI+ RtXZ6yrJVXcyTi9URFVqhHdZlK5ztv1XIYtw8reaqGrXZrFmRB9YWx3zOtNcKuVsyNmPeF a9yfQDFOIy+lthQmTAy7M8pv7deWphHF7sglNzfn6bCiNIaiGe73LO26j/KbPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjQt61LjQz30N; Sat, 9 Sep 2023 08:21:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3898LIY2046828; Sat, 9 Sep 2023 08:21:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3898LI8d046825; Sat, 9 Sep 2023 08:21:18 GMT (envelope-from git) Date: Sat, 9 Sep 2023 08:21:18 GMT Message-Id: <202309090821.3898LI8d046825@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 242fa308f3c3 - main - carp: Explicitly mark tunnable net.inet.carp.allow with CTLFLAG_NOFETCH List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 242fa308f3c3def32b2e61e0b78c11b3697e4492 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=242fa308f3c3def32b2e61e0b78c11b3697e4492 commit 242fa308f3c3def32b2e61e0b78c11b3697e4492 Author: Zhenlei Huang AuthorDate: 2023-09-09 08:10:32 +0000 Commit: Zhenlei Huang CommitDate: 2023-09-09 08:10:32 +0000 carp: Explicitly mark tunnable net.inet.carp.allow with CTLFLAG_NOFETCH With recent change 110113bc086f, a vnet tunable can be initialized when there is a corresponding kernel environment variable unless it is marked with the flag CTLFLAG_NOFETCH. The initialization may happen during early boot(linker preload), at that time vnet0 has not been created. The hander carp_allow_sysctl() for the tunable net.inet.carp.allow requires vnet, thus invoking it during early boot will cause kernel panic. The tunnable is initialized by vnet sysinit routine ipcarp_sysinit() so let's just mark it with flag CTLFLAG_NOFETCH. No functional change intended. Fixes: 110113bc086f sysctl(9): Enable vnet sysctl variables to be loader tunable MFC after: 2 week Differential Revision: https://reviews.freebsd.org/D41525 --- sys/netinet/ip_carp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 28c1e535b783..e8ed6afd3853 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -239,7 +239,7 @@ static int carp_demote_adj_sysctl(SYSCTL_HANDLER_ARGS); SYSCTL_NODE(_net_inet, IPPROTO_CARP, carp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "CARP"); SYSCTL_PROC(_net_inet_carp, OID_AUTO, allow, - CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, + CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NOFETCH | CTLFLAG_MPSAFE, &VNET_NAME(carp_allow), 0, carp_allow_sysctl, "I", "Accept incoming CARP packets"); SYSCTL_PROC(_net_inet_carp, OID_AUTO, dscp, From nobody Sat Sep 9 08:21:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjQt755cxz4sKsb; Sat, 9 Sep 2023 08:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjQt73PLxz4JfW; Sat, 9 Sep 2023 08:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ibniejqcuEIxsrW1330K1chSt4xK+dIN1IShVGaCdSg=; b=ObiV4B0hYs0pYPXV7uHg8bE7mgHEu54Jw5x7JJpgo0dxNjKOseDoBBCHNOqiqfeAslZLPd IQRLqfFrhCvxbyf1gfhQTGiZW3ej+4OEZaNgY0AhYw0ziZ+vxmriIHgu9Wol47B3fsHBYl cXeQ4Ra//KFAONIZSbUk+MNSojESt7ZJlPE0iPqzD1T+K5VkrvxIaVqISe1Xg3M3ZTU8Ok owHr2kOd7h/InTaXtxlwZ6zo7aaOr16Sv/jZbEOK02LGQMusLVp13i8tC+IexdNj2P0FDz LCYaOiGoQkSCajswY4lhvoysiE2OrpkkKtJUArAmofKfkTIZ966JWgOOtp+Vvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694247679; a=rsa-sha256; cv=none; b=YMC70YzmcvDEQqP+OPEoxi87+ebqxaYV+7+qFny6uuqDgm3RnsE6XwsJgvW5bdziG1yJPM LTme3hKfjeGVwHHLXSTm0fPHNxA10OF5nQ6bivek1DpWGVPzIMmlVPvitJ2PaDfKdKa0gz 26C8o2xDN20i3ACA1hc5s7RGP5i/vktaFyyU7dwammlACQafeRD4n+hbjiEbUqAGK79OFy OTqtuaFzwMMaViJH1bb9tVu39SE6UYy0VmO663NrTJDVG/X3JpBwTOmI3UxwKY18pvgbFD ul4PfqFufTdFCG7d0EC/t6nIZ8ChEMgrc2hUhZ0bdqVGxC6O//Es5SAyFATnNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694247679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ibniejqcuEIxsrW1330K1chSt4xK+dIN1IShVGaCdSg=; b=F3kXzr+dvozcSVUaD6nuCPi4sm5t+/EYdu2/B6obVSNsvbU99pO7j+V45gYep+TMuNWBCX U4Nu+5Ak/2/i+vccUyEUy75lZIwMsRRqtff/in5eEOwaaHjMgCnyzFHSnZUk3zlR8n2vH7 W1dS50EDTTmzEQf6xVUA4icGbsHVyBaH8CikkjyCf/oYAvryVifAFaCnYVHy8ikNEg0S8P AXN4KBXZbOv1OB6oRY/iA5tdIpm6miigwj0gv7bbLLXY0D1Uv9bSjpV9nsk1ch7iU2k5sM RXdtKfZ0DPJXTauWnk8wbG8lcObJQ9U/gGBNI7mvjUv0M2j9h7XO3CSvdUCb2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjQt72PSNz30Q; Sat, 9 Sep 2023 08:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3898LJYj046894; Sat, 9 Sep 2023 08:21:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3898LJE1046891; Sat, 9 Sep 2023 08:21:19 GMT (envelope-from git) Date: Sat, 9 Sep 2023 08:21:19 GMT Message-Id: <202309090821.3898LJE1046891@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: c1b26df2972d - main - UPDATING: Document the change that enable vnet sysctl variables to be loader tunable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1b26df2972da98b56cfe7b2c1f5b09ab9e51a05 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c1b26df2972da98b56cfe7b2c1f5b09ab9e51a05 commit c1b26df2972da98b56cfe7b2c1f5b09ab9e51a05 Author: Zhenlei Huang AuthorDate: 2023-09-09 08:11:24 +0000 Commit: Zhenlei Huang CommitDate: 2023-09-09 08:15:27 +0000 UPDATING: Document the change that enable vnet sysctl variables to be loader tunable --- UPDATING | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/UPDATING b/UPDATING index 3b056eec8227..b370f2f3ebb4 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20230909: + Enable vnet sysctl variables to be loader tunable. SYSCTLs which + belongs to VNETs can be initialized during early boot or module + loading if they are marked with CTLFLAG_TUN and there are + corresponding kernel environment variables. + 20230901: The WITH_INIT_ALL_PATTERN and WITH_INIT_ALL_ZERO build options have been replaced by INIT_ALL=pattern and INIT_ALL=zero respectively. From nobody Sat Sep 9 14:13:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjZj06BCNz4spSr; Sat, 9 Sep 2023 14:13:56 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjZj05kjtz3NpP; Sat, 9 Sep 2023 14:13:56 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694268836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GDvGDk/QaXmyusErHICrMEDARA6phzrBGIV7VddHhMA=; b=gOpMjkfeOzCgWasdiyzeDdCmufGHfD0qXA3ko8uFl8IxdbS9uRg9Nq2ue4z8X7AGl8B36Q 0bGdb9ro/t8RF3fvbBK0k73e3l24eeoiincuM2WGNLHscRkeKOtEIwkOLBm+DBshtAQXsF bcwa9hJLt5ZcWhihjiVO6GpE2hrpGJSp8iLm55gM3hyzX/1dFYIOQ+YZzDF69UR8ibKmnr ZyAjgrwXh5AbDPc9xlujGvOIvN/aRvE3mnYWKs1mpt1dgDkw/hOTmqSxOKTxb4bu1vggu4 B5VSrqZ4Wzs3snAcrLhFbZQMwh/8YLR57AkbFD0DTWh75t9UUHeBgDKHObQvMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694268836; a=rsa-sha256; cv=none; b=fZOWW6E8PZqfY6gOEqNtvXEQMK6PD2TzmwffODXALcWgqaxueRfflg9ngTOpGgtxnL/R0j ywgWek3pzW4wVbrFQPMmhwRbmKJTj2FREOw+u/8DFl06FIQcBW5padUzu1ivDEqdK0yyFD 1o5onVvC0extsuqiLbqUJdFZ4DvVdFGc6UJTjuMsnS1QW60yuSSQKSzIDoqO/chk3X2PXW ApfkApcfE/E5JFUp5TP04Hi7Mc8yt5oJ5vpA1GATD3hCUtYufqGF5p8qFpHNiKt9rQDjQ5 YTB789DC+mp420Cg0YZZVrgLVr/j93E8/1s8sfk/geTuJtQq7HCw1hM7URPrwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694268836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GDvGDk/QaXmyusErHICrMEDARA6phzrBGIV7VddHhMA=; b=gb+hPaxlOjGaErrbZgn//1M8WUODSKVoT3tsyRt2JozITjbgQfKBj9jEjnPlTOdt++kZdu pr7S91kUz/+JZE/UrNywqO3RHS3Y3rDjGhFYMYDx0j3yQJj/y1oh997saaZI2BNizEx2iU iyTpBirYRHkOZf+ziTr5XoVjVdmBa9ZsAbeEhFdFpS5UG/8bNaBC4JQ1VJKiEHtGtBBrY6 bkYRD1m1dKcH2uoOh0hAqHa7DiO8AN9X2vi8xIwf/p8aUxs9mj0SLNp/fJcbK/NXRzSBmO tE217pqL7qgLdguuerjWh2sIrC+HHvlBYQ0ukvjCnXjHOWRpgI/hanQvjrfrHQ== Received: from smtpclient.apple (unknown [IPv6:2001:19f0:6001:9db:98f0:9fe0:3545:10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RjZhy58Yqz17Sj; Sat, 9 Sep 2023 14:13:54 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_CD835773-8AD4-41BF-9806-5410F5B78A3A" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.4\)) Subject: Re: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs Date: Sat, 9 Sep 2023 22:13:46 +0800 In-Reply-To: Cc: Colin Percival , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Brooks Davis References: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> X-Mailer: Apple Mail (2.3696.120.41.1.4) --Apple-Mail=_CD835773-8AD4-41BF-9806-5410F5B78A3A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Sep 8, 2023, at 2:19 AM, Brooks Davis wrote: >=20 > On Wed, Sep 06, 2023 at 06:46:59PM -0700, Colin Percival wrote: >> On 9/6/23 18:12, Zhenlei Huang wrote: >>>> On Sep 7, 2023, at 2:37 AM, Colin Percival = wrote: >>>> init_main: Record completed SYSINITs >>>>=20 >>>> When removing them from sysinit_list, append them to = sysinit_done_list; >>>> print this list from 'show sysinit' along with the list of = future >>>> sysinits. >>>=20 >>> So the `sysinit_done_list` is for DDB only. >>=20 >> Well... sort of. You can open up kgdb and run 'p sysinit_done_list'. >>=20 >>>> static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; >>>> +static struct sysinitlist sysinit_done_list =3D >>>> + STAILQ_HEAD_INITIALIZER(sysinit_done_list); >>>=20 >>> Then it should be wrapped around with #ifdef DDB and #endif >> I considered that, but since we're literally talking about 2 pointers = of >> memory I figured it wasn't worth making it conditional. >=20 > IMO loss of the run order in a dump was a (minor) regression so this > should be unconditionally available. No, we do NOT loss the run order. Given a kernel dump, we known its git commit hash, then the order of all = sysinit is determined, unless we have non-stable sort of sysinits. That is somewhat not as flexible as previous sysinit array, or current = `sysinit_done_list`. So IMO `sysinit_done_list` is still useful only for debugging, either = DDB or kgdb. >=20 > -- Brooks Best regards, Zhenlei --Apple-Mail=_CD835773-8AD4-41BF-9806-5410F5B78A3A Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Sep 8, 2023, at 2:19 AM, Brooks Davis <brooks@freebsd.org> = wrote:

On Wed, Sep 06, 2023 at 06:46:59PM -0700, Colin Percival = wrote:
On = 9/6/23 18:12, Zhenlei Huang wrote:
On Sep 7, 2023, at 2:37 = AM, Colin Percival <cperciva@FreeBSD.org> wrote:
   init_main: Record completed SYSINITs

   When removing them from = sysinit_list, append them to sysinit_done_list;
   print this list from 'show sysinit' along = with the list of future
   sysinits.

So the `sysinit_done_list` is for = DDB only.

Well... sort of. =  You can open up kgdb and run 'p sysinit_done_list'.

static STAILQ_HEAD(sysinitlist, sysinit) = sysinit_list;
+static struct sysinitlist sysinit_done_list = =3D
+ =    STAILQ_HEAD_INITIALIZER(sysinit_done_list);

Then it should be wrapped around = with #ifdef DDB and #endif
I considered that, = but since we're literally talking about 2 pointers of
memory= I figured it wasn't worth making it conditional.

IMO loss of the run order in a dump was a (minor) regression = so this
should be = unconditionally available.

No, we do NOT loss the run order.

Given a kernel dump, we known its git commit hash, = then the order of all sysinit is determined, unless
we have = non-stable sort of sysinits.

That is somewhat not as flexible as = previous sysinit array, or current = `sysinit_done_list`.

So IMO `sysinit_done_list` is = still useful only for debugging, either DDB or kgdb.


-- = Brooks

Best regards,
Zhenlei

= --Apple-Mail=_CD835773-8AD4-41BF-9806-5410F5B78A3A-- From nobody Sat Sep 9 14:25:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjZyh1cQwz4swwp; Sat, 9 Sep 2023 14:25:48 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjZyh19Y5z3RpW; Sat, 9 Sep 2023 14:25:48 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694269548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8nOX1HnKmktAJPhYdXT4bn7yKMgHoWWLMivI7OApijY=; b=Muti3JyfUVTNxNg2K66GebPn5FUA/NY/bUP5d0AVoY/bhlx/QtcubEFJSK+Yc5Qa9AxjAP GZA4KnnpuX8P9V/9YKY+h54tXrzk4fHnyNVQl9F2IuRTL7n30LObubL/oKGY5bjrfpAuFh 1GD8/jDmAOV+TDpAj1KRBYGQBN+49Rq56wS0EBG1oijsaAQEOttBTewIojyq3qd8IJ/ZSv 1eun8/xnVEfrZ6diSqCnfP0FMRuc9NS7Efcih+nOg6pITLnS5pDTVJdeLX7GHi/W+pC3zx ni3hm9V1Zf4dGsIFA8mUlkhmaoMMCmrnff7swiynFeSaoceCku7GKTB4pvC3PA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694269548; a=rsa-sha256; cv=none; b=ru0mhRm3YEi/5ZFRmYFamxRwcwMkCOMFkLYd6VXv2st1tjT4h7vOK3ixgCqYWq1IsrgfTA BhoMw0lNxD9nTDmzKf4LKp9QQvY2YXnP6v/IjSVCuJAwzf3N1SkOncrSFxiikU28MIdvtf X5si17pj9Xvu2/gZr6XuocVy+W8XETnz+BgMCvazLH/G7GjizGA6KxIp3UoWfvaeLuxFui kLxzLBYJ89+lbeO08QBFg1qp2lkYh7v+6U867P1I2X1uhwTCBVH50ihjP2cQUQCH8NFVjF zCkBhpfpw/68us92eP471N/p2xtx0XWQeDmPYSYUdWDIpb1rLPLpzXutiULU2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694269548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8nOX1HnKmktAJPhYdXT4bn7yKMgHoWWLMivI7OApijY=; b=Q9NiS63gSrdVFdXaaYuXsygrhv13dQb6Zt1H1K3xHJliDpqQ8n7x5Q1TXHmotewPmaP3+E 9lew46N1M7z+wHnPvajvpJvRC03nKwq4pYEe6MdG+F2/9xt2UHzYnnDDQtNBL0NpNxJrxi eyERgOd+vDDhS5ZhOf/MUv9mfMqs+/mWA8+3MgN66Ij0kzPzTf6jMiDnRYGZqT/AAFdeXI nhlp/c4s/w71sGT0w6QqzywPtNKeQBQyuBuSUjfZ4ij6Hqryx1fIY4oBDMC20coRmPhh1U BvixEslTYlMuIq61tbIqsioivfXZl9dx7DkPVlK+SlzUhcYPjefd62+b/G+38Q== Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RjZyf0pL8z17w6; Sat, 9 Sep 2023 14:25:45 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: <095B47B6-A6EE-4AC7-A91B-3E12E72B0CE6@FreeBSD.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_4172FBA6-63CD-4596-B5A3-95D6667CC331" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.4\)) Subject: Re: git: 1926d5cef6ea - main - init_main: Record completed SYSINITs Date: Sat, 9 Sep 2023 22:25:39 +0800 In-Reply-To: Cc: Colin Percival , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Brooks Davis References: <202309061837.386Ib5AK086264@gitrepo.freebsd.org> <5BC96D9F-E4C4-4D34-B7B3-41576AD296DA@FreeBSD.org> X-Mailer: Apple Mail (2.3696.120.41.1.4) --Apple-Mail=_4172FBA6-63CD-4596-B5A3-95D6667CC331 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Sep 9, 2023, at 10:13 PM, Zhenlei Huang wrote: >=20 >=20 >=20 >> On Sep 8, 2023, at 2:19 AM, Brooks Davis > wrote: >>=20 >> On Wed, Sep 06, 2023 at 06:46:59PM -0700, Colin Percival wrote: >>> On 9/6/23 18:12, Zhenlei Huang wrote: >>>>> On Sep 7, 2023, at 2:37 AM, Colin Percival > wrote: >>>>> init_main: Record completed SYSINITs >>>>>=20 >>>>> When removing them from sysinit_list, append them to = sysinit_done_list; >>>>> print this list from 'show sysinit' along with the list of = future >>>>> sysinits. >>>>=20 >>>> So the `sysinit_done_list` is for DDB only. >>>=20 >>> Well... sort of. You can open up kgdb and run 'p = sysinit_done_list'. >>>=20 >>>>> static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list; >>>>> +static struct sysinitlist sysinit_done_list =3D >>>>> + STAILQ_HEAD_INITIALIZER(sysinit_done_list); >>>>=20 >>>> Then it should be wrapped around with #ifdef DDB and #endif >>> I considered that, but since we're literally talking about 2 = pointers of >>> memory I figured it wasn't worth making it conditional. >>=20 >> IMO loss of the run order in a dump was a (minor) regression so this >> should be unconditionally available. >=20 > No, we do NOT loss the run order. >=20 > Given a kernel dump, we known its git commit hash, then the order of = all sysinit is determined, unless > we have non-stable sort of sysinits. >=20 > That is somewhat not as flexible as previous sysinit array, or current = `sysinit_done_list`. >=20 > So IMO `sysinit_done_list` is still useful only for debugging, either = DDB or kgdb. Think about it twice. End user may have custom kernel config. It can be = much useful when this system=20 has buggy sysinit order (not caught during dev / test), then a = `sysinit_done_list` can ease the debugging greatly.=20 >=20 >>=20 >> -- Brooks >=20 > Best regards, > Zhenlei --Apple-Mail=_4172FBA6-63CD-4596-B5A3-95D6667CC331 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Sep 9, 2023, at 10:13 PM, Zhenlei Huang <zlei@FreeBSD.org> = wrote:



On Sep 8, 2023, at 2:19 AM, = Brooks Davis <brooks@freebsd.org> wrote:

On Wed, Sep 06, 2023 at = 06:46:59PM -0700, Colin Percival wrote:
On 9/6/23 18:12, Zhenlei Huang wrote:
On Sep 7, = 2023, at 2:37 AM, Colin Percival <cperciva@FreeBSD.org> wrote:
   init_main: Record completed SYSINITs

   When removing them from = sysinit_list, append them to sysinit_done_list;
   print this list from 'show sysinit' along = with the list of future
   sysinits.

So the `sysinit_done_list` is for = DDB only.

Well... sort of. =  You can open up kgdb and run 'p sysinit_done_list'.

static STAILQ_HEAD(sysinitlist, sysinit) = sysinit_list;
+static struct sysinitlist sysinit_done_list = =3D
+ =    STAILQ_HEAD_INITIALIZER(sysinit_done_list);

Then it should be wrapped around = with #ifdef DDB and #endif
I considered that, = but since we're literally talking about 2 pointers of
memory= I figured it wasn't worth making it conditional.

IMO = loss of the run order in a dump was a (minor) regression so = this
should = be unconditionally available.

No, we do NOT loss the run = order.

Given a = kernel dump, we known its git commit hash, then the order of all sysinit = is determined, unless
we have non-stable sort = of sysinits.

That is somewhat not as flexible as previous sysinit array, or = current `sysinit_done_list`.

So IMO `sysinit_done_list` is still useful only for debugging, either DDB = or kgdb.

Think about it twice. End = user may have custom kernel config. It can = be much useful when this system 
has buggy sysinit order = (not caught during dev / test), then a `sysinit_done_list` can ease the = debugging
greatly. 



-- = Brooks

Best regards,
Zhenlei



= --Apple-Mail=_4172FBA6-63CD-4596-B5A3-95D6667CC331-- From nobody Sat Sep 9 17:14:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjfj13kJGz4sBZy; Sat, 9 Sep 2023 17:14:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjfj13Hrnz3SWC; Sat, 9 Sep 2023 17:14:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qvZ+GEaJxZ80qX0ct+swVrRNaAc/x+ARGnR/YsOq91E=; b=GW+01O503co1gXZ7FSncN0IDHy3MLEDLFP9fgNWOpPxxkRGa5+PHn78SAn2X5XIxAXxvZz GnWkCDv8tijx5idS0E7PrtbGfoXCpZLVUyg7CDZ/wj3LRIUOHvAR9+DwppuOAItAgAcIEd 21peIdHaFESWW85yN0b7T/zV3v9lXu7eYQo/po3icrumXfZISBkVunqvBCkidP8exXwycA zmlENylqtuXv1Sg1Ethuiu3/ehHw+PA8gn6WEMWhpVCjsKggBtNNeYDoo9/G2J48v8OfOV sFyXvxoHfOwR62Yjlrsev0Z1z8ndlCGEHttTtzCt+pP7x9lHk50LtGmE2uJtTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694279653; a=rsa-sha256; cv=none; b=PcIHWeZGV3oVo50F60WAxkLX/9NqMgE0VemF0J0s99q46HuJCx3u4+L+z/Cx9Xi+po3EZx mpvjs429cJyRxQGBSt95M3UcSDBDGX2HZeX9eaZ4tVJneJXFIf6sh30F4WMvBTEtuSAR4r 4BSmpjPolPzHWkmGrkvTaJG+8uP8l3Z3qMaopbc9QQaieXBo5K7mZhK3WlezY7kGFkzt5g SZLTBlwXNLLkUQXgvqbwz5WJF0QllZOPDqDSFnV+dofhEZu0j7P+rLseLSXFen7nrZMJje /cEA1/tvXp/0EgllOdQEE21x9OM8ZD1XnKivgZXcuwOnx2dUzEu2LtALWyzEiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qvZ+GEaJxZ80qX0ct+swVrRNaAc/x+ARGnR/YsOq91E=; b=LjM6F2V9W9DYu09GQpbT5JhRwDMvPZl5b6o/mkIi54SjrNzJjaA/x5olGhmeqSoQRt7Ja0 DjN6VsnFEUyUI+V1l7jCfQbDumU8zM3s7nEJmEPJA2YTrQfeziVqJwTwncl57Jm57RgVFh X95OJa8Gd4FwMxpTm6P71QBFf2cXiHmjhi2LVOsdrJQFuDSc4hKARNSSOBHyoBq/qbg3h2 /ZEBbpBpgnkZqp8lxArS09DV45OF0bPEts2IxbmX+N7DY+Q9asWkG0doOqK0Silppaf0ou X+oTYmMfLoUt4zr9Eudy4hjHqZxh3X8tcYnN1vFLk8nH8TqZuXwDlAJ4uocJYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjfj12HjpzYgQ; Sat, 9 Sep 2023 17:14:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389HEDtu033967; Sat, 9 Sep 2023 17:14:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389HEDdm033964; Sat, 9 Sep 2023 17:14:13 GMT (envelope-from git) Date: Sat, 9 Sep 2023 17:14:13 GMT Message-Id: <202309091714.389HEDdm033964@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5657e065bcf0 - main - procdesc: Remove stray references to pdwait4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5657e065bcf06803b26f52b59ed2facd806c5efe Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5657e065bcf06803b26f52b59ed2facd806c5efe commit 5657e065bcf06803b26f52b59ed2facd806c5efe Author: Warner Losh AuthorDate: 2023-08-28 17:58:58 +0000 Commit: Warner Losh CommitDate: 2023-09-09 17:13:24 +0000 procdesc: Remove stray references to pdwait4 We've never had pdwait4, and have no plans of adding pdwait4. Remove the stray references here. Sponsored by: Netflix --- sys/kern/sys_procdesc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index ac94c3b44730..16d9de008d96 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -55,8 +55,6 @@ * generate SIGCHLD on termination, or be picked up by waitpid(). * - The pdkill(2) system call may be used to deliver a signal to the process * using its process descriptor. - * - The pdwait4(2) system call may be used to block (or not) on a process - * descriptor to collect termination information. * * Open questions: * @@ -322,8 +320,8 @@ procdesc_exit(struct proc *p) } /* - * When a process descriptor is reaped, perhaps as a result of close() or - * pdwait4(), release the process's reference on the process descriptor. + * When a process descriptor is reaped, perhaps as a result of close(), release + * the process's reference on the process descriptor. */ void procdesc_reap(struct proc *p) From nobody Sat Sep 9 17:14:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjfj24tK9z4sBWT; Sat, 9 Sep 2023 17:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjfj24GD1z3ShR; Sat, 9 Sep 2023 17:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78+i9tMpq5Wl2YGGtgMK0KPtTrTRHLed2+i8c5fHBzE=; b=GOrPSazTObnh4dO8xa4IIBnih9mELhQ7ntqVofypq3j3HoLUZbYxl1bCHmB04mfANFU4PM xufmfmFS8ItgmGnClIDE8RSmk+N3WiN1MRyN/YfpbbIV7+Ji6SMToU6cMiid2jbINI1/c7 F/Sr6YID0oOcA/VcYPHcePFLRYztHJdmaHUu2+UnimNHax9AihScgTrKHSxNOj1VVuyIxl 6kOr8889wHzICzJF9pjBJyIPBwgTSemu0MuuM4BPDSkilHcB0wdI/z3j70Zxa/hiypDZSl auPgB2rBkdVnq33W4jkBNXGOBzUUSRViWNZebWUnkiloH6S+i9MiiF44e3a23A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694279654; a=rsa-sha256; cv=none; b=p44BtGBNyR4JqN5njH0yUdFAZJWZRJPE5/+pY0x4KWSBM3rHx7vzyNTxaZtZwiZR2kKPTR EmgInq++3BFsywwEBNxPLx+uge9KHgW2gOqia8ZwsuQw/H161Fu3v2+iic9wJotW5T9o49 mDdgLcftYvGPj3jm9MSJ9USWN2YdEvoHxprxIhHkUY/NfhFaG7DWW2p4FwdN+K4X/q+qRc WgFjZdcFE0+6XZbsXOylZTTDjjKGkLzHf0ZKL34UXlpKQiHaprzbrvroByetVowFtcizDN zL1O30WZuWfJcGVXtSL+YgC1zT8V7/vO4tZtE5gBZhXUAoS963xNK7qWIVQcew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78+i9tMpq5Wl2YGGtgMK0KPtTrTRHLed2+i8c5fHBzE=; b=iT1juIRvhEkuQbGse2yc02pfDV6BjZMYdpyXfngHRX8PzuaOdQBvuXi8uEeHquXJrBEby6 Dg7KDAQKfYw4FqXyIgRV9dOxWEfDn0JPXwFWzoKysITlcCztlMqVURJq+pPwUUvgB+BKaC eW+jb2ljahqS4s+grWZ3ZzEf3LIDEMNsN7n3v0xk8pcaQ6Qr7xtcOZTw0cw4cQLswcTPuw sC/+T0Z6fGpZeR8Tbm/GB1chuv/IaPPNK2FTtmgv3VAffUFz4AQq77IKgHcR91KnkkfBM2 aQqWOFj9S9PIc43h12FgyZag+LBxqqXDo4ItTs2/iuxRe+yjWnqJ2GhWumsBtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjfj23HXczYpH; Sat, 9 Sep 2023 17:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389HEENL034015; Sat, 9 Sep 2023 17:14:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389HEE5u034012; Sat, 9 Sep 2023 17:14:14 GMT (envelope-from git) Date: Sat, 9 Sep 2023 17:14:14 GMT Message-Id: <202309091714.389HEE5u034012@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 4cd94c8afb31 - main - atkbdc: Add additional heurstic for Chromebook keyboards List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4cd94c8afb31965c7f18471eaa0b2d5e661c24fb Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4cd94c8afb31965c7f18471eaa0b2d5e661c24fb commit 4cd94c8afb31965c7f18471eaa0b2d5e661c24fb Author: Warner Losh AuthorDate: 2023-09-09 02:18:33 +0000 Commit: Warner Losh CommitDate: 2023-09-09 17:13:25 +0000 atkbdc: Add additional heurstic for Chromebook keyboards It turns out that that heurstic used to determine if we have a Google coreboot, and thus have the i8042 emulation bugs, is incorrect. At least one Acer "Peppy" Chromebook has an issue because Acer space'd out the smbios.bios.version string we're using as part of the heuristic. So, if the version starts with a space, then enable the workarounds if the smbios.bios.reldate is 2018 or earlier. While not perfect, it should be a reasonable dividing line and still allow newer core boot-based machines that aren't Chromebooks to not have the workaround. Tested by: Matthias Apitz Sponsored by: Netflix MFC After: 3 days (14.0 candiate) --- sys/dev/atkbdc/atkbdc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/dev/atkbdc/atkbdc.c b/sys/dev/atkbdc/atkbdc.c index 6168b389841b..c23afe3323cf 100644 --- a/sys/dev/atkbdc/atkbdc.c +++ b/sys/dev/atkbdc/atkbdc.c @@ -147,6 +147,7 @@ atkbdc_getquirks(void) char *maker = kern_getenv("smbios.system.maker"); char *product = kern_getenv("smbios.system.product"); char *version = kern_getenv("smbios.bios.version"); + char *reldate = kern_getenv("smbios.bios.reldate"); for (i = 0; i < nitems(quirks); i++) if (QUIRK_STR_EQUAL(quirks[i].bios_vendor, bios_vendor) && @@ -154,6 +155,16 @@ atkbdc_getquirks(void) QUIRK_STR_EQUAL(quirks[i].product, product) && QUIRK_STR_MATCH(quirks[i].version, version)) return (quirks[i].quirk); + /* + * Some Chromebooks don't conform to the google comment above so do the + * Chromebook workaround for all <= 2018 coreboot systems that have a + * 'blank' version. At least one Acer "Peppy" chromebook has this issue, + * with a reldate of 08/13/2014. + */ + if (QUIRK_STR_EQUAL("coreboot", bios_vendor) && + (version != NULL && *version == ' ') && + (reldate != NULL && strlen(reldate) >= 10 && strcmp(reldate + 6, "2018") <= 0)) + return (CHROMEBOOK_WORKAROUND); return (0); } From nobody Sat Sep 9 17:14:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjfj367Jfz4sBmb; Sat, 9 Sep 2023 17:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjfj35Wsdz3Sl8; Sat, 9 Sep 2023 17:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K49yICDNRYBchdbW0J9AeJtQtrOcHOXIyFjrgJjYHIk=; b=LiCQGI+SNknT2AeIbhJ9s6qJHC0j0+++l+v7I8eDW2BG5DY7ysfYHWShW5ZCu7thBKbf7/ 5uzDlCZ/+dtM/BJ754Y5OdwhBQo/HkRbgcsHhNQfvXDXK5Ftv8sPFGHhitzXcBzfMaJBE1 vXBUqBtadzWhuxRD5RnT1qghT1UBJHzp6SXr1ApTc5MtB+S+We1msQielW4jAazxDNSTNA 7QrcazbhyraMdJ06R0DoVR2lsZHk0RQPQbxvXCVJgNgyJUt/h4/HMnCJwgGuATwsjtxsHH cdWRynlQdl4iKbJiCzZdGXj0AOrD7YnKDFcOKBURSp/5cRGRigMY+ZCMk7EBIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694279655; a=rsa-sha256; cv=none; b=lJZYcPXOwO3QdiTrLjo5Cd9RlKHRMfnMZHDLIz2Wf3WasICQSyeApPziOQVLrhuI/b7YqN XclBuBKfWM0PXIUtcOCWacUfLEbPMR87xH1xe5ICzWT9TVyKDC1373/QhZ0kS77a73lBxG rll4kiD77BZz6t3ic5OsmpGiecV9TVDqHZRZD+fCsmWs0VCLDWTy1BBrS+z0GWXklHcjSl FfpcGKQKbem1+z1e/bS4avS3Gr22laQd7QLpnPY5p7pVEZJFawLXLmgrA8rB//aEw5c9Bt QEitakWlpxnKCj0K2nlWJzWf60pbvTrFD4OixSt6Fw7eGLyfO1HBUHnx7tCmew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694279655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K49yICDNRYBchdbW0J9AeJtQtrOcHOXIyFjrgJjYHIk=; b=BEiplk6FQQctP5C7CemRSexy7ANMTy0v4krGjk4o6xYs0aFKWaLj1Kq7R9+rjtlC7/ZU1d vGjjtfBUB0YuS8Na6vgiqnQUFglgXfHYrAH3l1oDWz8xvPtKgnTylod2Dfa3ZWviD4cvGk EYGtE8O1oPaLl6C9SQRafHpzmGJ2UID+zNzE61O5eD83EM24AksfdjGVQ5oXP//3aOmP8m LUid6zGNzdnF3bqWrfLzi0d1bG1KCzspOAhHrJCNm3Lobpn6HNnx+G/NMN+4RRTSaf/LzD m55fdWzjLd9sJs0PPAs/cfcq3AHsWBsL4kRbPqOpL8yL9MOYK4UUs2waFXzM3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjfj34VG5zYjR; Sat, 9 Sep 2023 17:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389HEFrb034063; Sat, 9 Sep 2023 17:14:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389HEFf5034060; Sat, 9 Sep 2023 17:14:15 GMT (envelope-from git) Date: Sat, 9 Sep 2023 17:14:15 GMT Message-Id: <202309091714.389HEFf5034060@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: c1944a82ae5f - main - cam: Remove extra break List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1944a82ae5f4f0a2cfe7d58896209a2e58a9743 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c1944a82ae5f4f0a2cfe7d58896209a2e58a9743 commit c1944a82ae5f4f0a2cfe7d58896209a2e58a9743 Author: Warner Losh AuthorDate: 2023-09-09 17:12:42 +0000 Commit: Warner Losh CommitDate: 2023-09-09 17:13:25 +0000 cam: Remove extra break Sponsored by: Netflix --- sys/cam/scsi/scsi_xpt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cam/scsi/scsi_xpt.c b/sys/cam/scsi/scsi_xpt.c index 2d93a7053183..9e936330fb27 100644 --- a/sys/cam/scsi/scsi_xpt.c +++ b/sys/cam/scsi/scsi_xpt.c @@ -840,7 +840,7 @@ again: } scsi_report_luns(csio, 5, probedone, MSG_SIMPLE_Q_TAG, RPL_REPORT_DEFAULT, rp, periph->path->target->rpl_size, - SSD_FULL_SIZE, 60000); break; + SSD_FULL_SIZE, 60000); break; } case PROBE_MODE_SENSE: From nobody Sat Sep 9 17:40:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjgHC2Yhgz4sTkc; Sat, 9 Sep 2023 17:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjgHC24y0z3cDK; Sat, 9 Sep 2023 17:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694281223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bD8qKEW1yPF/j7turKhntSCIOx1V7aJoTEls8T685AA=; b=kMV6VBJx7JwHKqwBKAAAnkmlj0GsmpDK1d3Vd1Tft7jcskQR2zWt1aKxcq3ASX1X/UTZnE w1sCQ+/TMi1XMYYlUkyzoAxwEkCDKfmQU68S2J4Z32jRUFYGyQX/oLVfHpeiENKcLPDw85 hIc2Jq1rNECxqXTYgFwKzlhSI4aR+XXxrxWBGk0PJVJCQGTWFev3s9BkDCm0eeGWiQHiZZ 3ymjsSWTxBHOQbLe+X2hb2aK91zF+Y171jbDlYYyICPIgTUuwqHxHbrG/QxxU+997YtndX nxW1Rl9JbV0QYY77YYJqEFzUnFOTKygk4fqpnnoH36q9ojni/EhyZv7q/fo5qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694281223; a=rsa-sha256; cv=none; b=vy+NQ1rxqX/XVViMHVbTfFcDuUooR98v/WqjINTDT5iD3DGVYvawFv59wfWLHkdzKAOCCp OhN3HWhRiFzNbw3C66RG4F+QescD4mZ9GOdItMkWmgxXcj5YUBblUZPzNXtOgLZkOh+OEW 7jS/YXkTPvxTYA0LOlKq9UE0dozmIL0cL8S/AxIMx8MFlJeGRTwaAcRAopskwCdoZlG+za ivWZ1mvT/q4Fb41pP6GefP5Efxrjj5hfDeHmAvc0XqwdphzCzZIDTXnwgpik9k12Eosof8 EoUdzHDHwwJvRhbKrdSwH6uCZJvUzt+KbF7181zdliOQ2w8KaDntM08fXB1pvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694281223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bD8qKEW1yPF/j7turKhntSCIOx1V7aJoTEls8T685AA=; b=YkBaFHTa7I8a+SBQkevrHp8AZt164it+ZgzmeHvVTtyqVS2CDzwe0npVSZXUwWBnn9EoBB ByuU3KfWLTyg9eD+uvPKzVn9XcVoLdiUVvCpjSL8SMgKBk8B537AhgrT2qdY6U7MnLlm0F Yc7nHRS0ZrP+6/b5tbR7kpvke3tkW7p1aL8z7ddNJibsoTXu6Am5oVWcO3hYJmT4J4YP5j LojVJhUspHJ0yHEa60f7qwf9FzjAV4LoIaalXOoKTivWbkv6n5kS+/W1BcoNtfzVkThmVb PoGs6IIb+bcvRQF5YkJoQgUjhEOsUipsnwRSLGgU52kzT4yXlcopqodOcBAEIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjgHC0kl3zZG0; Sat, 9 Sep 2023 17:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389HeMf5076101; Sat, 9 Sep 2023 17:40:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389HeMKv076098; Sat, 9 Sep 2023 17:40:22 GMT (envelope-from git) Date: Sat, 9 Sep 2023 17:40:22 GMT Message-Id: <202309091740.389HeMKv076098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 9888a79adad2 - main - udl.4: note that "device videomode" is also required List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9888a79adad22ba06b5aff17d05abac0029c537a Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9888a79adad22ba06b5aff17d05abac0029c537a commit 9888a79adad22ba06b5aff17d05abac0029c537a Author: Archimedes Gaviola AuthorDate: 2023-09-09 17:39:17 +0000 Commit: Ed Maste CommitDate: 2023-09-09 17:39:46 +0000 udl.4: note that "device videomode" is also required Reviewed by: emaste --- share/man/man4/udl.4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man4/udl.4 b/share/man/man4/udl.4 index fa6e96343a2a..b2cfeba2489c 100644 --- a/share/man/man4/udl.4 +++ b/share/man/man4/udl.4 @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd February 15, 2015 +.Dd September 9, 2023 .Dt UDL 4 .Os .Sh NAME @@ -22,10 +22,11 @@ .Nd DisplayLink DL-120 / DL-160 USB display devices .Sh SYNOPSIS To compile this driver into the kernel, -place the following line in your +place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device udl" +.Cd "device videomode" .Ed .Pp Alternatively, to load the driver as a From nobody Sat Sep 9 18:47:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjhml38q2z4sRrK; Sat, 9 Sep 2023 18:47:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjhml2kcDz4TVZ; Sat, 9 Sep 2023 18:47:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694285255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o9fJC64+BLQwsKXLqsaHE5o1ISBCZLI7Pls+sb2C2Rk=; b=Q2+WaoKKQcN6OxtJfEKDOIfIwnF3SxyHHOKr3jF3HtruO6P0/jafqq7Urpk1HSYTfxmG85 Jm5IUlUHZ9BCYW5qO8bqQb+xmTd05lTlb7F9plkNMZ0+3UVGJE7JXfLtlh6a3oC38i7fOZ Roi/WzN0FhlTTshjjWLOAq51c2Tf+Ywpp9KaRLCFCgC396KqxcRCorMF28Bh/TXDqsyBna ALe+KvmaRN2jS2xfLH4TBg+I+Wg4k5qawd68acvQP00Rf+zvBcfubrYO9pDvVDX6kx7y/N qafYlcpYAz26Sw5YPNZ11UDU6ZBCL0a37ddma+EDCVjZQEDNI0W35KRx7dm5MA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694285255; a=rsa-sha256; cv=none; b=vx2YsYnc2vrmr7OPXVlsVDHDCWtEfeJj29dBu23gPxqjcbQ+PLOZzZvWUIg4Cv8YICk3bQ xo/976418p5cFg258OxTTtv++mD7KV3GYk90vZLkzRT21CnuDO3k4kgyHVpLXFGSAWmbtg 40m4kL1ohtO+6UfMSFkN7uinGXsYIH8mNwQ7gOzNvyqB4VzridR1FRWI6RSANYtHBR1QtK LG5zQcdeCLxVxujWgif8uZ7HVR9cBHUgjOJuo/K7Wrz0Kbk9QOclVEUz01uSwZFDY6NThV lUOJe8ddvxmcsMkUGxFqBN3ksJrULYMbjXq98qKuxt+m0ivOrpemZRHo1XovMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694285255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o9fJC64+BLQwsKXLqsaHE5o1ISBCZLI7Pls+sb2C2Rk=; b=dPrThFPr1Od+ErDoFSoBbbKj/k5evfeBt+x1P/u6DozVKOhMnTgEBsXBaKusf2Ivf7tEpn K/RY/oGvYklhVkA0ZEsZk5u6a7O46xF7vtGeAz16wQ1CwiM48jzzXuPAnim1OnixIy8J1X sRv7NQ9Knm3qEIehm1qAC3Bt56k/JPFP/FdKyxNlgOkAMVs7zauYbK38ZZhGKziCAv9Lqh BnA9gPnq+WIXL+bxgXcHUOOt+rTUo6j/BXiQbATtFLhAyDCCGC9BVDjE/ilvCFkuVlL0J+ IXlcP7ekb9YbiuZP+kUW32QzRz1WcfDTCOUjQTI95N6dglCS2kywa4k/yzpTFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjhml1qFZzblb; Sat, 9 Sep 2023 18:47:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389IlZpq083351; Sat, 9 Sep 2023 18:47:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389IlZed083348; Sat, 9 Sep 2023 18:47:35 GMT (envelope-from git) Date: Sat, 9 Sep 2023 18:47:35 GMT Message-Id: <202309091847.389IlZed083348@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 98b98ec1bc7e - main - ftpd: add deprecation notice List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98b98ec1bc7e961c3d3468b0e481080580c902cf Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=98b98ec1bc7e961c3d3468b0e481080580c902cf commit 98b98ec1bc7e961c3d3468b0e481080580c902cf Author: Ed Maste AuthorDate: 2023-09-09 17:34:14 +0000 Commit: Ed Maste CommitDate: 2023-09-09 18:46:58 +0000 ftpd: add deprecation notice Approved by: gordon Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26447 --- libexec/ftpd/ftpd.8 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libexec/ftpd/ftpd.8 b/libexec/ftpd/ftpd.8 index c45df161575c..f5353be894fe 100644 --- a/libexec/ftpd/ftpd.8 +++ b/libexec/ftpd/ftpd.8 @@ -43,6 +43,16 @@ .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl u Ar umask +.Sh .Sh DEPRECATION NOTICE +The +.Fx +base system +.Nm +is deprecated, and will be removed in +.Fx 15.0. +Users are advised to install the +.Pa ftp/freebsd-ftpd +port or package instead. .Sh DESCRIPTION The .Nm From nobody Sat Sep 9 19:14:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjjMY6Bh2z4sjW9; Sat, 9 Sep 2023 19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjjMY5mRrz4dFF; Sat, 9 Sep 2023 19:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694286857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+ynq1+Cx42Ca6PFnEp2YUfYGyHxLQfj9JT7yBdu6SU0=; b=oZADfjQSsRPKYpj53iwo/O1AuMqyBXPVQZorfPPC0A7U/iVVXxyVUFQTfe3aard1Gfb3X9 EkMncQk8YVyF/6XrD11RjgzkTH4VHMulYOSME1v1OYTGln+/Y2yBZnsQVhsKduEgkNXa2K CnwwS+V1jLRJhjy6XDvLX6BRYrH31tOeBMA9pXqDiuCiUUZK+HzlZk6pOL841XmNSbcui3 jlaqEU/j+RsYm7Rb6d7V7TAqzDgnJ1bzkCrvV8i7vJYHVTe3RqTIFRUQs3qkhzE75AjOJ+ STW/cuYJAD/B0giFGS78LekUhEUhghEbgkobC4zjHVv5RGLad2RL54OBGx0fIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694286857; a=rsa-sha256; cv=none; b=JJYSgnnSywYkQs2ssyinXzrFRVjbiqGVlAUeWbgI3anij8P+dCJ4hD6GXXdQcQAGDtTzFO bqo08fny+OJmte1Ugag3YNcM70OodJy0I1BNs30bpMoPvvaq0uMItRpwsDvrtq9CbMyAZy H96DbFPwgZjKJbSIehexcvXcv2efwjsJYy2QBXR09HaEKv+QIy/4ay5J6u3lSJKrFr4pHF uodLGOvNy6aVI23Z7B4goh4cjta31IjdozLrkzB18kTOyD+RglbVz9C6bULoExb4lyMlWQ +S/4HMehh0wj/lnOru1J8xZeR9i0knph5Wtc9dthZ+gkdWOB51atPofnEJMcgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694286857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+ynq1+Cx42Ca6PFnEp2YUfYGyHxLQfj9JT7yBdu6SU0=; b=AYhdJsn7JGKZekY4lK1BLk8YQuNh6s3wrSZUX9pqfYBxnd5ZtviMWbkizNxvev3QJ6oSgg a4aNGBv3VcCRy/uFZplNJ2P5YOM6Hx5QW5zIkaI4mMTjO7dN2h3rvLDjRRIJCze2PU7oz9 iAwCtT28+UddDIP3ZqWxXk6kAviBts787ZWT0RTtXqYym/1kMoKHmbxFUwIify8gAdYs3n zOIpr6UddGrn1GAHr/Zu59MJYvnigHhaeuyFw3R/Xv/zwExHMT8Gkqr4YeJMb62yT/wDhs ofLNrKb+jXJ7tr/baBF5DdhSDKGIpkEFjuJWklR62SWxwghsAu9ulkekUW/0/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjjMY4dbDzcX4; Sat, 9 Sep 2023 19:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389JEHCp033490; Sat, 9 Sep 2023 19:14:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389JEHGW033487; Sat, 9 Sep 2023 19:14:17 GMT (envelope-from git) Date: Sat, 9 Sep 2023 19:14:17 GMT Message-Id: <202309091914.389JEHGW033487@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: d0af08c4ba3e - main - gic_acpi: Limit the number of CPUs to GIC_MAXCPU List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0af08c4ba3e400049d246d72401ce36d3bee98a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d0af08c4ba3e400049d246d72401ce36d3bee98a commit d0af08c4ba3e400049d246d72401ce36d3bee98a Author: John Baldwin AuthorDate: 2023-09-09 19:13:57 +0000 Commit: John Baldwin CommitDate: 2023-09-09 19:13:57 +0000 gic_acpi: Limit the number of CPUs to GIC_MAXCPU madt_table_data contains an array of pointers for each CPU and was allocated on the stack. If MAXCPU is raised to a sufficiently large value this can overflow the kernel stack. Cap the stack growth by using GIC_MAXCPU instead as for other parts of the gicv1/v2 driver in commit a0e20c0ded1a. Suggested by: andrew Reviewed by: andrew, emaste Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41800 --- sys/arm/arm/gic_acpi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm/arm/gic_acpi.c b/sys/arm/arm/gic_acpi.c index e18bc12faf4d..56ff78f9b685 100644 --- a/sys/arm/arm/gic_acpi.c +++ b/sys/arm/arm/gic_acpi.c @@ -84,7 +84,7 @@ EARLY_DRIVER_MODULE(gic, acpi, gic_acpi_driver, 0, 0, struct madt_table_data { device_t parent; ACPI_MADT_GENERIC_DISTRIBUTOR *dist; - ACPI_MADT_GENERIC_INTERRUPT *intr[MAXCPU]; + ACPI_MADT_GENERIC_INTERRUPT *intr[GIC_MAXCPU]; }; static void @@ -107,7 +107,7 @@ madt_handler(ACPI_SUBTABLE_HEADER *entry, void *arg) break; case ACPI_MADT_TYPE_GENERIC_INTERRUPT: intr = (ACPI_MADT_GENERIC_INTERRUPT *)entry; - if (intr->CpuInterfaceNumber < MAXCPU) + if (intr->CpuInterfaceNumber < GIC_MAXCPU) madt_data->intr[intr->CpuInterfaceNumber] = intr; break; } @@ -151,7 +151,7 @@ gic_acpi_identify(driver_t *driver, device_t parent) } intr = NULL; - for (i = 0; i < MAXCPU; i++) { + for (i = 0; i < GIC_MAXCPU; i++) { if (madt_data.intr[i] != NULL) { if (intr == NULL) { intr = madt_data.intr[i]; From nobody Sat Sep 9 20:52:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjlXq53V0z4sR5h; Sat, 9 Sep 2023 20:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjlXq3BxQz3bgM; Sat, 9 Sep 2023 20:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694292747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9POF+bgudpOJJDTO27Oplouju6KOXVsfePCQO76rEA=; b=JC6P3gc0+NLJDrmJazK5mxxG18660jgc90u7/Td0XK1QGHx13CXfcFgE+I6ge71f2hrp6n NrzaVMNKxDnviGPvqcasSAf647SiypfDtlfbSPvIJ2e9MSJRcGo9vPSyqHlHLOpzr2qdRl wu7D98O6nlag6JRkL3TBKfXoy+Fs0q1mEOTl3yZe5lCquiV9ihalpArMYjuDmwt9ChJh8B t5JsdABPjjcNvB5l/wm2lzKP9T5E5lQKIvqQ1PYUkp7OmiZfAhIV/KzL/vZaycbnN53SQ8 N561cdjRT/XFT72AX/uMU72l7ex+2c0NCrsSEf4bySJV6z4/xLHf2aZkLPnu/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694292747; a=rsa-sha256; cv=none; b=tppSekKxTd1kQbttm4P0gN60uqwu60MDIZ09dZx5DnAICIQhjq12QU5q6F34nWeiJFOryq 8m7ntDB1TJL5WaVWf4wy4eWjcCrR9pViwz5+6Le0Z3wGujW5Y1TJtMITpvLyZsGuJn8Up5 QZ6vBYwQERqIVI9xWbVqDiKgaYxFnc5B4Ys3vHb9iLC8oobS9+9w+P7BBXNMiZB74PHCsb igcMFx/HuckSpT1yK3jDVXtX11XvenQ63pHIXmogDwIropKGQvfKaLbnusFWjYAptoXMoA GbCUaFopJMO7uiq2E0UjkhtTXRANzYJoZs+ftLpgJkV0PwD57eeMRLXLNU0ARA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694292747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9POF+bgudpOJJDTO27Oplouju6KOXVsfePCQO76rEA=; b=UyafwhOmp9AOrkaeSV0ayJTutqCu4j7N+SYOjpciIzIbBEFTbgbb5Qqzwxj+UpC93tFq/9 eN9gvPzwfOgHp0AVCqgWfM6mnVhrYyBVA/FWNQtmTCsKV6mZN6jFJRF6MOBxPg30ocJlb5 o097dkcumo+1tWm/sN7d76p16Fht2f06iNSBp0Weyfx0/BPZ1zdScDsKnJFQrvL7HaYCXO MBoHiksi41UuwUlG1pqnQg8fnb3e6Cl4eHUhDp1BnQkmCQZRyjwk/0KcCkw3dOjvC8OIDm 1wyfkkkKYHU2z6rVpJ3/kkEBU0v4lT2vu34xEdYRGeuGrPj22HVpwzh2eNixzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjlXq2FXKzg9Q; Sat, 9 Sep 2023 20:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389KqRKm098033; Sat, 9 Sep 2023 20:52:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389KqR2U098030; Sat, 9 Sep 2023 20:52:27 GMT (envelope-from git) Date: Sat, 9 Sep 2023 20:52:27 GMT Message-Id: <202309092052.389KqR2U098030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: ef545fe7ba66 - main - drm2: fix build after abs64 became global List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef545fe7ba6628054765c81624bb5f95884d45f2 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=ef545fe7ba6628054765c81624bb5f95884d45f2 commit ef545fe7ba6628054765c81624bb5f95884d45f2 Author: Mateusz Guzik AuthorDate: 2023-09-09 20:50:55 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-09 20:50:55 +0000 drm2: fix build after abs64 became global Fixes: 229c65a83fb ("kern: Globally define abs64") Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/dev/drm2/drm_os_freebsd.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/dev/drm2/drm_os_freebsd.h b/sys/dev/drm2/drm_os_freebsd.h index 7f5bb22aff03..0ce0dede6d73 100644 --- a/sys/dev/drm2/drm_os_freebsd.h +++ b/sys/dev/drm2/drm_os_freebsd.h @@ -304,13 +304,6 @@ ilog2(unsigned long x) return (flsl(x) - 1); } -static inline int64_t -abs64(int64_t x) -{ - - return (x < 0 ? -x : x); -} - int64_t timeval_to_ns(const struct timeval *tv); struct timeval ns_to_timeval(const int64_t nsec); From nobody Sat Sep 9 21:50:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RjmrL1kX9z4sy2b; Sat, 9 Sep 2023 21:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RjmrL14MGz4QGT; Sat, 9 Sep 2023 21:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VB5ssB65fQ24XC4Tf5DaVh28twdI4zKexMZLqkeR4Wg=; b=IbRzrvvI+EdkKrEPByLOstrqsfX5y3vXKDnVblIHb3LuRK2FwTwGDR7unB6Tksb6pM72Fm WOSnMuPL1pqjWCrsUPCMvFNDcujuDcgQvR/whDa4UQu01JZo/oFe5HS1PoCZ2n9EksC3eG 5a33HRnkaBJdf6wmpcf4zwXeHaaTtLim081yslMk95rFtjCDLGReoyIoj4bO3ZLMA5TIRG eTaHJtN8PZz9ct2XoKmLlyun2rTJe8+gJfRLLhuUrtMaH0Lp6UR6niZHbigMyl1XFICtOu DrEACN+SJyocdI5i5PHrEv2EyIAwTY9CkZ9q7NDXvQ1fix/5wQN0wE7X0Ox5/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694296258; a=rsa-sha256; cv=none; b=tFbXzY5gMQN1EbSjsmSO9YLUUWzw0xKXvw3Bw4v6sEesDk9H5p1OMAyD/ETuXkQJShcKZ2 YY/82kR4ebwHc/8oPLwJg/v+80uks2xA3J3A4ZdBsUNOnby3nF+UJEtsQyzHUwXSNR5FN6 NvdybuCD88IfSA1y6gHTPKPKM8jO8nZzo9koWJ+Cw9QNDnonkhqZWc8TKdFz2Y5hIFiYmW zWxMbNXhCvV4/Pj71F8+rekzV/GzJWsmNhL5Y1nfCwlmE6LFL1GUpKH6SSJGbiR6J5lP0y N3CXo3D+UEjLjfx1U4XkqTY6TIE0PsZFlpt+rPDCwpGX0KWJyH+72AZmKaRFfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VB5ssB65fQ24XC4Tf5DaVh28twdI4zKexMZLqkeR4Wg=; b=hmf/RbwJl7fNEDjK96lS43Tyu4/9SsQT+a8zdzafI6ZCegkFpU64sx6T3oN6/a/P654xWL V8zeJSPnoGfCH9yIgHdVoIcNWmC93+OTcp06mtzaSJjD0tLQ+g/2Eqg5EjZJIlsfL4Y70J 83D1TUhuNAI70UxCN13YJqKh6PmQ9CLqxAu504WNO4SOEjSnG/SmhEAUMVPO1xPU4N35B4 c/2VfEeBdhh1KrZx3ASH6OXDtOsz1s7iBAFvQ6v3TeP4YYSAHXtdf/lDB8dDaVPVTSZP1o er8SYtVqNs/k/GDE1z+HWvtiNlhbEKsfpd8ud7zehBvav0ikwmLw0fCdCWXhbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RjmrL08mZzh9j; Sat, 9 Sep 2023 21:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389Lovtx091946; Sat, 9 Sep 2023 21:50:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389LovR0091943; Sat, 9 Sep 2023 21:50:57 GMT (envelope-from git) Date: Sat, 9 Sep 2023 21:50:57 GMT Message-Id: <202309092150.389LovR0091943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: a87c6962affc - main - ufs: restore name cache fast path lookup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a87c6962affc2d1994d8f30806c934eb4cb7af22 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=a87c6962affc2d1994d8f30806c934eb4cb7af22 commit a87c6962affc2d1994d8f30806c934eb4cb7af22 Author: Mateusz Guzik AuthorDate: 2023-09-09 21:48:57 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-09 21:48:57 +0000 ufs: restore name cache fast path lookup Found by: dchagin Fixes: f3c81b973897 ("ufs: add missing vop_fplookup ops") --- sys/ufs/ffs/ffs_vnops.c | 6 ++++-- sys/ufs/ufs/ufs_vnops.c | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 0dd64f696e0c..2b11a15c46c9 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -135,6 +135,8 @@ static vop_setextattr_t ffs_setextattr; static vop_vptofh_t ffs_vptofh; static vop_vput_pair_t ffs_vput_pair; +vop_fplookup_vexec_t ufs_fplookup_vexec; + /* Global vfs data structures for ufs. */ struct vop_vector ffs_vnodeops1 = { .vop_default = &ufs_vnodeops, @@ -151,7 +153,7 @@ struct vop_vector ffs_vnodeops1 = { .vop_write = ffs_write, .vop_vptofh = ffs_vptofh, .vop_vput_pair = ffs_vput_pair, - .vop_fplookup_vexec = VOP_EAGAIN, + .vop_fplookup_vexec = ufs_fplookup_vexec, .vop_fplookup_symlink = VOP_EAGAIN, }; VFS_VOP_VECTOR_REGISTER(ffs_vnodeops1); @@ -192,7 +194,7 @@ struct vop_vector ffs_vnodeops2 = { .vop_setextattr = ffs_setextattr, .vop_vptofh = ffs_vptofh, .vop_vput_pair = ffs_vput_pair, - .vop_fplookup_vexec = VOP_EAGAIN, + .vop_fplookup_vexec = ufs_fplookup_vexec, .vop_fplookup_symlink = VOP_EAGAIN, }; VFS_VOP_VECTOR_REGISTER(ffs_vnodeops2); diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index a7d5e8ba96fc..79cca75fc563 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -101,7 +101,7 @@ VFS_SMR_DECLARE; #include static vop_accessx_t ufs_accessx; -static vop_fplookup_vexec_t ufs_fplookup_vexec; +vop_fplookup_vexec_t ufs_fplookup_vexec; static int ufs_chmod(struct vnode *, int, struct ucred *, struct thread *); static int ufs_chown(struct vnode *, uid_t, gid_t, struct ucred *, struct thread *); @@ -475,7 +475,7 @@ ufs_accessx( * VOP_FPLOOKUP_VEXEC routines are subject to special circumstances, see * the comment above cache_fplookup for details. */ -static int +int ufs_fplookup_vexec( struct vop_fplookup_vexec_args /* { struct vnode *a_vp; From nobody Sat Sep 9 22:01:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjn4c6gNlz4t3YF; Sat, 9 Sep 2023 22:01:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjn4c6Dsxz4T0j; Sat, 9 Sep 2023 22:01:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63WmoviD+8gklmcblFoEvgkC5GIpol/mvzLckDYIL6I=; b=bDAF5GOw4c9WhZlKLmmPlD4hW+1xAYW0M2llDLBRNk8JhsUiPTZeIxV8CXYBk2DhiyuHIQ 0UB1MLGexaO/CwUAKN5/3FfVfyooF7uoR9RYfy1T6lV4kp/ntKlAYK1Qmts83Zs+5od3ho QXBSX8Zip+Q0bBBjaw6CAvGfGfD69GzwVEnzHZNO/aRdeIrQtG83efZh9uNpc6qDemRXr5 e00RqkBm0Z41mFXNVROB6l53FQA4DaFLwaODwTqdZc+S3pZpDZHWHTQ69eqUode07SyOxH zsRwcNhuXebCbHAmHg+KqgATUxr4yAJ0sZy0K0qUyXFgoilgQs0HyZ/gn7gGiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694296896; a=rsa-sha256; cv=none; b=Pgi8mSG59XQqQBdp75WO/0ctUYJkz2E0ht+pbr7chSCaXHS3Hvx19Ugpveh3znDh7khq9L +nO4PAEggoPAEPs8PQob3Kz6pEjvk30XwlXl07ryVPUYD01OQl1XCvGHgbyn0qa3lwVLQ1 ylf1HygMRtqo7iTKk5qOSmJW4/hJ1MXa64OXXEnDvP4KLWny/ctBFOI6BHYrlvhiFIJabt d+Iy0XdgjzgjAiY2Sg08jeMl5WJeMV89YHCr89buVG22EabF07JVXdd3TqbW3Trr1/9lgE ryrz3z/v9QtVgbwB30kh6b2LppT2SoTgTKxWm2G+nNTfWoWSVxmTChTBjEW1eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63WmoviD+8gklmcblFoEvgkC5GIpol/mvzLckDYIL6I=; b=pMjyPIcqiouNjlS9iHXyEOrv5mnNMGS4iZoDQekRuERA/xlUv7mqnP0P3huRRfEdO3ZXTs lqkkUCTdvTZy653ZqqNROaBNdwrh7IEm0Su81NEdPgc5c6ollhqEx9Qz8hDoUrsREJ3n1v uJQcdCpgTUngR8vF7a9r6SqqBVZkF7hz4ROOHov/6gyOp0FkGfuSR/9+OjZ5MEHKyYEmeT 2rbVCAaK07DoJaWle7mH1jgFLMtOLJhPwcQ3R2GPWDXOEPyZ2+QYwHMLHv1X19k38YGZTn qkwh+1+e2UveQFMpPdtHVT8TOoRbJAe/DIUGDs2iE7M3n3DD5Ut8id/Kl1rzGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjn4c5KhbzhNr; Sat, 9 Sep 2023 22:01:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389M1aud013911; Sat, 9 Sep 2023 22:01:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389M1aV4013892; Sat, 9 Sep 2023 22:01:36 GMT (envelope-from git) Date: Sat, 9 Sep 2023 22:01:36 GMT Message-Id: <202309092201.389M1aV4013892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 6df6facf44f9 - main - shmfd: hide direct rangelock(9) use under a wrapper List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6df6facf44f952f64753bee00831fd93f16c99a9 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6df6facf44f952f64753bee00831fd93f16c99a9 commit 6df6facf44f952f64753bee00831fd93f16c99a9 Author: Konstantin Belousov AuthorDate: 2023-08-18 12:38:28 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-09 22:00:06 +0000 shmfd: hide direct rangelock(9) use under a wrapper Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/kern/uipc_shm.c | 69 +++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 1975f0d60f89..a8e2502808a0 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -182,6 +182,15 @@ SYSCTL_INT(_vm_largepages, OID_AUTO, reclaim_tries, CTLFLAG_RWTUN, &largepage_reclaim_tries, 0, "Number of contig reclaims before giving up for default alloc policy"); +#define shm_rangelock_unlock(shmfd, cookie) \ + rangelock_unlock(&(shmfd)->shm_rl, (cookie), &(shmfd)->shm_mtx) +#define shm_rangelock_rlock(shmfd, start, end) \ + rangelock_rlock(&(shmfd)->shm_rl, (start), (end), &(shmfd)->shm_mtx) +#define shm_rangelock_tryrlock(shmfd, start, end) \ + rangelock_tryrlock(&(shmfd)->shm_rl, (start), (end), &(shmfd)->shm_mtx) +#define shm_rangelock_wlock(shmfd, start, end) \ + rangelock_wlock(&(shmfd)->shm_rl, (start), (end), &(shmfd)->shm_mtx) + static int uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio) { @@ -456,10 +465,10 @@ shm_read(struct file *fp, struct uio *uio, struct ucred *active_cred, return (error); #endif foffset_lock_uio(fp, uio, flags); - rl_cookie = rangelock_rlock(&shmfd->shm_rl, uio->uio_offset, - uio->uio_offset + uio->uio_resid, &shmfd->shm_mtx); + rl_cookie = shm_rangelock_rlock(shmfd, uio->uio_offset, + uio->uio_offset + uio->uio_resid); error = uiomove_object(shmfd->shm_object, shmfd->shm_size, uio); - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); foffset_unlock_uio(fp, uio, flags); return (error); } @@ -497,13 +506,10 @@ shm_write(struct file *fp, struct uio *uio, struct ucred *active_cred, } else { size = uio->uio_offset + uio->uio_resid; } - if ((flags & FOF_OFFSET) == 0) { - rl_cookie = rangelock_wlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); - } else { - rl_cookie = rangelock_wlock(&shmfd->shm_rl, uio->uio_offset, - size, &shmfd->shm_mtx); - } + if ((flags & FOF_OFFSET) == 0) + rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); + else + rl_cookie = shm_rangelock_wlock(shmfd, uio->uio_offset, size); if ((shmfd->shm_seals & F_SEAL_WRITE) != 0) { error = EPERM; } else { @@ -516,7 +522,7 @@ shm_write(struct file *fp, struct uio *uio, struct ucred *active_cred, error = uiomove_object(shmfd->shm_object, shmfd->shm_size, uio); } - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); foffset_unlock_uio(fp, uio, flags); return (error); } @@ -571,22 +577,20 @@ shm_ioctl(struct file *fp, u_long com, void *data, struct ucred *active_cred, conf->alloc_policy != SHM_LARGEPAGE_ALLOC_HARD) return (EINVAL); - rl_cookie = rangelock_wlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); shmfd->shm_lp_psind = conf->psind; shmfd->shm_lp_alloc_policy = conf->alloc_policy; shmfd->shm_object->un_pager.phys.data_val = conf->psind; - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (0); case FIOGSHMLPGCNF: if (!shm_largepage(shmfd)) return (ENOTTY); conf = data; - rl_cookie = rangelock_rlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_rlock(shmfd, 0, OFF_MAX); conf->psind = shmfd->shm_lp_psind; conf->alloc_policy = shmfd->shm_lp_alloc_policy; - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (0); default: return (ENOTTY); @@ -917,10 +921,9 @@ shm_dotruncate(struct shmfd *shmfd, off_t length) void *rl_cookie; int error; - rl_cookie = rangelock_wlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); error = shm_dotruncate_cookie(shmfd, length, rl_cookie); - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (error); } @@ -1258,8 +1261,7 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, error = ENOENT; } } else { - rl_cookie = rangelock_wlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); /* * kern_shm_open() likely shouldn't ever error out on @@ -1331,8 +1333,7 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, shmfd->shm_seals |= initial_seals; shm_hold(shmfd); } - rangelock_unlock(&shmfd->shm_rl, rl_cookie, - &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); } sx_xunlock(&shm_dict_lock); @@ -1648,8 +1649,7 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *addr, vm_size_t objsize, shmfd = fp->f_data; maxprot = VM_PROT_NONE; - rl_cookie = rangelock_rlock(&shmfd->shm_rl, 0, objsize, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_rlock(shmfd, 0, objsize); /* FREAD should always be set. */ if ((fp->f_flag & FREAD) != 0) maxprot |= VM_PROT_EXECUTE | VM_PROT_READ; @@ -1723,7 +1723,7 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *addr, vm_size_t objsize, vm_object_deallocate(shmfd->shm_object); } out: - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (error); } @@ -1941,8 +1941,7 @@ shm_add_seals(struct file *fp, int seals) error = 0; shmfd = fp->f_data; - rl_cookie = rangelock_wlock(&shmfd->shm_rl, 0, OFF_MAX, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); /* Even already-set seals should result in EPERM. */ if ((shmfd->shm_seals & F_SEAL_SEAL) != 0) { @@ -1973,7 +1972,7 @@ shm_add_seals(struct file *fp, int seals) } shmfd->shm_seals |= nseals; out: - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (error); } @@ -2067,8 +2066,7 @@ shm_fspacectl(struct file *fp, int cmd, off_t *offset, off_t *length, int flags, off = *offset; len = *length; - rl_cookie = rangelock_wlock(&shmfd->shm_rl, off, off + len, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, off, off + len); switch (cmd) { case SPACECTL_DEALLOC: if ((shmfd->shm_seals & F_SEAL_WRITE) != 0) { @@ -2082,7 +2080,7 @@ shm_fspacectl(struct file *fp, int cmd, off_t *offset, off_t *length, int flags, default: __assert_unreachable(); } - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); return (error); } @@ -2109,11 +2107,10 @@ shm_fallocate(struct file *fp, off_t offset, off_t len, struct thread *td) * the shmfd is not necessarily a concern. If other mechanisms are * added to grow a shmfd, this may need to be re-evaluated. */ - rl_cookie = rangelock_wlock(&shmfd->shm_rl, offset, size, - &shmfd->shm_mtx); + rl_cookie = shm_rangelock_wlock(shmfd, offset, size); if (size > shmfd->shm_size) error = shm_dotruncate_cookie(shmfd, size, rl_cookie); - rangelock_unlock(&shmfd->shm_rl, rl_cookie, &shmfd->shm_mtx); + shm_rangelock_unlock(shmfd, rl_cookie); /* Translate to posix_fallocate(2) return value as needed. */ if (error == ENOMEM) error = ENOSPC; From nobody Sat Sep 9 22:01:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rjn4f0dCjz4t3Qc; Sat, 9 Sep 2023 22:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rjn4d75pdz4Sx6; Sat, 9 Sep 2023 22:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CipLrMCA/ahrFowJyoS/zGnZgXw6UflNlv9JdLWh84=; b=SBhkgpPpy9zJB2WUNaehLCkUrTphUq1eUM4A9Omo2H5KYGoPQnmOfPSDRv3nJTBjGektev F2q/AmMOfc4EptxjK+W5jEs/ioVv84EZsSUgGWaZBTxftZrgK3xH0IWE6TguaGE5lyA58B /FUQtJ2bg01gCELSXRRBKFa1MmgbbiucMivUHl8VRujynPFd/qXN4vX7cefwfHJRhRX9xc j7xI6yvYZKEK38q6QNtNIBt2fCGJ38Zh62TrV08OEi7jb8/Zt43D6V/MtBXg75UpAUIBrq 5cS+20ulY8O1stZZ3+uh0Vsi+p5IyLg47+vVzK579uZqQN7F53Iw4LoqV6r3uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694296898; a=rsa-sha256; cv=none; b=qtvLlDcqYOQsErPfROUFRfiYwC7R4roRAPUe3o3S8jeGWxItg9figL43l7/ZaoYPl7Clcp 7g7MNdk87Pu6xv/OGU62Wi547gINQeBEwTf+64PjTRaG5debri85kjTdXd92Vu5dGDO3R+ /FUshLkB4dFUFkeSm3GS9m14Ptf3HSCbcZ+nMb2zcE3u9qQCfDbxg9EjEzgwA7yCor++Pk BWZVvAhgOEiUjrxIH4KvztDdlj1FQBuEeR5/Ip2GlEHSD46OiT+UbZTHgJRSTPz/PaRKBk VzrIRfPzjS2HR8ZLJqmYCHqPaylx9UVru2yc3X/jXgeDmPxYqRuvKovGmv9dbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694296898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CipLrMCA/ahrFowJyoS/zGnZgXw6UflNlv9JdLWh84=; b=j54lavruJPNw/7zeilO29tMleAzoUGGlk3kgc9u+IwJxzl4VUGrEuUSUEjhmERzbIgdP3W QL4cVhvxkJcl9ArSsEPCKWdllL27fg8+Z2Ah4la1GRoVpAsdJj0m1L+Wl7NDe3pyXx7tk7 xqgJCE+YSwrKd9aMGaAmO2j/PQ9utqc0OvZIcojZY5LgTlbT4lQp4GQ3K8/7/qNbOvr+Xq mLleYlmyGHQZ2Cz/CYOYP9j54KKvpstJ4srgyB3XdPiKWJAzG8QU4Ea5O69JneMDTxoLBo 31jD6EfRzDs7Xy9UoygPH079f7rrNP518tQ9uK8qDdSRAvgCE/k7cZkwIMAlnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rjn4d5tqCzhVB; Sat, 9 Sep 2023 22:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 389M1b7G014476; Sat, 9 Sep 2023 22:01:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 389M1bTV014473; Sat, 9 Sep 2023 22:01:37 GMT (envelope-from git) Date: Sat, 9 Sep 2023 22:01:37 GMT Message-Id: <202309092201.389M1bTV014473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3482f57f0fdf - main - netpfil/pf/pf.c: fix build without dtrace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3482f57f0fdf817d3384bd03289b796ff0863d7e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3482f57f0fdf817d3384bd03289b796ff0863d7e commit 3482f57f0fdf817d3384bd03289b796ff0863d7e Author: Konstantin Belousov AuthorDate: 2023-09-09 21:54:42 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-09 22:00:27 +0000 netpfil/pf/pf.c: fix build without dtrace Sponsored by: The FreeBSD Foundation --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9a571b1ee3d9..21d2e16e83dc 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5932,7 +5932,7 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, int off, struct pfi_kkif *kif, struct pf_kstate *s) { struct pf_sctp_multihome_job *j, *tmp; - int action;; + int action __unused; struct pf_kstate *sm = NULL; struct pf_krule *ra = NULL; struct pf_krule *r = &V_pf_default_rule;