From nobody Mon Sep 30 00:47:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH2Tp6j20z5XSbj; Mon, 30 Sep 2024 00:47:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH2Tp6B8tz4qM8; Mon, 30 Sep 2024 00:47:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727657246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fov1L5z6uSBgCbLey0O/XFrPnXqmvWqi/J/J8KKTe3w=; b=qCGWxC6+6rfAwUkYbKO/er6QzcpFNiBwLb3Yw54NOhF2jbuPoI5+EjFi9dICAsIn4Ruh4F NY2kCtIXFgaPRQdQn93TjFW37ldb4/GFeH/oLUVsviEV6a6r8ZOn4daKzU1+VqgizpZ1IO 0d8IeRjeJrk4nA57qPXD50OedYq4sARofoNgikYBS8HrOP4BECRWZ3INY7jXR8+LD5/7EX qe76X2/im2wPDMyhxOofHmjXCJbdUMhbdBUyvAlPamRzUxqYcldmnYqoOuCAdO7kh9Uif0 6eG1PKGZxJ+gkqWEHw7GDuPh6/eBiM2GD2klsZTMLKHWlGyUo+OfpQTg5cCerg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727657246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fov1L5z6uSBgCbLey0O/XFrPnXqmvWqi/J/J8KKTe3w=; b=KfafqvftF9MG5xuFPHwKMIuHuF39NTEESaRSt8Kr9PyTLLbwlUIlDIbNkT4qLB1OCHQXT+ 0V5uu81a/S3azaWS3AyzAjKYDh2c50H6OXfeD1GS9JyNNg7GOCokwBDtY+/f0M5XYA1Jar N7MYWmM9J9tDJ+1FefR2m7ncUSmcEMSxSaW21Oa2mRIjqYUQs4MgVgyUDEqdn6+iVaASBm oxrcE9QdBQqAWmmP9BL7kBy5VluaU03ZNfCjR1jo1DCM/C5iEIUYTf4iCsoMJomwf52ECn LOMkrO3sHz+9T35BjruJ5hNE1SRa/+S4m0tgsU20I57k8Szhd0xucvcrimGMJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727657246; a=rsa-sha256; cv=none; b=FQxyJLKFfcDKzTkOpu8KLp0jt73XqLUB9BHlTRjNGuutAIEoZs6DhQCgqf3uVmDWJTPaip pdxwL2PSbmRz4X/ubaxyl5WCtRvTxLGrIUPc5k39/bdUxpqO7u1fH8mAIjVaD5Qbew1M6a 6LM9ospn7RaKgAMATPlsP75Eeyn1BED+BjQf+RpThmFB2c5w2Ku/48BB2QxtaSDRBigtZj hkf/G5oM+9xc8nbV9fpD6N8SRPQ/LS1ZXcC8dj92p/b21ifmlrqdSfw30CaoGDaDs4EHrX MJKQyPtlHN6x5dTsz4QxJHRTVJawp4JvE3dbXVrkwv3CogJzlJLIPIOHw2gEcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH2Tp5j26zXYD; Mon, 30 Sep 2024 00:47:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U0lQTD078830; Mon, 30 Sep 2024 00:47:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U0lQh3078827; Mon, 30 Sep 2024 00:47:26 GMT (envelope-from git) Date: Mon, 30 Sep 2024 00:47:26 GMT Message-Id: <202409300047.48U0lQh3078827@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: cc110bbec6d2 - main - cxgbe/t4_tom: Remove duplicate unlock in t4_tom_deactivate. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: cc110bbec6d23d8cff47733704c71de641d0c8e8 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=cc110bbec6d23d8cff47733704c71de641d0c8e8 commit cc110bbec6d23d8cff47733704c71de641d0c8e8 Author: Navdeep Parhar AuthorDate: 2024-09-29 20:04:30 +0000 Commit: Navdeep Parhar CommitDate: 2024-09-30 00:38:11 +0000 cxgbe/t4_tom: Remove duplicate unlock in t4_tom_deactivate. Fixes: c1c524852f62 cxgbe/t4_tom: Implement uld_stop and uld_restart for ULD_TOM. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/tom/t4_tom.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index 356ac7edc134..d5b6b6ee2ce0 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -1966,7 +1966,6 @@ t4_tom_deactivate(struct adapter *sc) MPASS(TAILQ_EMPTY(&td->synqe_list)); MPASS(TAILQ_EMPTY(&td->stranded_tids)); mtx_unlock(&td->toep_list_lock); - mtx_unlock(&td->toep_list_lock); mtx_lock(&td->lctx_hash_lock); if (td->lctx_count > 0) From nobody Mon Sep 30 00:47:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH2Tr1qB8z5XSR9; Mon, 30 Sep 2024 00:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH2Tr0zGdz4qjk; Mon, 30 Sep 2024 00:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727657248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LbsUeyZPne6s6BqYYUHe+RYwms3tFEBn8DWb6qwwXyg=; b=uQ7HhhfQuzboVCsjDaFBieDL022iMcaPKWCybOKnVALm4ILYTCeySrSG5ud/yj9TOjZ/M8 KaT9qu5YjznjmCg7O837xFbKQ5buYXLTZY+Q3qGX4kuwLWMHSnFXz6Xc5G13jANO6Q6Ent Cg0gvTvpNeb1ZGnyBDNYTfS/FOxYKfGFJmcc5HUzy/br+NZPF1zSi/4PoLf+torEJs/Z08 eXyCSGdJwhW0fzQelvrdUYibpqpxwCOT4XA+FCH9VIzxNyIdOKLXiM5sZ+yZHAIKkX4U1D 0JsFVC3SQ9mJA5gRXfukSD9oyremA6hQefrzDC2Z3NIPpqFAX4UTf3Yn2XsblQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727657248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LbsUeyZPne6s6BqYYUHe+RYwms3tFEBn8DWb6qwwXyg=; b=R4+Rjsz4PlpolGQWqi+YbPoPMrb+76TWbO7hEvY/4EJoI6h9k4E+CU9a22Sb6x+P1C6XMI 49SMhydJFU6MO67LcVhCegHfVaxQm3WoNCUmlMDenfBwaew9bCvLz5Cs77biDkKNP8TMP4 qANt2rujQfrLLxf1V43Z86pv2b11N/YdFNenTWwItMndby6hKOE9zcg8+pl50hDX5kv4R2 eH9wybURQMl+kaZlqr3EicTYM2HpNT/uS4oJ3KVSx9bcTT7T/WWgf6PC0yrhwPWZCkg76Y lemr71PpKlouHcObtZn4HcHsKbYW/qqCe+hDW/VU8Gn+zvCoS2GXp+3RVrZrpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727657248; a=rsa-sha256; cv=none; b=ef+TLiQS0xIpmUMaAV9yajBxm1rXzThJTaxi0bQabZMkxNR/K//EufbKoK96ajUPbaXzL5 oMbLbFcJHwZJTQ1uYQF45YSUPekvBCn0FGD4dXk4pNA5zo+cLDzpng3qjOGq69RAp7veaH TlijwnWG1XWpv2/miL5VjhW034hVBfK5Jvdj6IIwK5BzW/yN5eS1gR4XTI/YQpxPDJGQnV P3xzuEHCyEC2YmnL7PuHYjKM6OuzHHzy8lXCtb3kcBaxbubKDLxuawxTz6yQtvT6C5x+fo T7ac6D846jzIzb8fo21zrozDlFGD6ZCcWYXjdVUxKDPgVLT7CcKJp0FJzKd+EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH2Tq721jzXLr; Mon, 30 Sep 2024 00:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U0lRNE078878; Mon, 30 Sep 2024 00:47:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U0lRD1078875; Mon, 30 Sep 2024 00:47:27 GMT (envelope-from git) Date: Mon, 30 Sep 2024 00:47:27 GMT Message-Id: <202409300047.48U0lRD1078875@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: 9ba8670a8b17 - main - cxgbe(4): Allow t4_tom to be unloaded safely. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9ba8670a8b175de79ea087688f51595b4f2db862 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9ba8670a8b175de79ea087688f51595b4f2db862 commit 9ba8670a8b175de79ea087688f51595b4f2db862 Author: Navdeep Parhar AuthorDate: 2024-09-29 23:29:41 +0000 Commit: Navdeep Parhar CommitDate: 2024-09-30 00:38:11 +0000 cxgbe(4): Allow t4_tom to be unloaded safely. * Disable IFCAP_TOE automatically on all ifnets on all adapters during unload. This is user-friendly and avoids panics due to stale ifnet state after t4_tom is unloaded. * Do not allow unload if tids are in use by the TOE on any adapter. Reported by: Bimal Abraham @ Chelsio MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/adapter.h | 1 + sys/dev/cxgbe/t4_main.c | 22 +++++++++++----------- sys/dev/cxgbe/tom/t4_tom.c | 31 +++++++++++++++++++++++-------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 2769277e8411..862a90e8a441 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -1394,6 +1394,7 @@ void cxgbe_media_status(if_t, struct ifmediareq *); void t4_os_cim_err(struct adapter *); int suspend_adapter(struct adapter *); int resume_adapter(struct adapter *); +int toe_capability(struct vi_info *, bool); #ifdef KERN_TLS /* t6_kern_tls.c */ diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 307b9c27111a..508f3f08f22a 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -869,7 +869,6 @@ static int stop_lld(struct adapter *); static inline int restart_adapter(struct adapter *); static int restart_lld(struct adapter *); #ifdef TCP_OFFLOAD -static int toe_capability(struct vi_info *, bool); static int deactivate_all_uld(struct adapter *); static void stop_all_uld(struct adapter *); static void restart_all_uld(struct adapter *); @@ -12386,7 +12385,7 @@ t4_ioctl(struct cdev *dev, unsigned long cmd, caddr_t data, int fflag, } #ifdef TCP_OFFLOAD -static int +int toe_capability(struct vi_info *vi, bool enable) { int rc; @@ -12452,6 +12451,7 @@ toe_capability(struct vi_info *vi, bool enable) if (isset(&sc->offload_map, pi->port_id)) { /* TOE is enabled on another VI of this port. */ + MPASS(pi->uld_vis > 0); pi->uld_vis++; return (0); } @@ -12477,17 +12477,17 @@ toe_capability(struct vi_info *vi, bool enable) if (!uld_active(sc, ULD_ISCSI)) (void) t4_activate_uld(sc, ULD_ISCSI); - pi->uld_vis++; - setbit(&sc->offload_map, pi->port_id); + if (pi->uld_vis++ == 0) + setbit(&sc->offload_map, pi->port_id); } else { - pi->uld_vis--; - - if (!isset(&sc->offload_map, pi->port_id) || pi->uld_vis > 0) + if ((if_getcapenable(vi->ifp) & IFCAP_TOE) == 0) { + /* TOE is already disabled. */ return (0); - - KASSERT(uld_active(sc, ULD_TOM), - ("%s: TOM never initialized?", __func__)); - clrbit(&sc->offload_map, pi->port_id); + } + MPASS(isset(&sc->offload_map, pi->port_id)); + MPASS(pi->uld_vis > 0); + if (--pi->uld_vis == 0) + clrbit(&sc->offload_map, pi->port_id); } return (0); diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index d5b6b6ee2ce0..97cb380d0e71 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -1946,20 +1946,29 @@ done: static int t4_tom_deactivate(struct adapter *sc) { - int rc = 0; + int rc = 0, i, v; struct tom_data *td = sc->tom_softc; + struct vi_info *vi; ASSERT_SYNCHRONIZED_OP(sc); if (td == NULL) return (0); /* XXX. KASSERT? */ - if (sc->offload_map != 0) - return (EBUSY); /* at least one port has IFCAP_TOE enabled */ - if (uld_active(sc, ULD_IWARP) || uld_active(sc, ULD_ISCSI)) return (EBUSY); /* both iWARP and iSCSI rely on the TOE. */ + if (sc->offload_map != 0) { + for_each_port(sc, i) { + for_each_vi(sc->port[i], v, vi) { + toe_capability(vi, false); + if_setcapenablebit(vi->ifp, 0, IFCAP_TOE); + SETTOEDEV(vi->ifp, NULL); + } + } + MPASS(sc->offload_map == 0); + } + mtx_lock(&td->toep_list_lock); if (!TAILQ_EMPTY(&td->toep_list)) rc = EBUSY; @@ -2243,14 +2252,16 @@ t4_tom_mod_load(void) } static void -tom_uninit(struct adapter *sc, void *arg __unused) +tom_uninit(struct adapter *sc, void *arg) { + bool *ok_to_unload = arg; + if (begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4tomun")) return; /* Try to free resources (works only if no port has IFCAP_TOE) */ - if (uld_active(sc, ULD_TOM)) - t4_deactivate_uld(sc, ULD_TOM); + if (uld_active(sc, ULD_TOM) && t4_deactivate_uld(sc, ULD_TOM) != 0) + *ok_to_unload = false; end_synchronized_op(sc, 0); } @@ -2258,7 +2269,11 @@ tom_uninit(struct adapter *sc, void *arg __unused) static int t4_tom_mod_unload(void) { - t4_iterate(tom_uninit, NULL); + bool ok_to_unload = true; + + t4_iterate(tom_uninit, &ok_to_unload); + if (!ok_to_unload) + return (EBUSY); if (t4_unregister_uld(&tom_uld_info, ULD_TOM) == EBUSY) return (EBUSY); From nobody Mon Sep 30 03:36:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DN6h1Qz5Xf2V; Mon, 30 Sep 2024 03:36:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DN6PFpz4387; Mon, 30 Sep 2024 03:36:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jpW9M+yb4Pp4+bQDD2+xpWsCkkyrGTLMxKrJ3RgKouo=; b=iXWwY9DGXdiR20ptPKj8mNwtIgKXY48RX8M6nKu2qJhNA/eT/BP0VQNLo0UwZkxOY90h/e knr8wJNYu5ZxqPFSLbCgbgr01moTxnm67g/BYU41P4jgiB+gb8NnIuAb5HoWc7BG+GgrXz jM2oAa0A/CPT3OXdSEjksqgy+D2nIG4PQPy/XGzyr64oWGUInnSFvQW2s3GUM8p/h1Lnen gk2uBdeaA7RF3rR32EKS+Yjhluy5B/j1Im/0mC8jgXxfyISVuowHRh5nShnyCdfPf8iOG6 7D/6dmi+8AGpKgs8ENTXD184VZmNslPZkvWfqKBoz1zO6buCC1nKhZIDHDnVSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jpW9M+yb4Pp4+bQDD2+xpWsCkkyrGTLMxKrJ3RgKouo=; b=B0kKCIUBwLFCB+GYgqr0wtZOimFGf2R0sJp7LBlBZOOwcE5d/f+tifABrtwZIgfbvSSZQb AkQe93iDgf/Jf9OhoDr+1MPeYFmyLvT25/WRR+cbDDIy59e1BxF+1RKMfBIdUDHfAmkss1 YIlBofDYTuahIPtDgR3Kll5ILJTgi5n7DLNjLcg2qEx2N8r/mx9X53XV3jWbZuFHH5/ahw +W4nvacbO8M+yWTixVHRuno+9zFcP8uR9s94oRScT3OiEdT5aqJzzw58E4bieiHTXefGOR ozKzAVV3bYqzqMOLG24FDRlTIZAVoYZhSC1vY3atci7N0LfSypRzNkkBFXUcCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667364; a=rsa-sha256; cv=none; b=bZB+sA/AjCzVDlT+9g88+o2fhpv+KZ3VUmyRjcqWuGagGA+KbGsd+XjasqvSBOx3t03+l5 EGK9vojJ5QQiU6bumSQM+3YFAK323qb0pw7pHqh8MMIjocKyeyu5UdJ4PRd2RbAAjJzuyR CfdGEkze4ruOCVDhNlp4u3n6o9Wp25RIJyAtJGAT7vYBsOswHeItvLyrvtSW4/ww3t1jc2 YV2EBOpONUYVTvtUwdq+p/fNJHQv4hVWTBeavOqA8KF328u/RKyIKAlCAMqWMPGHldOVoa xlXfPRhgdMiOyN7LldbKqGsf9wFYWHBQrbr0s8u9L2prGxHuXfWmR1Je0xdP7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DN5w3HzcPY; Mon, 30 Sep 2024 03:36:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3a4it066965; Mon, 30 Sep 2024 03:36:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3a4jV066962; Mon, 30 Sep 2024 03:36:04 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:04 GMT Message-Id: <202409300336.48U3a4jV066962@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: e7a629c851d7 - main - libmd, kern, stand: consolidate md5 implementations (NFC) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e7a629c851d747772cc138efcb0418809ecdea55 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e7a629c851d747772cc138efcb0418809ecdea55 commit e7a629c851d747772cc138efcb0418809ecdea55 Author: Kyle Evans AuthorDate: 2022-03-08 15:39:52 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:18 +0000 libmd, kern, stand: consolidate md5 implementations (NFC) Reduce the number of md5c.c between the three of these from two to one by just reaching into the kernel build for both userland builds. The precedent for this already exists for sha2 in both cases. _libmd_ symbol privatization bits have been moved to sys/md5.h and md5.h remains to #include for compatibility. This stops exporting MD5Pad() in the process because the kernel stopped exporting it in 502a35d60f4c. soversion is bumped accordingly. This also renames the libc version of stack_protector.c; it previously only worked by coincidence because .PATH ordering worked out such that we got the right one, but this is not the case anymore. Remove the landmine. PR: 280784 (exp-run) Reviewed by: allanjude, delphij Differential Revision: https://reviews.freebsd.org/D34497 --- ObsoleteFiles.inc | 3 + lib/libc/Makefile | 2 +- lib/libc/md/Makefile.inc | 2 +- lib/libc/secure/Makefile.inc | 2 +- .../{stack_protector.c => libc_stack_protector.c} | 0 lib/libcrypt/Makefile | 2 +- lib/libmd/Makefile | 3 +- lib/libmd/md5.h | 40 --- lib/libmd/md5c.c | 344 --------------------- lib/libssp/Makefile | 2 +- stand/libsa/Makefile | 4 +- sys/kern/md5c.c | 23 +- sys/sys/md5.h | 42 +++ 13 files changed, 72 insertions(+), 397 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 2686086970ce..9ecf5a8c3ecf 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -3230,6 +3230,9 @@ OLD_FILES+=usr/tests/usr.bin/uudecode/regress.153276.in OLD_DIRS+=usr/tests/usr.bin/uuencode OLD_DIRS+=usr/tests/usr.bin/uudecode +# 20220308: libmd bumped to version 7 +OLD_LIBS+=lib/libmd.so.6 + # 20220318: snd_ds1 and snd_maestro drivers removed OLD_FILES+=usr/share/man/man4/snd_ds1.4.gz OLD_FILES+=usr/share/man/man4/snd_maestro.4.gz diff --git a/lib/libc/Makefile b/lib/libc/Makefile index ae059e53144c..d0c254e33396 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -220,6 +220,6 @@ GENDIRDEPS_FILTER+= N${RELDIR:H}/msun # Disable warnings in contributed sources. CWARNFLAGS:= ${.IMPSRC:Ngdtoa_*.c:C/^.+$/${CWARNFLAGS}/:C/^$/-w/} # Disable stack protection for SSP symbols. -SSP_CFLAGS:= ${.IMPSRC:N*/stack_protector.c:C/^.+$/${SSP_CFLAGS}/} +SSP_CFLAGS:= ${.IMPSRC:N*/libc_stack_protector.c:C/^.+$/${SSP_CFLAGS}/} # Generate stack unwinding tables for cancellation points CANCELPOINTS_CFLAGS:= ${.IMPSRC:Mcancelpoints_*:C/^.+$/${CANCELPOINTS_CFLAGS}/:C/^$//} diff --git a/lib/libc/md/Makefile.inc b/lib/libc/md/Makefile.inc index 346fb93017a6..82c5f0670485 100644 --- a/lib/libc/md/Makefile.inc +++ b/lib/libc/md/Makefile.inc @@ -1,3 +1,3 @@ -.PATH: ${SRCTOP}/lib/libmd +.PATH: ${SRCTOP}/sys/kern SRCS+= md5c.c diff --git a/lib/libc/secure/Makefile.inc b/lib/libc/secure/Makefile.inc index e5286a5a380f..5ee6f38d8b98 100644 --- a/lib/libc/secure/Makefile.inc +++ b/lib/libc/secure/Makefile.inc @@ -15,7 +15,7 @@ CFLAGS.vsnprintf_chk.c+= -Wno-unused-parameter CFLAGS.vsprintf_chk.c+= -Wno-unused-parameter # Sources common to both syscall interfaces: -SRCS+= stack_protector.c \ +SRCS+= libc_stack_protector.c \ stack_protector_compat.c SYM_MAPS+= ${LIBC_SRCTOP}/secure/Symbol.map diff --git a/lib/libc/secure/stack_protector.c b/lib/libc/secure/libc_stack_protector.c similarity index 100% rename from lib/libc/secure/stack_protector.c rename to lib/libc/secure/libc_stack_protector.c diff --git a/lib/libcrypt/Makefile b/lib/libcrypt/Makefile index 9511bba81e26..d9bd85f7e699 100644 --- a/lib/libcrypt/Makefile +++ b/lib/libcrypt/Makefile @@ -10,7 +10,7 @@ PACKAGE= runtime SHLIB_MAJOR= 5 LIB= crypt -.PATH: ${SRCTOP}/lib/libmd ${SRCTOP}/sys/crypto/sha2 +.PATH: ${SRCTOP}/sys/kern ${SRCTOP}/sys/crypto/sha2 SRCS= crypt.c misc.c \ crypt-md5.c md5c.c \ crypt-nthash.c md4c.c \ diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 4c2ed2f7f9c7..0a0890e06550 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -5,7 +5,7 @@ SHLIBDIR?= /lib PACKAGE= runtime LIB= md -SHLIB_MAJOR= 6 +SHLIB_MAJOR= 7 SRCS= md4c.c md5c.c md4hl.c md5hl.c \ rmd160c.c rmd160hl.c \ sha0c.c sha0hl.c sha1c.c sha1hl.c \ @@ -105,6 +105,7 @@ CFLAGS+= -DWEAK_REFS CFLAGS.skein_block.c+= -DSKEIN_LOOP=995 .PATH: ${.CURDIR}/${MACHINE_ARCH} ${SRCTOP}/sys/crypto/sha2 .PATH: ${SRCTOP}/sys/crypto/skein ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH} +.PATH: ${SRCTOP}/sys/kern USE_ASM_SOURCES?=1 .if defined(BOOTSTRAPPING) || ${MK_MACHDEP_OPTIMIZATIONS} == no diff --git a/lib/libmd/md5.h b/lib/libmd/md5.h index a4a9f47d4d90..fca9d5f6ee6e 100644 --- a/lib/libmd/md5.h +++ b/lib/libmd/md5.h @@ -2,45 +2,5 @@ #ifndef _MD5_H_ #define _MD5_H_ -#ifndef _KERNEL - -/* Ensure libmd symbols do not clash with libcrypto */ - -#ifndef MD5Init -#define MD5Init _libmd_MD5Init -#endif -#ifndef MD5Update -#define MD5Update _libmd_MD5Update -#endif -#ifndef MD5Pad -#define MD5Pad _libmd_MD5Pad -#endif -#ifndef MD5Final -#define MD5Final _libmd_MD5Final -#endif -#ifndef MD5Transform -#define MD5Transform _libmd_MD5Transform -#endif -#ifndef MD5End -#define MD5End _libmd_MD5End -#endif -#ifndef MD5Fd -#define MD5Fd _libmd_MD5Fd -#endif -#ifndef MD5FdChunk -#define MD5FdChunk _libmd_MD5FdChunk -#endif -#ifndef MD5File -#define MD5File _libmd_MD5File -#endif -#ifndef MD5FileChunk -#define MD5FileChunk _libmd_MD5FileChunk -#endif -#ifndef MD5Data -#define MD5Data _libmd_MD5Data -#endif - -#endif - #include #endif /* _MD5_H_ */ diff --git a/lib/libmd/md5c.c b/lib/libmd/md5c.c deleted file mode 100644 index 56f21f441e2c..000000000000 --- a/lib/libmd/md5c.c +++ /dev/null @@ -1,344 +0,0 @@ -/*- - * SPDX-License-Identifier: RSA-MD - * - * MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm - * - * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All - * rights reserved. - * - * License to copy and use this software is granted provided that it - * is identified as the "RSA Data Security, Inc. MD5 Message-Digest - * Algorithm" in all material mentioning or referencing this software - * or this function. - * - * License is also granted to make and use derivative works provided - * that such works are identified as "derived from the RSA Data - * Security, Inc. MD5 Message-Digest Algorithm" in all material - * mentioning or referencing the derived work. - * - * RSA Data Security, Inc. makes no representations concerning either - * the merchantability of this software or the suitability of this - * software for any particular purpose. It is provided "as is" - * without express or implied warranty of any kind. - * - * These notices must be retained in any copies of any part of this - * documentation and/or software. - * - * This code is the same as the code published by RSA Inc. It has been - * edited for clarity and style only. - */ - -#include - -#ifdef _KERNEL -#include -#else -#include -#endif - -#include -#include -#include "md5.h" - -static void MD5Transform(u_int32_t [4], const unsigned char [64]); - -#ifdef _KERNEL -#define memset(x,y,z) bzero(x,z); -#define memcpy(x,y,z) bcopy(y, x, z) -#endif - -#if (BYTE_ORDER == LITTLE_ENDIAN) -#define Encode memcpy -#define Decode memcpy -#else - -/* - * Encodes input (u_int32_t) into output (unsigned char). Assumes len is - * a multiple of 4. - */ - -static void -Encode (unsigned char *output, u_int32_t *input, unsigned int len) -{ - unsigned int i; - u_int32_t *op = (u_int32_t *)output; - - for (i = 0; i < len / 4; i++) - op[i] = htole32(input[i]); -} - -/* - * Decodes input (unsigned char) into output (u_int32_t). Assumes len is - * a multiple of 4. - */ - -static void -Decode (u_int32_t *output, const unsigned char *input, unsigned int len) -{ - unsigned int i; - const u_int32_t *ip = (const u_int32_t *)input; - - for (i = 0; i < len / 4; i++) - output[i] = le32toh(ip[i]); -} -#endif - -static unsigned char PADDING[64] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* F, G, H and I are basic MD5 functions. */ -#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) -#define G(x, y, z) (((x) & (z)) | ((y) & (~z))) -#define H(x, y, z) ((x) ^ (y) ^ (z)) -#define I(x, y, z) ((y) ^ ((x) | (~z))) - -/* ROTATE_LEFT rotates x left n bits. */ -#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) - -/* - * FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. - * Rotation is separate from addition to prevent recomputation. - */ -#define FF(a, b, c, d, x, s, ac) { \ - (a) += F ((b), (c), (d)) + (x) + (u_int32_t)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define GG(a, b, c, d, x, s, ac) { \ - (a) += G ((b), (c), (d)) + (x) + (u_int32_t)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define HH(a, b, c, d, x, s, ac) { \ - (a) += H ((b), (c), (d)) + (x) + (u_int32_t)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define II(a, b, c, d, x, s, ac) { \ - (a) += I ((b), (c), (d)) + (x) + (u_int32_t)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } - -/* MD5 initialization. Begins an MD5 operation, writing a new context. */ - -void -MD5Init (MD5_CTX *context) -{ - - context->count[0] = context->count[1] = 0; - - /* Load magic initialization constants. */ - context->state[0] = 0x67452301; - context->state[1] = 0xefcdab89; - context->state[2] = 0x98badcfe; - context->state[3] = 0x10325476; -} - -/* - * MD5 block update operation. Continues an MD5 message-digest - * operation, processing another message block, and updating the - * context. - */ - -void -MD5Update (MD5_CTX *context, const void *in, unsigned int inputLen) -{ - unsigned int i, idx, partLen; - const unsigned char *input = in; - - /* Compute number of bytes mod 64 */ - idx = (unsigned int)((context->count[0] >> 3) & 0x3F); - - /* Update number of bits */ - if ((context->count[0] += ((u_int32_t)inputLen << 3)) - < ((u_int32_t)inputLen << 3)) - context->count[1]++; - context->count[1] += ((u_int32_t)inputLen >> 29); - - partLen = 64 - idx; - - /* Transform as many times as possible. */ - if (inputLen >= partLen) { - memcpy((void *)&context->buffer[idx], (const void *)input, - partLen); - MD5Transform (context->state, context->buffer); - - for (i = partLen; i + 63 < inputLen; i += 64) - MD5Transform (context->state, &input[i]); - - idx = 0; - } - else - i = 0; - - /* Buffer remaining input */ - memcpy ((void *)&context->buffer[idx], (const void *)&input[i], - inputLen-i); -} - -/* - * MD5 padding. Adds padding followed by original length. - */ - -void -MD5Pad (MD5_CTX *context) -{ - unsigned char bits[8]; - unsigned int idx, padLen; - - /* Save number of bits */ - Encode (bits, context->count, 8); - - /* Pad out to 56 mod 64. */ - idx = (unsigned int)((context->count[0] >> 3) & 0x3f); - padLen = (idx < 56) ? (56 - idx) : (120 - idx); - MD5Update (context, PADDING, padLen); - - /* Append length (before padding) */ - MD5Update (context, bits, 8); -} - -/* - * MD5 finalization. Ends an MD5 message-digest operation, writing the - * the message digest and zeroizing the context. - */ - -void -MD5Final (unsigned char digest[16], MD5_CTX *context) -{ - /* Do padding. */ - MD5Pad (context); - - /* Store state in digest */ - Encode (digest, context->state, 16); - - /* Zeroize sensitive information. */ - explicit_bzero(context, sizeof(*context)); -} - -/* MD5 basic transformation. Transforms state based on block. */ - -static void -MD5Transform (u_int32_t state[4], const unsigned char block[64]) -{ - u_int32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16]; - - Decode (x, block, 64); - - /* Round 1 */ -#define S11 7 -#define S12 12 -#define S13 17 -#define S14 22 - FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */ - FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */ - FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */ - FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */ - FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */ - FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */ - FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */ - FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */ - FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */ - FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */ - FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */ - FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */ - FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */ - FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */ - FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */ - FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */ - - /* Round 2 */ -#define S21 5 -#define S22 9 -#define S23 14 -#define S24 20 - GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */ - GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */ - GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */ - GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */ - GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */ - GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */ - GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */ - GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */ - GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */ - GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */ - GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */ - GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */ - GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */ - GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */ - GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */ - GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */ - - /* Round 3 */ -#define S31 4 -#define S32 11 -#define S33 16 -#define S34 23 - HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */ - HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */ - HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */ - HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */ - HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */ - HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */ - HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */ - HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */ - HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */ - HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */ - HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */ - HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */ - HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */ - HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */ - HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */ - HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */ - - /* Round 4 */ -#define S41 6 -#define S42 10 -#define S43 15 -#define S44 21 - II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */ - II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */ - II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */ - II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */ - II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */ - II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */ - II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */ - II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */ - II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */ - II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */ - II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */ - II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */ - II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */ - II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */ - II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */ - II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */ - - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - - /* Zeroize sensitive information. */ - memset ((void *)x, 0, sizeof (x)); -} - -#ifdef WEAK_REFS -/* When building libmd, provide weak references. Note: this is not - activated in the context of compiling these sources for internal - use in libcrypt. - */ -#undef MD5Init -__weak_reference(_libmd_MD5Init, MD5Init); -#undef MD5Update -__weak_reference(_libmd_MD5Update, MD5Update); -#undef MD5Pad -__weak_reference(_libmd_MD5Pad, MD5Pad); -#undef MD5Final -__weak_reference(_libmd_MD5Final, MD5Final); -#undef MD5Transform -__weak_reference(_libmd_MD5Transform, MD5Transform); -#endif diff --git a/lib/libssp/Makefile b/lib/libssp/Makefile index c481839ee324..d4038b705acb 100644 --- a/lib/libssp/Makefile +++ b/lib/libssp/Makefile @@ -27,7 +27,7 @@ CFLAGS+= -I${SRCTOP}/lib/libc/include # _elf_aux_info is exported from libc as elf_aux_info(3), so just that for the # libssp build instead. CFLAGS+= -D_elf_aux_info=elf_aux_info -SRCS+= stack_protector.c +SRCS+= libc_stack_protector.c # Stack protection on libssp symbols should be considered harmful, as we may # be talking about, for example, the guard setup constructor. diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 6064a6780921..3d46b9c7ffa1 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -189,8 +189,8 @@ SRCS+= g_eli_hmac.c pkcs5v2.c .PATH: ${SYSDIR}/crypto/sha2 SRCS+= sha256c.c sha512c.c -# md5 from libmd -.PATH: ${SRCTOP}/lib/libmd +# md5 from the kernel +.PATH: ${SYSDIR}/kern SRCS+= md5c.c .if ${DO32:U0} == 0 diff --git a/sys/kern/md5c.c b/sys/kern/md5c.c index cc28ba484e95..b1ceac656cdd 100644 --- a/sys/kern/md5c.c +++ b/sys/kern/md5c.c @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: RSA-MD + * * MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm * * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All @@ -26,10 +28,6 @@ * edited for clarity and style only. */ -/* - * This file should be kept in sync with src/lib/libmd/md5c.c - */ - #include #ifdef _KERNEL @@ -220,7 +218,7 @@ MD5Final(unsigned char digest[static MD5_DIGEST_LENGTH], MD5_CTX *context) Encode (digest, context->state, MD5_DIGEST_LENGTH); /* Zeroize sensitive information. */ - memset (context, 0, sizeof (*context)); + explicit_bzero (context, sizeof (*context)); } /* MD5 basic transformation. Transforms state based on block. */ @@ -328,3 +326,18 @@ MD5Transform(uint32_t state[4], const unsigned char block[64]) /* Zeroize sensitive information. */ memset ((void *)x, 0, sizeof (x)); } + +#ifdef WEAK_REFS +/* When building libmd, provide weak references. Note: this is not + activated in the context of compiling these sources for internal + use in libcrypt. + */ +#undef MD5Init +__weak_reference(_libmd_MD5Init, MD5Init); +#undef MD5Update +__weak_reference(_libmd_MD5Update, MD5Update); +#undef MD5Final +__weak_reference(_libmd_MD5Final, MD5Final); +#undef MD5Transform +__weak_reference(_libmd_MD5Transform, MD5Transform); +#endif diff --git a/sys/sys/md5.h b/sys/sys/md5.h index ac9a1dbfe4ae..2320a1a860bb 100644 --- a/sys/sys/md5.h +++ b/sys/sys/md5.h @@ -29,6 +29,8 @@ documentation and/or software. #ifndef _SYS_MD5_H_ #define _SYS_MD5_H_ +#include + #define MD5_BLOCK_LENGTH 64 #define MD5_DIGEST_LENGTH 16 #define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1) @@ -40,6 +42,46 @@ typedef struct MD5Context { unsigned char buffer[64]; /* input buffer */ } MD5_CTX; +#ifndef _KERNEL + +/* Ensure libmd symbols do not clash with libcrypto */ + +#ifndef MD5Init +#define MD5Init _libmd_MD5Init +#endif +#ifndef MD5Update +#define MD5Update _libmd_MD5Update +#endif +#ifndef MD5Pad +#define MD5Pad _libmd_MD5Pad +#endif +#ifndef MD5Final +#define MD5Final _libmd_MD5Final +#endif +#ifndef MD5Transform +#define MD5Transform _libmd_MD5Transform +#endif +#ifndef MD5End +#define MD5End _libmd_MD5End +#endif +#ifndef MD5Fd +#define MD5Fd _libmd_MD5Fd +#endif +#ifndef MD5FdChunk +#define MD5FdChunk _libmd_MD5FdChunk +#endif +#ifndef MD5File +#define MD5File _libmd_MD5File +#endif +#ifndef MD5FileChunk +#define MD5FileChunk _libmd_MD5FileChunk +#endif +#ifndef MD5Data +#define MD5Data _libmd_MD5Data +#endif + +#endif + #include __BEGIN_DECLS From nobody Mon Sep 30 03:36:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DQ2PZDz5XfNr; Mon, 30 Sep 2024 03:36:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DQ15gTz43cN; Mon, 30 Sep 2024 03:36:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jZKgSWGEuF4OSP+n5fWZp8YvgwmCoQI+fz1zmddlc0A=; b=RtAPUiyq9QxRqGm5J9H+9pE6P03Es2QEUBtpE6z9Whw57lvIkXDFRhqkPRj3tUeTkaJQFG 6gp+zRcFOyGzsYx8V2LVaMLY0ps213vx1D9Ow8aNOmzTJvFSVRu9BV8sMBZNnvk1DgjJzA DIqshZxwG16Zxo8lOu8+tjbcSgfit5KkmEZDoZ0mv2aUuknfDOOgV+iHz32l4L4iqsrtx4 AONY8sOUVJpVfnBZ096JTiMMeNHJ8g3BMtqU6xoixE1MdoQKazHdE9jUttjJ3g3Z24fkuE hv1z/cBTkMW+HU3wpbx7OZKkbfYPn/AfemfaKUDQGEi6ImTAWTE4/6hfvnas2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jZKgSWGEuF4OSP+n5fWZp8YvgwmCoQI+fz1zmddlc0A=; b=PiymNjZLJlgPm9xTlJBJM0IYpZ795bx+ya7LPRl7NiNfSjeSmuq1P6EIYeeySqMNEP9cE+ ZET2YTqFMmA2TLCs5w31l1XsvoVMdwstuO0QSqURKoUFQ34LpKSjZsxRRrReLLpOv2ttFy llFoPO8XVHPhYRsEz+5fSfXkqGsJ5qlmqPz5WOWjIECKiFWUulIIYEAl7Y/O/fYBQ95YOv WzWVEkQRPRehsz69Dk8tv/mjsEzxgOpPPIgYYmnfaqVUQ/0SYirp4WWwwR8PeM9ZNZaetJ 5sTv1IqvjTiCXfZshQuF30NviMIlCDONDfR4j2agArHn0795stGtsAuAuQxnlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667366; a=rsa-sha256; cv=none; b=SIZLGcYObJcE4I7MDLrSFgm4xY6Rz3jzYJyLLOgxQCUGYBrG2Hls9AOwr4HlxlNiiffTvu JzUhoa3bXq5QNngogyKMFp1g8FgIGqcz+d2L52PUucPd5gAHSVo6H40a0BwSltpEczO6so iYlthjZKt1OTXzsVQRr9oGqvC8Zj/R9qcN29cZD7nmK9ZjXNg0EtqRpRBTomVOA2KryYVN WYXCzGWJjO00qIupoeALN+sRq412mXoEmSIMbn7t2uTfKh6oPwuBSqYpy9pz/Y3EG8iMqj hmJhGVnjoLbfJyuZRfVxS5ELeQbl/jJ6uWkFcES084U/I6AAB7XgNk5IW+GphQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DP6bLCzcjL; Mon, 30 Sep 2024 03:36:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3a5kP067008; Mon, 30 Sep 2024 03:36:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3a5Ct067005; Mon, 30 Sep 2024 03:36:05 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:05 GMT Message-Id: <202409300336.48U3a5Ct067005@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: d61f4b481f48 - main - libmd: stop exporting _block symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d61f4b481f4876a8640830f9b06c8ffa2bdcae7d Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d61f4b481f4876a8640830f9b06c8ffa2bdcae7d commit d61f4b481f4876a8640830f9b06c8ffa2bdcae7d Author: Kyle Evans AuthorDate: 2022-03-08 15:52:01 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:18 +0000 libmd: stop exporting _block symbols These are needed across compilation units so we can keep the _libmd_ prefixing bits (though I suspect we're not likely to collide), but we don't need to be exporting the unprefixed versions of these; it's an implementation detail. PR: 280784 (exp-run) Reviewed by: delphij, fuz Differential Revision: https://reviews.freebsd.org/D34498 --- lib/libmd/rmd160c.c | 2 -- lib/libmd/sha1c.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/lib/libmd/rmd160c.c b/lib/libmd/rmd160c.c index 66ba0a5e5c72..afc20545dd3d 100644 --- a/lib/libmd/rmd160c.c +++ b/lib/libmd/rmd160c.c @@ -544,6 +544,4 @@ __weak_reference(_libmd_RIPEMD160_Final, RIPEMD160_Final); __weak_reference(_libmd_RIPEMD160_Transform, RIPEMD160_Transform); #undef RMD160_version __weak_reference(_libmd_RMD160_version, RMD160_version); -#undef ripemd160_block -__weak_reference(_libmd_ripemd160_block, ripemd160_block); #endif diff --git a/lib/libmd/sha1c.c b/lib/libmd/sha1c.c index 299a9149be4a..42b554c83ed1 100644 --- a/lib/libmd/sha1c.c +++ b/lib/libmd/sha1c.c @@ -487,8 +487,6 @@ __weak_reference(_libmd_SHA_Final, SHA_Final); __weak_reference(_libmd_SHA_Transform, SHA_Transform); #undef SHA_version __weak_reference(_libmd_SHA_version, SHA_version); -#undef sha_block -__weak_reference(_libmd_sha_block, sha_block); #undef SHA1_Init __weak_reference(_libmd_SHA1_Init, SHA1_Init); #undef SHA1_Update @@ -499,6 +497,4 @@ __weak_reference(_libmd_SHA1_Final, SHA1_Final); __weak_reference(_libmd_SHA1_Transform, SHA1_Transform); #undef SHA1_version __weak_reference(_libmd_SHA1_version, SHA1_version); -#undef sha1_block -__weak_reference(_libmd_sha1_block, sha1_block); #endif From nobody Mon Sep 30 03:36:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DR4pxFz5Xf6b; Mon, 30 Sep 2024 03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DR2g5rz43Fc; Mon, 30 Sep 2024 03: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=1727667367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H71xsEUwgvcMNpbLLD0PTqO2PZXLmvQkq11BkpNaTOU=; b=yMfUUSuRJUH4DlOSzcdUMIzNtkhILpe5Zh+WMU1V7taqvxTfVLh6/P8OiOeox87aCDsht9 rBRh0CpN3YBTsZ9SHA5ikvXHf8qAzytgB3SVJ70MhoEyurMQbB1TwEceLz0bl2N4lkczag +QpUmpsyKk94KjjPM0NOGB2l0AJWJLYzDkUvmafHayyJNhWrXhAmEGidj9gwsmAnA0G+MF YlJh8BI8pWZ1K6eHxYqPclcnfxexkfCEr3YM1+pjffBjYfYHJIfVoZmiPegpqfZ7EwSpiw yZqCtFTRNdS50EzrB188R1mhQQAjnSm/RJVyY3TMS4RmDLV18ziKvfh3M4n/sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H71xsEUwgvcMNpbLLD0PTqO2PZXLmvQkq11BkpNaTOU=; b=GuFqfwTU/Z8gLVCVQ0vN+4xlqyOZQH2davq8eN8nKGN9rtoN+2ppguuJ4vaWY4cVA27ExH XCTIHLLYPQ5dcJpp2CnsvAVmOIn9Ao4o3pUQ6hqwBVMS91RfGYpOd1URt9xhXz0bATLiAu 27aWi6GjuMS4wWHKk7wLkJY8FQYr37nLPkKN4Pq7LXqHNif78hnRObn7P4TR9ckYEiEArz JixFYYhz9r28Q5ZZSGS3wkKBzMdDmZRgAbEKaAR8g/qgfaUS4n4gX4e61PAFhCeU9yFoR8 j9/uHgiWDZSqzKtGycNVoP/rOpC6RqCTBHU8CYbjcqWsgfjDspB0BNMJwX0qMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667367; a=rsa-sha256; cv=none; b=yOZAOyrhhmsqbYw3gok5qSdIAWA/Ix/LNGEpqZrycr9DBhpnq2CED1QWfWprv70tP4ciko 0oc51zCm77GjD6TRr6PFUOf52IJkCRSb3nkV3OiWS8Ow1s8dl7g2JnYyoMSQx3xXyH0D4b 49AL2IeneQMqPQM1ZHwlKogHR5WePsz3JNJlpYc1Qy4GP/3LvEiPe5BNiUL/4aQTV2NolL WGxwBfcFSm/PIP5oa3MyCdEnta2sFtWUJsABCbiSsh9yu0A2R/iDj33hhcjq8GNcF1gyY7 SWlYUHeUChFyALdzZNIX6HkWmni+fBMqL/+mq5XkFNqr2VhpZMOsjJZ7mdu9/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 4XH6DR1DRZzcd8; Mon, 30 Sep 2024 03:36:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3a730067046; Mon, 30 Sep 2024 03:36:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3a6ng067043; Mon, 30 Sep 2024 03:36:06 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:06 GMT Message-Id: <202409300336.48U3a6ng067043@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: e25527f75f73 - main - libmd: symbol versioning List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e25527f75f73665517c7a449cdc6a29fa4c90c1c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e25527f75f73665517c7a449cdc6a29fa4c90c1c commit e25527f75f73665517c7a449cdc6a29fa4c90c1c Author: Kyle Evans AuthorDate: 2022-03-08 16:12:19 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:19 +0000 libmd: symbol versioning The primary benefit sought is exporting _libmd_* symbols in a private namespace, and avoiding export of some other implementation details that are shared amongst TUs. PR: 280784 (exp-run) Reviewed by: fuz Differential Revision: https://reviews.freebsd.org/D34499 --- lib/libmd/Makefile | 3 + lib/libmd/Symbol.map | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 275 insertions(+) diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 0a0890e06550..9412adaf5a56 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -19,6 +19,9 @@ INCS= md4.h md5.h ripemd.h sha.h sha224.h sha256.h sha384.h sha512.h \ WARNS?= 0 +VERSION_DEF= ${SRCTOP}/lib/libc/Versions.def +SYMBOL_MAPS= ${.CURDIR}/Symbol.map + MAN+= md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3 skein.3 MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Final.3 MLINKS+=md4.3 MD4End.3 md4.3 MD4File.3 md4.3 MD4FileChunk.3 diff --git a/lib/libmd/Symbol.map b/lib/libmd/Symbol.map new file mode 100644 index 000000000000..9ac73e5bb5fd --- /dev/null +++ b/lib/libmd/Symbol.map @@ -0,0 +1,272 @@ +FBSD_1.7 { + MD4Data; + MD4End; + MD4Fd; + MD4FdChunk; + MD4File; + MD4FileChunk; + MD4Final; + MD4Init; + MD4Pad; + MD4Update; + MD5Data; + MD5End; + MD5Fd; + MD5FdChunk; + MD5File; + MD5FileChunk; + MD5Final; + MD5Init; + MD5Transform; + MD5Update; + RIPEMD160_Data; + RIPEMD160_End; + RIPEMD160_Fd; + RIPEMD160_FdChunk; + RIPEMD160_File; + RIPEMD160_FileChunk; + RIPEMD160_Final; + RIPEMD160_Init; + RIPEMD160_Transform; + RIPEMD160_Update; + RMD160_version; + SHA1_Data; + SHA1_End; + SHA1_Fd; + SHA1_FdChunk; + SHA1_File; + SHA1_FileChunk; + SHA1_Final; + SHA1_Init; + SHA1_Transform; + SHA1_Update; + SHA1_version; + SHA224_Data; + SHA224_End; + SHA224_Fd; + SHA224_FdChunk; + SHA224_File; + SHA224_FileChunk; + SHA224_Final; + SHA224_Init; + SHA224_Update; + SHA256_Data; + SHA256_End; + SHA256_Fd; + SHA256_FdChunk; + SHA256_File; + SHA256_FileChunk; + SHA256_Final; + SHA256_Init; + SHA256_Transform; + SHA256_Update; + SHA384_Data; + SHA384_End; + SHA384_Fd; + SHA384_FdChunk; + SHA384_File; + SHA384_FileChunk; + SHA384_Final; + SHA384_Init; + SHA384_Update; + SHA512_224_Data; + SHA512_224_End; + SHA512_224_Fd; + SHA512_224_FdChunk; + SHA512_224_File; + SHA512_224_FileChunk; + SHA512_224_Final; + SHA512_224_Init; + SHA512_224_Update; + SHA512_256_Data; + SHA512_256_End; + SHA512_256_Fd; + SHA512_256_FdChunk; + SHA512_256_File; + SHA512_256_FileChunk; + SHA512_256_Final; + SHA512_256_Init; + SHA512_256_Update; + SHA512_Data; + SHA512_End; + SHA512_Fd; + SHA512_FdChunk; + SHA512_File; + SHA512_FileChunk; + SHA512_Final; + SHA512_Init; + SHA512_Transform; + SHA512_Update; + SHA_Data; + SHA_End; + SHA_Fd; + SHA_FdChunk; + SHA_File; + SHA_FileChunk; + SKEIN1024_Data; + SKEIN1024_End; + SKEIN1024_Fd; + SKEIN1024_FdChunk; + SKEIN1024_File; + SKEIN1024_FileChunk; + SKEIN1024_Final; + SKEIN1024_Init; + SKEIN1024_Update; + SKEIN256_Data; + SKEIN256_End; + SKEIN256_Fd; + SKEIN256_FdChunk; + SKEIN256_File; + SKEIN256_FileChunk; + SKEIN256_Final; + SKEIN256_Init; + SKEIN256_Update; + SKEIN512_Data; + SKEIN512_End; + SKEIN512_Fd; + SKEIN512_FdChunk; + SKEIN512_File; + SKEIN512_FileChunk; + SKEIN512_Final; + SKEIN512_Init; + SKEIN512_Update; +}; + +FBSDprivate_1.0 { + _libmd_MD4Data; + _libmd_MD4End; + _libmd_MD4Fd; + _libmd_MD4FdChunk; + _libmd_MD4File; + _libmd_MD4FileChunk; + _libmd_MD4Final; + _libmd_MD4Init; + _libmd_MD4Pad; + _libmd_MD4Update; + _libmd_MD5Data; + _libmd_MD5End; + _libmd_MD5Fd; + _libmd_MD5FdChunk; + _libmd_MD5File; + _libmd_MD5FileChunk; + _libmd_MD5Final; + _libmd_MD5Init; + _libmd_MD5Transform; + _libmd_MD5Update; + _libmd_RIPEMD160_Data; + _libmd_RIPEMD160_End; + _libmd_RIPEMD160_Fd; + _libmd_RIPEMD160_FdChunk; + _libmd_RIPEMD160_File; + _libmd_RIPEMD160_FileChunk; + _libmd_RIPEMD160_Final; + _libmd_RIPEMD160_Init; + _libmd_RIPEMD160_Transform; + _libmd_RIPEMD160_Update; + _libmd_RMD160_version; + _libmd_SHA1_Data; + _libmd_SHA1_End; + _libmd_SHA1_Fd; + _libmd_SHA1_FdChunk; + _libmd_SHA1_File; + _libmd_SHA1_FileChunk; + _libmd_SHA1_Final; + _libmd_SHA1_Init; + _libmd_SHA1_Transform; + _libmd_SHA1_Update; + _libmd_SHA1_version; + _libmd_SHA224_Data; + _libmd_SHA224_End; + _libmd_SHA224_Fd; + _libmd_SHA224_FdChunk; + _libmd_SHA224_File; + _libmd_SHA224_FileChunk; + _libmd_SHA224_Final; + _libmd_SHA224_Init; + _libmd_SHA224_Update; + _libmd_SHA256_Data; + _libmd_SHA256_End; + _libmd_SHA256_Fd; + _libmd_SHA256_FdChunk; + _libmd_SHA256_File; + _libmd_SHA256_FileChunk; + _libmd_SHA256_Final; + _libmd_SHA256_Init; + _libmd_SHA256_Transform; + _libmd_SHA256_Update; + _libmd_SHA384_Data; + _libmd_SHA384_End; + _libmd_SHA384_Fd; + _libmd_SHA384_FdChunk; + _libmd_SHA384_File; + _libmd_SHA384_FileChunk; + _libmd_SHA384_Final; + _libmd_SHA384_Init; + _libmd_SHA384_Update; + _libmd_SHA512_224_Data; + _libmd_SHA512_224_End; + _libmd_SHA512_224_Fd; + _libmd_SHA512_224_FdChunk; + _libmd_SHA512_224_File; + _libmd_SHA512_224_FileChunk; + _libmd_SHA512_224_Final; + _libmd_SHA512_224_Init; + _libmd_SHA512_224_Update; + _libmd_SHA512_256_Data; + _libmd_SHA512_256_End; + _libmd_SHA512_256_Fd; + _libmd_SHA512_256_FdChunk; + _libmd_SHA512_256_File; + _libmd_SHA512_256_FileChunk; + _libmd_SHA512_256_Final; + _libmd_SHA512_256_Init; + _libmd_SHA512_256_Update; + _libmd_SHA512_Data; + _libmd_SHA512_End; + _libmd_SHA512_Fd; + _libmd_SHA512_FdChunk; + _libmd_SHA512_File; + _libmd_SHA512_FileChunk; + _libmd_SHA512_Final; + _libmd_SHA512_Init; + _libmd_SHA512_Transform; + _libmd_SHA512_Update; + _libmd_SHA_Data; + _libmd_SHA_End; + _libmd_SHA_Fd; + _libmd_SHA_FdChunk; + _libmd_SHA_File; + _libmd_SHA_FileChunk; + _libmd_SHA_Final; + _libmd_SHA_Init; + _libmd_SHA_Transform; + _libmd_SHA_Update; + _libmd_SHA_version; + _libmd_SKEIN1024_Data; + _libmd_SKEIN1024_End; + _libmd_SKEIN1024_Fd; + _libmd_SKEIN1024_FdChunk; + _libmd_SKEIN1024_File; + _libmd_SKEIN1024_FileChunk; + _libmd_SKEIN1024_Final; + _libmd_SKEIN1024_Init; + _libmd_SKEIN1024_Update; + _libmd_SKEIN256_Data; + _libmd_SKEIN256_End; + _libmd_SKEIN256_Fd; + _libmd_SKEIN256_FdChunk; + _libmd_SKEIN256_File; + _libmd_SKEIN256_FileChunk; + _libmd_SKEIN256_Final; + _libmd_SKEIN256_Init; + _libmd_SKEIN256_Update; + _libmd_SKEIN512_Data; + _libmd_SKEIN512_End; + _libmd_SKEIN512_Fd; + _libmd_SKEIN512_FdChunk; + _libmd_SKEIN512_File; + _libmd_SKEIN512_FileChunk; + _libmd_SKEIN512_Final; + _libmd_SKEIN512_Init; + _libmd_SKEIN512_Update; +}; From nobody Mon Sep 30 03:36:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DS4fdXz5XfQt; Mon, 30 Sep 2024 03:36:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DS34qJz43Wk; Mon, 30 Sep 2024 03:36:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aQKxLXK0/4lMhaJHuxabLOhkv9Hf17Nb+d01A1xh3BE=; b=pMSv/JtgtZl+PuzDKK+7vTeOUM9MaA8dIdnYJb0E38+hO+SBoFBAKR8BKsYItbPz3YIL80 iLrZOBPZ9yLEpSidMIV2ci255CTHzggPwTj/28vsvBKamnJZsmM0foUF7yKLMIMl4Gy8mP I4YZ6fW3GIN8JD+HzYrGGD68thMPpvTcTHKxxuowtVD9dE+2M6v2exi0jLMJtOED24J62s CaphgAIN/nKUwrQdGp1pQ2MlA/hzrJpVpEdXPT4kJGkLgjXa7LUiuzJ69r6EIEG5tX+sJ+ aheUWU78aNp7QRqDpp7456b6xC/jGtyHYoGo1YWMhnMbnqxRL7aR3RDh1Ev9Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aQKxLXK0/4lMhaJHuxabLOhkv9Hf17Nb+d01A1xh3BE=; b=xObtHMBVt8fke51oOwOhK516KpebpQq9XS1IOiZKSz/C/D52u3RI7Del3tMhN7OhDiDQAR FP8E5fem2DL/H2CXvm26uSwkaUuPPHTwxBehGmm2lkWbAcff98sPYlcP1mZw0gXr3Mmq2s 2aGkUoOJkbemInn++ewNJRn8MfIc3hoy3SqcAjmLpYRynmZAigubHNGNDN/jrSlRVPWIKQ 5N8E0WXsw2uEybl7+KIhH6xSFpUVoj7BlBaftpjqM/ceAMC6hnOdRT6Lwtqpi7UwBhYs53 njZMmCpEley+s50R7+EzpOO4aabNXs1qUIx5p5ZPAd8YDU/wrsp4tt/VP17CaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667368; a=rsa-sha256; cv=none; b=NU3hrJliFyMDinYxBY08ecVIX+68+ZN3Lh4TU0/jZ3B2JaUcwylQ9ZpMZygydgvC6BeB6A siqleTA4uYOGB3s0pkW3xicY7MDuuXzDCyStg4BSSJFG6iVs+YKmL0dehoRnY0MCThHqGH nekkch+G6cqhQdJhUwto8pJ2ywnGLovEsBShPYSNL5WBRwodZpr7X8CZ0+tFs8JOQFDKpU YCgUfKbDBNYGYmUd2T6upCRi30v7ky36/NXhCTuXXZaTpUB8QW1HejFrNuFJSr+WQEDfbE 0FkjT2kBro3JkZBYm9AVP5RyB/5iG8zINZ4zMACriY3NSxw0FtJ4V13qm28gyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DS1YPHzcvP; Mon, 30 Sep 2024 03:36:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3a86G067099; Mon, 30 Sep 2024 03:36:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3a89P067096; Mon, 30 Sep 2024 03:36:08 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:08 GMT Message-Id: <202409300336.48U3a89P067096@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: e0c51286dd6d - main - libmd: split tests out into the test infrastructure List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e0c51286dd6d1c1ce6d3761933a028cc3dcdd6ca Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e0c51286dd6d1c1ce6d3761933a028cc3dcdd6ca commit e0c51286dd6d1c1ce6d3761933a028cc3dcdd6ca Author: Kyle Evans AuthorDate: 2022-03-08 17:16:13 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:19 +0000 libmd: split tests out into the test infrastructure Make us a little less reliant on individuals running the tests, we'll start running them as part of CI. PR: 280784 (exp-run) Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D34500 --- etc/mtree/BSD.tests.dist | 2 + lib/libmd/Makefile | 245 +--------------------------------- lib/libmd/tests/Makefile | 258 ++++++++++++++++++++++++++++++++++++ lib/libmd/{ => tests}/mddriver.c | 0 lib/libmd/{ => tests}/rmddriver.c | 0 lib/libmd/{ => tests}/shadriver.c | 0 lib/libmd/{ => tests}/skeindriver.c | 0 7 files changed, 262 insertions(+), 243 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index ac53de071c11..67dc71fbfda4 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -427,6 +427,8 @@ .. libkvm .. + libmd + .. libmp .. libnv diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 9412adaf5a56..d8c32063d6ce 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -237,248 +237,7 @@ md${i}.3: ${.CURDIR}/mdX.3 cat ${.CURDIR}/md${i}.copyright >> ${.TARGET} .endfor -md4.ref: - echo 'MD4 test suite:' > ${.TARGET} - @echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> ${.TARGET} - @echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> ${.TARGET} - @echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> ${.TARGET} - @echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> ${.TARGET} - @echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> ${.TARGET} - @echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '043f8582f241db351ce627e153e7f0e4' >> ${.TARGET} - @echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET} - -md5.ref: - echo 'MD5 test suite:' > ${.TARGET} - @echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> ${.TARGET} - @echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> ${.TARGET} - @echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> ${.TARGET} - @echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> ${.TARGET} - @echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> ${.TARGET} - @echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> ${.TARGET} - @echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> ${.TARGET} - -sha0.ref: - echo 'SHA-0 test suite:' > ${.TARGET} - @echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET} - @echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET} - @echo 'SHA-0 ("message digest") =' \ - 'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET} - @echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET} - @echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET} - @echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET} - -sha1.ref: - echo 'SHA-1 test suite:' > ${.TARGET} - @echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET} - @echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET} - @echo 'SHA-1 ("message digest") =' \ - 'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET} - @echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \ - '32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET} - @echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET} - @echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET} - -sha224.ref: - echo 'SHA-224 test suite:' > ${.TARGET} - @echo 'SHA-224 ("") = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f' >> ${.TARGET} - @echo 'SHA-224 ("abc") =' \ - '23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7' >> ${.TARGET} - @echo 'SHA-224 ("message digest") =' \ - '2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb' >> ${.TARGET} - @echo 'SHA-224 ("abcdefghijklmnopqrstuvwxyz") =' \ - '45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2' >> ${.TARGET} - @echo 'SHA-224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9' >> ${.TARGET} - @echo 'SHA-224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e' >> ${.TARGET} - -sha256.ref: - echo 'SHA-256 test suite:' > ${.TARGET} - @echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET} - @echo 'SHA-256 ("abc") =' \ - 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET} - @echo 'SHA-256 ("message digest") =' \ - 'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET} - @echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \ - '71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET} - @echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET} - @echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET} - -sha384.ref: - echo 'SHA-384 test suite:' > ${.TARGET} - @echo 'SHA-384 ("") =' \ - '38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b' >> ${.TARGET} - @echo 'SHA-384 ("abc") =' \ - 'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7' >> ${.TARGET} - @echo 'SHA-384 ("message digest") =' \ - '473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5' >> ${.TARGET} - @echo 'SHA-384 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4' >> ${.TARGET} - @echo 'SHA-384 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84' >> ${.TARGET} - @echo 'SHA-384 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026' >> ${.TARGET} - -sha512.ref: - echo 'SHA-512 test suite:' > ${.TARGET} - @echo 'SHA-512 ("") =' \ - 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET} - @echo 'SHA-512 ("abc") =' \ - 'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET} - @echo 'SHA-512 ("message digest") =' \ - '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} - @echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \ - '4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET} - @echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET} - @echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET} - -sha512t224.ref: - echo 'SHA-512224 test suite:' > ${.TARGET} - @echo 'SHA-512224 ("") =' \ - '6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4' >> ${.TARGET} - @echo 'SHA-512224 ("abc") =' \ - '4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa' >> ${.TARGET} - @echo 'SHA-512224 ("message digest") =' \ - 'ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564' >> ${.TARGET} - @echo 'SHA-512224 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8' >> ${.TARGET} - @echo 'SHA-512224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3' >> ${.TARGET} - @echo 'SHA-512224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2' >> ${.TARGET} - -sha512t256.ref: - echo 'SHA-512256 test suite:' > ${.TARGET} - @echo 'SHA-512256 ("") =' \ - 'c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a' >> ${.TARGET} - @echo 'SHA-512256 ("abc") =' \ - '53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23' >> ${.TARGET} - @echo 'SHA-512256 ("message digest") =' \ - '0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb' >> ${.TARGET} - @echo 'SHA-512256 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26' >> ${.TARGET} - @echo 'SHA-512256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8' >> ${.TARGET} - @echo 'SHA-512256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148' >> ${.TARGET} - -rmd160.ref: - echo 'RIPEMD160 test suite:' > ${.TARGET} - @echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET} - @echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET} - @echo 'RIPEMD160 ("message digest") =' \ - '5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} - @echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} - @echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} - @echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} - -skein256.ref: - echo 'SKEIN256 test suite:' > ${.TARGET} - @echo 'SKEIN256 ("") = c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba' >> ${.TARGET} - @echo 'SKEIN256 ("abc") = 258bdec343b9fde1639221a5ae0144a96e552e5288753c5fec76c05fc2fc1870' >> ${.TARGET} - @echo 'SKEIN256 ("message digest") =' \ - '4d2ce0062b5eb3a4db95bc1117dd8aa014f6cd50fdc8e64f31f7d41f9231e488' >> ${.TARGET} - @echo 'SKEIN256 ("abcdefghijklmnopqrstuvwxyz") =' \ - '46d8440685461b00e3ddb891b2ecc6855287d2bd8834a95fb1c1708b00ea5e82' >> ${.TARGET} - @echo 'SKEIN256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '7c5eb606389556b33d34eb2536459528dc0af97adbcd0ce273aeb650f598d4b2' >> ${.TARGET} - @echo 'SKEIN256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '4def7a7e5464a140ae9c3a80279fbebce4bd00f9faad819ab7e001512f67a10d' >> ${.TARGET} - -skein512.ref: - echo 'SKEIN512 test suite:' > ${.TARGET} - @echo 'SKEIN512 ("") =' \ - 'bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a' >> ${.TARGET} - @echo 'SKEIN512 ("abc") =' \ - '8f5dd9ec798152668e35129496b029a960c9a9b88662f7f9482f110b31f9f93893ecfb25c009baad9e46737197d5630379816a886aa05526d3a70df272d96e75' >> ${.TARGET} - @echo 'SKEIN512 ("message digest") =' \ - '15b73c158ffb875fed4d72801ded0794c720b121c0c78edf45f900937e6933d9e21a3a984206933d504b5dbb2368000411477ee1b204c986068df77886542fcc' >> ${.TARGET} - @echo 'SKEIN512 ("abcdefghijklmnopqrstuvwxyz") =' \ - '23793ad900ef12f9165c8080da6fdfd2c8354a2929b8aadf83aa82a3c6470342f57cf8c035ec0d97429b626c4d94f28632c8f5134fd367dca5cf293d2ec13f8c' >> ${.TARGET} - @echo 'SKEIN512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - '0c6bed927e022f5ddcf81877d42e5f75798a9f8fd3ede3d83baac0a2f364b082e036c11af35fe478745459dd8f5c0b73efe3c56ba5bb2009208d5a29cc6e469c' >> ${.TARGET} - @echo 'SKEIN512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - '2ca9fcffb3456f297d1b5f407014ecb856f0baac8eb540f534b1f187196f21e88f31103128c2f03fcc9857d7a58eb66f9525e2302d88833ee069295537a434ce' >> ${.TARGET} - -skein1024.ref: - echo 'SKEIN1024 test suite:' > ${.TARGET} - @echo 'SKEIN1024 ("") =' \ - '0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6' >> ${.TARGET} - @echo 'SKEIN1024 ("abc") =' \ - '35a599a0f91abcdb4cb73c19b8cb8d947742d82c309137a7caed29e8e0a2ca7a9ff9a90c34c1908cc7e7fd99bb15032fb86e76df21b72628399b5f7c3cc209d7bb31c99cd4e19465622a049afbb87c03b5ce3888d17e6e667279ec0aa9b3e2712624c01b5f5bbe1a564220bdcf6990af0c2539019f313fdd7406cca3892a1f1f' >> ${.TARGET} - @echo 'SKEIN1024 ("message digest") =' \ - 'ea891f5268acd0fac97467fc1aa89d1ce8681a9992a42540e53babee861483110c2d16f49e73bac27653ff173003e40cfb08516cd34262e6af95a5d8645c9c1abb3e813604d508b8511b30f9a5c1b352aa0791c7d2f27b2706dccea54bc7de6555b5202351751c3299f97c09cf89c40f67187e2521c0fad82b30edbb224f0458' >> ${.TARGET} - @echo 'SKEIN1024 ("abcdefghijklmnopqrstuvwxyz") =' \ - 'f23d95c2a25fbcd0e797cd058fec39d3c52d2b5afd7a9af1df934e63257d1d3dcf3246e7329c0f1104c1e51e3d22e300507b0c3b9f985bb1f645ef49835080536becf83788e17fed09c9982ba65c3cb7ffe6a5f745b911c506962adf226e435c42f6f6bc08d288f9c810e807e3216ef444f3db22744441deefa4900982a1371f' >> ${.TARGET} - @echo 'SKEIN1024 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ - 'cf3889e8a8d11bfd3938055d7d061437962bc5eac8ae83b1b71c94be201b8cf657fdbfc38674997a008c0c903f56a23feb3ae30e012377f1cfa080a9ca7fe8b96138662653fb3335c7d06595bf8baf65e215307532094cfdfa056bd8052ab792a3944a2adaa47b30335b8badb8fe9eb94fe329cdca04e58bbc530f0af709f469' >> ${.TARGET} - @echo 'SKEIN1024 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ - 'cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a' >> ${.TARGET} - -test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha224.ref sha256.ref sha384.ref \ - sha512.ref sha512t224.ref sha512t256.ref skein256.ref skein512.ref skein1024.ref - @${ECHO} if any of these test fail, the code produces wrong results - @${ECHO} and should NOT be used. - ${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a - ./mddriver | cmp md4.ref - - @${ECHO} MD4 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a - ./mddriver | cmp md5.ref - - @${ECHO} MD5 passed test - -rm -f mddriver - ${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c libmd.a - ./rmddriver | cmp rmd160.ref - - @${ECHO} RIPEMD160 passed test - -rm -f rmddriver - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha0.ref - - @${ECHO} SHA-0 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha1.ref - - @${ECHO} SHA-1 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=224 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha224.ref - - @${ECHO} SHA-224 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha256.ref - - @${ECHO} SHA-256 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=384 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha384.ref - - @${ECHO} SHA-384 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha512.ref - - @${ECHO} SHA-512 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512224 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha512t224.ref - - @${ECHO} SHA-512t224 passed test - -rm -f shadriver - ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512256 -o shadriver ${.CURDIR}/shadriver.c libmd.a - ./shadriver | cmp sha512t256.ref - - @${ECHO} SHA-512t256 passed test - -rm -f shadriver - ${CC} ${CFLAGS} ${LDFLAGS} -DSKEIN=256 -o skeindriver ${.CURDIR}/skeindriver.c libmd.a - ./skeindriver | cmp skein256.ref - - @${ECHO} SKEIN256 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSKEIN=512 -o skeindriver ${.CURDIR}/skeindriver.c libmd.a - ./skeindriver | cmp skein512.ref - - @${ECHO} SKEIN512 passed test - ${CC} ${CFLAGS} ${LDFLAGS} -DSKEIN=1024 -o skeindriver ${.CURDIR}/skeindriver.c libmd.a - ./skeindriver | cmp skein1024.ref - - @${ECHO} SKEIN1024 passed test - -rm -f skeindriver +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests .include diff --git a/lib/libmd/tests/Makefile b/lib/libmd/tests/Makefile new file mode 100644 index 000000000000..fa8f2fc4f7f6 --- /dev/null +++ b/lib/libmd/tests/Makefile @@ -0,0 +1,258 @@ +# $FreeBSD$ + +PACKAGE= tests + +# XXX +WARNS= 0 + +ATF_TESTS_SH= libmd_test + +MDTESTS= md rmd sha skein + +MDTESTS_md= md4 md5 +MDTESTS_rmd= rmd160 +MDTESTS_sha= sha0 sha1 sha224 sha256 sha384 sha512 sha512t224 sha512t256 +MDTESTS_skein= skein256 skein512 skein1024 + +LIBADD= md + +.for mdt in ${MDTESTS} +REFS_${mdt}= ${MDTESTS_${mdt}:C/$/.ref/} +${PACKAGE}FILES+= ${REFS_${mdt}} +CLEANFILES+= ${REFS_${mdt}} + +# This target is simply convenient for auditing, letting you build all of one +# digest suite with `make driver`. +.PHONY: ${mdt}driver + +. for mdtc in ${MDTESTS_${mdt}} +PROGS+= ${mdtc}driver +DIGESTS+= ${mdtc} + +# Avoid obj collision, we'll build the same driver.c multiple times. +${mdtc}driver.c: ${mdt}driver.c + ${CP} ${.CURDIR}/${mdt}driver.c ${.TARGET} + +SRCS_${mdtc}driver= ${mdtc}driver.c +BINDIR_${mdtc}driver= ${TESTSDIR} +.if ${mdt} == "sha" +CFLAGS_${mdtc}driver= -DSHA=${mdtc:C/sha//:C/t//} +.else +CFLAGS_${mdtc}driver= -D${mdt:tu}=${mdtc:C/${mdt}//} +.endif + +${mdt}driver: ${mdtc}driver + +. endfor +.endfor + +CLEANFILES+= libmd_test.sh +libmd_test.sh: Makefile + :> ${.TARGET} +.for _digest in ${DIGESTS} + @echo "atf_test_case ${_digest}" >> ${.TARGET} + @echo "${_digest}_body() {" >> ${.TARGET} + @echo " atf_check -o file:\$$(atf_get_srcdir)/${_digest}.ref \\" >> \ + ${.TARGET} + @echo " \$$(atf_get_srcdir)/${_digest}driver" >> ${.TARGET} + @echo "}" >> ${.TARGET} +.endfor + @echo "atf_init_test_cases() {" >> ${.TARGET} +.for _digest in ${DIGESTS} + @echo " atf_add_test_case ${_digest}" >> ${.TARGET} +.endfor + @echo "}" >> ${.TARGET} + +md4.ref: + echo 'MD4 test suite:' > ${.TARGET} + @echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> ${.TARGET} + @echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> ${.TARGET} + @echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> ${.TARGET} + @echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> ${.TARGET} + @echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> ${.TARGET} + @echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '043f8582f241db351ce627e153e7f0e4' >> ${.TARGET} + @echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET} + +md5.ref: + echo 'MD5 test suite:' > ${.TARGET} + @echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> ${.TARGET} + @echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> ${.TARGET} + @echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> ${.TARGET} + @echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> ${.TARGET} + @echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> ${.TARGET} + @echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> ${.TARGET} + @echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> ${.TARGET} + +sha0.ref: + echo 'SHA-0 test suite:' > ${.TARGET} + @echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET} + @echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET} + @echo 'SHA-0 ("message digest") =' \ + 'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET} + @echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET} + @echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET} + @echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET} + +sha1.ref: + echo 'SHA-1 test suite:' > ${.TARGET} + @echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET} + @echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET} + @echo 'SHA-1 ("message digest") =' \ + 'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET} + @echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \ + '32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET} + @echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET} + @echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET} + +sha224.ref: + echo 'SHA-224 test suite:' > ${.TARGET} + @echo 'SHA-224 ("") = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f' >> ${.TARGET} + @echo 'SHA-224 ("abc") =' \ + '23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7' >> ${.TARGET} + @echo 'SHA-224 ("message digest") =' \ + '2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb' >> ${.TARGET} + @echo 'SHA-224 ("abcdefghijklmnopqrstuvwxyz") =' \ + '45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2' >> ${.TARGET} + @echo 'SHA-224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9' >> ${.TARGET} + @echo 'SHA-224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e' >> ${.TARGET} + +sha256.ref: + echo 'SHA-256 test suite:' > ${.TARGET} + @echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET} + @echo 'SHA-256 ("abc") =' \ + 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET} + @echo 'SHA-256 ("message digest") =' \ + 'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET} + @echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \ + '71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET} + @echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET} + @echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET} + +sha384.ref: + echo 'SHA-384 test suite:' > ${.TARGET} + @echo 'SHA-384 ("") =' \ + '38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b' >> ${.TARGET} + @echo 'SHA-384 ("abc") =' \ + 'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7' >> ${.TARGET} + @echo 'SHA-384 ("message digest") =' \ + '473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5' >> ${.TARGET} + @echo 'SHA-384 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4' >> ${.TARGET} + @echo 'SHA-384 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84' >> ${.TARGET} + @echo 'SHA-384 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026' >> ${.TARGET} + +sha512.ref: + echo 'SHA-512 test suite:' > ${.TARGET} + @echo 'SHA-512 ("") =' \ + 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET} + @echo 'SHA-512 ("abc") =' \ + 'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET} + @echo 'SHA-512 ("message digest") =' \ + '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} + @echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \ + '4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET} + @echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET} + @echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET} + +sha512t224.ref: + echo 'SHA-512224 test suite:' > ${.TARGET} + @echo 'SHA-512224 ("") =' \ + '6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4' >> ${.TARGET} + @echo 'SHA-512224 ("abc") =' \ + '4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa' >> ${.TARGET} + @echo 'SHA-512224 ("message digest") =' \ + 'ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564' >> ${.TARGET} + @echo 'SHA-512224 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8' >> ${.TARGET} + @echo 'SHA-512224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3' >> ${.TARGET} + @echo 'SHA-512224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2' >> ${.TARGET} + +sha512t256.ref: + echo 'SHA-512256 test suite:' > ${.TARGET} + @echo 'SHA-512256 ("") =' \ + 'c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a' >> ${.TARGET} + @echo 'SHA-512256 ("abc") =' \ + '53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23' >> ${.TARGET} + @echo 'SHA-512256 ("message digest") =' \ + '0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb' >> ${.TARGET} + @echo 'SHA-512256 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26' >> ${.TARGET} + @echo 'SHA-512256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8' >> ${.TARGET} + @echo 'SHA-512256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148' >> ${.TARGET} + +rmd160.ref: + echo 'RIPEMD160 test suite:' > ${.TARGET} + @echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET} + @echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET} + @echo 'RIPEMD160 ("message digest") =' \ + '5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} + @echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} + @echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} + @echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} + +skein256.ref: + echo 'SKEIN256 test suite:' > ${.TARGET} + @echo 'SKEIN256 ("") = c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba' >> ${.TARGET} + @echo 'SKEIN256 ("abc") = 258bdec343b9fde1639221a5ae0144a96e552e5288753c5fec76c05fc2fc1870' >> ${.TARGET} + @echo 'SKEIN256 ("message digest") =' \ + '4d2ce0062b5eb3a4db95bc1117dd8aa014f6cd50fdc8e64f31f7d41f9231e488' >> ${.TARGET} + @echo 'SKEIN256 ("abcdefghijklmnopqrstuvwxyz") =' \ + '46d8440685461b00e3ddb891b2ecc6855287d2bd8834a95fb1c1708b00ea5e82' >> ${.TARGET} + @echo 'SKEIN256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '7c5eb606389556b33d34eb2536459528dc0af97adbcd0ce273aeb650f598d4b2' >> ${.TARGET} + @echo 'SKEIN256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '4def7a7e5464a140ae9c3a80279fbebce4bd00f9faad819ab7e001512f67a10d' >> ${.TARGET} + +skein512.ref: + echo 'SKEIN512 test suite:' > ${.TARGET} + @echo 'SKEIN512 ("") =' \ + 'bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a' >> ${.TARGET} + @echo 'SKEIN512 ("abc") =' \ + '8f5dd9ec798152668e35129496b029a960c9a9b88662f7f9482f110b31f9f93893ecfb25c009baad9e46737197d5630379816a886aa05526d3a70df272d96e75' >> ${.TARGET} + @echo 'SKEIN512 ("message digest") =' \ + '15b73c158ffb875fed4d72801ded0794c720b121c0c78edf45f900937e6933d9e21a3a984206933d504b5dbb2368000411477ee1b204c986068df77886542fcc' >> ${.TARGET} + @echo 'SKEIN512 ("abcdefghijklmnopqrstuvwxyz") =' \ + '23793ad900ef12f9165c8080da6fdfd2c8354a2929b8aadf83aa82a3c6470342f57cf8c035ec0d97429b626c4d94f28632c8f5134fd367dca5cf293d2ec13f8c' >> ${.TARGET} + @echo 'SKEIN512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + '0c6bed927e022f5ddcf81877d42e5f75798a9f8fd3ede3d83baac0a2f364b082e036c11af35fe478745459dd8f5c0b73efe3c56ba5bb2009208d5a29cc6e469c' >> ${.TARGET} + @echo 'SKEIN512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + '2ca9fcffb3456f297d1b5f407014ecb856f0baac8eb540f534b1f187196f21e88f31103128c2f03fcc9857d7a58eb66f9525e2302d88833ee069295537a434ce' >> ${.TARGET} + +skein1024.ref: + echo 'SKEIN1024 test suite:' > ${.TARGET} + @echo 'SKEIN1024 ("") =' \ + '0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6' >> ${.TARGET} + @echo 'SKEIN1024 ("abc") =' \ + '35a599a0f91abcdb4cb73c19b8cb8d947742d82c309137a7caed29e8e0a2ca7a9ff9a90c34c1908cc7e7fd99bb15032fb86e76df21b72628399b5f7c3cc209d7bb31c99cd4e19465622a049afbb87c03b5ce3888d17e6e667279ec0aa9b3e2712624c01b5f5bbe1a564220bdcf6990af0c2539019f313fdd7406cca3892a1f1f' >> ${.TARGET} + @echo 'SKEIN1024 ("message digest") =' \ + 'ea891f5268acd0fac97467fc1aa89d1ce8681a9992a42540e53babee861483110c2d16f49e73bac27653ff173003e40cfb08516cd34262e6af95a5d8645c9c1abb3e813604d508b8511b30f9a5c1b352aa0791c7d2f27b2706dccea54bc7de6555b5202351751c3299f97c09cf89c40f67187e2521c0fad82b30edbb224f0458' >> ${.TARGET} + @echo 'SKEIN1024 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'f23d95c2a25fbcd0e797cd058fec39d3c52d2b5afd7a9af1df934e63257d1d3dcf3246e7329c0f1104c1e51e3d22e300507b0c3b9f985bb1f645ef49835080536becf83788e17fed09c9982ba65c3cb7ffe6a5f745b911c506962adf226e435c42f6f6bc08d288f9c810e807e3216ef444f3db22744441deefa4900982a1371f' >> ${.TARGET} + @echo 'SKEIN1024 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'cf3889e8a8d11bfd3938055d7d061437962bc5eac8ae83b1b71c94be201b8cf657fdbfc38674997a008c0c903f56a23feb3ae30e012377f1cfa080a9ca7fe8b96138662653fb3335c7d06595bf8baf65e215307532094cfdfa056bd8052ab792a3944a2adaa47b30335b8badb8fe9eb94fe329cdca04e58bbc530f0af709f469' >> ${.TARGET} + @echo 'SKEIN1024 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a' >> ${.TARGET} + +.include diff --git a/lib/libmd/mddriver.c b/lib/libmd/tests/mddriver.c similarity index 100% rename from lib/libmd/mddriver.c rename to lib/libmd/tests/mddriver.c diff --git a/lib/libmd/rmddriver.c b/lib/libmd/tests/rmddriver.c similarity index 100% rename from lib/libmd/rmddriver.c rename to lib/libmd/tests/rmddriver.c diff --git a/lib/libmd/shadriver.c b/lib/libmd/tests/shadriver.c similarity index 100% rename from lib/libmd/shadriver.c rename to lib/libmd/tests/shadriver.c diff --git a/lib/libmd/skeindriver.c b/lib/libmd/tests/skeindriver.c similarity index 100% rename from lib/libmd/skeindriver.c rename to lib/libmd/tests/skeindriver.c From nobody Mon Sep 30 03:36:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DT6CvNz5XfTC; Mon, 30 Sep 2024 03:36:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DT3Mt3z43cx; Mon, 30 Sep 2024 03:36:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3tX3SgfAMnNHXwUFCbNJzAtCmG/+yv2d/IPWCbW6T08=; b=DBJB8RgVEUoE3sXDJbobBuDGsVzKrcbnILD/7aMLJ8DGAmp1lXORLoJvAzeU3+PXHyTNd0 BcjJOSUgJXO2C1CE9ORsh6Y082g8NeEtszT55LBOIt1zqGZ2UT6pJXyhIVjBtWsFS1BlWH dalXTlJIgwcFVRGzUcaIdd3RQ1K0eCK5ZG0gYjkAoKGcAh0lAQObeYxXk/z/VcMi9gzd4B UPVt0U3hZLCUM9Gd4ht2rFbq05aQTAvFJHytbQHt77Nagtofwz+u0Z+FdapTQxDU5UgHWX yU+8gVYP9LOq2GxSbKmXfrJPXpGqFyJKyScsWlEhE9UFRoB1En92/D+mQ9SdCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3tX3SgfAMnNHXwUFCbNJzAtCmG/+yv2d/IPWCbW6T08=; b=ec4CvrCTU3cHAHB7f0mDpJo8jRnJH0hGi8eIOZTB5NFjOXOhSePnjyoKujuguzTmSkQXNV PsyeSeKUq0EaZOxFOrW2yHbSdIeLYrnl45GqwxP3AtCz0f5wo9ECSrWt8feSqRgOssXOQT +UHK5tS4gwbYbT5J8BjRSwR867ElELguABLuZtYgSQqFNIQPMMLU3qbfx0yS28syAslZjh lG5xn4TOuB2dtKuj2a6OxX9hS3ZYDSB/mvdRw7feCKl7GTqCjpLTPnEvRkCdlN/XMz2ZsX Lgh28ciFDMxU3rt0xogXDMg/L+QZy77BeBs0IFJuoZvHIHECZXjJtqUNOjqx4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667369; a=rsa-sha256; cv=none; b=jSBu5miYBcO+X7MZX6TfvsN04FQXeoF3VBuhg7CdOpBRj2qz3ghjIg//5US6lP6tZT1lmc 8hj0J1jOqevcJQsK67bDWd1S9JGOc0k3g/udGL7oLpiuH9cT8/G6F20Y6zyfGU+7JnVM4i jnh/LyhzkL8K3V7PK+Re4UrYI8EvlfZc958vRdfZxhm5zHGOKy4zf4wlFnrgErY5CXHyN9 vOfTVwyioyJqHLWvBDYBaXjMqiVhKALbtm20Ld7ocYfi9Rb1GVQ4W9qB0nu5EQ1VR3VvZ1 scFykWxy8zv3/qNxvTFnCdSJ+iiDEdoI+4S5vDLZ7tIJ6pOBzN1ZkKX7SCv0Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DT2YhWzcjM; Mon, 30 Sep 2024 03:36:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3a9se067156; Mon, 30 Sep 2024 03:36:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3a9rR067153; Mon, 30 Sep 2024 03:36:09 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:09 GMT Message-Id: <202409300336.48U3a9rR067153@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: 01112a1711f3 - main - libmd: tests: raise WARNS to the default List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 01112a1711f3b7f329d84f7946ee0b8cdd1872c9 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=01112a1711f3b7f329d84f7946ee0b8cdd1872c9 commit 01112a1711f3b7f329d84f7946ee0b8cdd1872c9 Author: Kyle Evans AuthorDate: 2022-03-08 17:20:09 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:20 +0000 libmd: tests: raise WARNS to the default The drivers just had a small issue, passing a literal string as non-const. Fix it and lift WARNS. PR: 280784 (exp-run) Reviewed by: delphij, emaste Differential Revision: https://reviews.freebsd.org/D34501 --- lib/libmd/tests/Makefile | 3 --- lib/libmd/tests/mddriver.c | 4 ++-- lib/libmd/tests/rmddriver.c | 4 ++-- lib/libmd/tests/shadriver.c | 2 +- lib/libmd/tests/skeindriver.c | 2 +- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/libmd/tests/Makefile b/lib/libmd/tests/Makefile index fa8f2fc4f7f6..e11e8e1bf154 100644 --- a/lib/libmd/tests/Makefile +++ b/lib/libmd/tests/Makefile @@ -2,9 +2,6 @@ PACKAGE= tests -# XXX -WARNS= 0 - ATF_TESTS_SH= libmd_test MDTESTS= md rmd sha skein diff --git a/lib/libmd/tests/mddriver.c b/lib/libmd/tests/mddriver.c index 47ff87663bff..1229a4e2929f 100644 --- a/lib/libmd/tests/mddriver.c +++ b/lib/libmd/tests/mddriver.c @@ -37,8 +37,8 @@ #endif /* Digests a string and prints the result. */ -static void -MDString(char *string) +static void +MDString(const char *string) { char buf[33]; diff --git a/lib/libmd/tests/rmddriver.c b/lib/libmd/tests/rmddriver.c index 3c37c2866bfd..50227dcffb5d 100644 --- a/lib/libmd/tests/rmddriver.c +++ b/lib/libmd/tests/rmddriver.c @@ -20,8 +20,8 @@ #include "ripemd.h" /* Digests a string and prints the result. */ -static void -RIPEMD160String(char *string) +static void +RIPEMD160String(const char *string) { char buf[2*20 + 1]; diff --git a/lib/libmd/tests/shadriver.c b/lib/libmd/tests/shadriver.c index 42d57ed2016f..85cb21185bc8 100644 --- a/lib/libmd/tests/shadriver.c +++ b/lib/libmd/tests/shadriver.c @@ -58,7 +58,7 @@ /* Digests a string and prints the result. */ static void -SHAString(char *string) +SHAString(const char *string) { char buf[2*64 + 1]; diff --git a/lib/libmd/tests/skeindriver.c b/lib/libmd/tests/skeindriver.c index 874f0c17e500..a28ac8fc2c2a 100644 --- a/lib/libmd/tests/skeindriver.c +++ b/lib/libmd/tests/skeindriver.c @@ -41,7 +41,7 @@ /* Digests a string and prints the result. */ static void -SKEINString(char *string) +SKEINString(const char *string) { char buf[2*128 + 1]; From nobody Mon Sep 30 03:36:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DV5bK7z5XfP0; Mon, 30 Sep 2024 03:36:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DV3lmJz43d7; Mon, 30 Sep 2024 03:36:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z09bHofWG8J57/JbIBcKVwxiQqr18NaFD9wx4SqDENI=; b=l90Rp0sVD33MM9uJryIZHmuGsJUh7s7DaGSTNUIc0Zz9RGUEyPz1EjBO0jrnjP3eqP4bjJ nwVMhcImVQ/JC2VptQiFiw2nj64T7LKJRX8CtPnrIMQi3wuk0hFAHiyf5vNBFcPf60gyO2 UG17PNt+ouBxwuiYCd0+OUg7SVkvZY8iGAFskhnNSIPaHBYqY6NPFDjo1tSMtKavbZ7cMk 3ox3LBjv08N2Mhzava2pbb0PUwzPBcPrqgBu3iOuKnC0BtvuzJk1DzG89JqPK7gHwYWYhL oklV/3e6slwCnYGjJj8Fiqy7weHfSq+thK/5Qe9MulWeSAKRYSM9+uIukjXFQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z09bHofWG8J57/JbIBcKVwxiQqr18NaFD9wx4SqDENI=; b=XUbiuDJ0Ic9rTkr+CGffCnSajAsFdcwm7zJQRva9Ai3adOqcNCvOl9LHCSHfJ1D+Wqu00V MBOQYSaKKQZDnqCrUk0tJ3SHx5ppDrV56PqXor0R3fEii4zr9jKgEouZCSCHF7FVRkGtnX Ny8AhCEv3x4ail1JWlveTOaRmMMj9Hx0LqvCr4yE1XOH5qPo/aEnb/G4LkS8is9tlR7Kpq RouzSUERb0YSzIB6FK6mGADGrNQnYtEDgSz29DRB8dO0byak2IwVs76A7qMICnml2blW0N 76hjmckMydWtRtAGevxhVDt85bBxTFEkz56qKhs2767Vpcah0X+ojLOQ6+n/Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667370; a=rsa-sha256; cv=none; b=fcNsrzo/TGhjqBD4FmN4PvaEMWGDWXRw4PVBpbmigiLTs2cwrYnTTUCQAvZK22e2CZfpBn osn3NWoJhaOEVlewrrjisJHFp92eqOoOVE0Hj+lBmkTdvNEDcKmaaJ1tDi0iKbI7whQ8wq 8dGq7wIuev7DcH6gIt0wCepZQ/iR8pa0RQ3g/fr2ODw+0PMJN8azv7k8loo77aV4sx8dUj 7Bej7lZoHmoUPv20SMNaISD/0AE4nIjBn08E4DW0MTNZrOM3rff7zkfGaEJ7XIVlI6TWi6 AckRpj1uvw+1OaY4GP1EvgtB9Z9BUPtuUfWMRtcLySDtYcsGIuRJQnUU7O08wA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DV3HtMzcjN; Mon, 30 Sep 2024 03:36:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3aAhe067206; Mon, 30 Sep 2024 03:36:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3aAg1067203; Mon, 30 Sep 2024 03:36:10 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:10 GMT Message-Id: <202409300336.48U3aAg1067203@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: fd3ced150708 - main - libmd: export and document *Fd/*FdChunk interfaces List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fd3ced15070885c818b74a44a0fbe45ed8687f44 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=fd3ced15070885c818b74a44a0fbe45ed8687f44 commit fd3ced15070885c818b74a44a0fbe45ed8687f44 Author: Kyle Evans AuthorDate: 2022-03-08 17:42:52 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:20 +0000 libmd: export and document *Fd/*FdChunk interfaces PR: 280784 (exp-run) Fixes: de13c2427d6c ("libmd: introduce functions that operate on an fd") Reviewed by: manpages (bcr), fuz Differential Revision: https://reviews.freebsd.org/D34502 --- lib/libmd/mdX.3 | 21 ++++++++++++++++++++- lib/libmd/mdXhl.c | 4 ++++ lib/libmd/ripemd.3 | 21 ++++++++++++++++++++- lib/libmd/sha.3 | 27 ++++++++++++++++++++++++++- lib/libmd/sha256.3 | 27 ++++++++++++++++++++++++++- lib/libmd/sha512.3 | 33 ++++++++++++++++++++++++++++++++- lib/libmd/skein.3 | 33 ++++++++++++++++++++++++++++++++- 7 files changed, 160 insertions(+), 6 deletions(-) diff --git a/lib/libmd/mdX.3 b/lib/libmd/mdX.3 index 26c8b2b43c81..7c86f28ad628 100644 --- a/lib/libmd/mdX.3 +++ b/lib/libmd/mdX.3 @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.Dd May 21, 2019 +.Dd March 8, 2022 .Dt MDX 3 .Os .Sh NAME @@ -15,6 +15,8 @@ .Nm MDXPad , .Nm MDXFinal , .Nm MDXEnd , +.Nm MDXFd , +.Nm MDXFdChunk , .Nm MDXFile , .Nm MDXFileChunk , .Nm MDXData @@ -35,6 +37,10 @@ .Ft "char *" .Fn MDXEnd "MDX_CTX *context" "char *buf" .Ft "char *" +.Fn MDXFd "int fd" "char *buf" +.Ft "char *" +.Fn MDXFdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn MDXFile "const char *filename" "char *buf" .Ft "char *" .Fn MDXFileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -125,6 +131,19 @@ function calculates the digest of a chunk of data in memory, and uses .Fn MDXEnd to return the result. .Pp +The +.Fn MDXFd +and +.Fn MDXFdChunk +functions are identical to their +.Fn MDXFile +and +.Fn MDXFileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn MDXEnd , .Fn MDXFile , diff --git a/lib/libmd/mdXhl.c b/lib/libmd/mdXhl.c index 171b97b38794..68598f192056 100644 --- a/lib/libmd/mdXhl.c +++ b/lib/libmd/mdXhl.c @@ -130,6 +130,10 @@ __weak_reference(_libmd_MDXEnd, MDXEnd); __weak_reference(_libmd_MDXFile, MDXFile); #undef MDXFileChunk __weak_reference(_libmd_MDXFileChunk, MDXFileChunk); +#undef MDXFd +__weak_reference(_libmd_MDXFd, MDXFd); +#undef MDXFdChunk +__weak_reference(_libmd_MDXFdChunk, MDXFdChunk); #undef MDXData __weak_reference(_libmd_MDXData, MDXData); #endif diff --git a/lib/libmd/ripemd.3 b/lib/libmd/ripemd.3 index fcd2ea308791..cad07aac8007 100644 --- a/lib/libmd/ripemd.3 +++ b/lib/libmd/ripemd.3 @@ -8,7 +8,7 @@ .\" .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" -.Dd July 20, 2018 +.Dd March 8, 2022 .Dt RIPEMD 3 .Os .Sh NAME @@ -16,6 +16,8 @@ .Nm RIPEMD160_Update , .Nm RIPEMD160_Final , .Nm RIPEMD160_End , +.Nm RIPEMD160_Fd , +.Nm RIPEMD160_FdChunk , .Nm RIPEMD160_File , .Nm RIPEMD160_FileChunk , .Nm RIPEMD160_Data @@ -34,6 +36,10 @@ .Ft "char *" .Fn RIPEMD160_End "RIPEMD160_CTX *context" "char *buf" .Ft "char *" +.Fn RIPEMD160_Fd "int fd" "char *buf" +.Ft "char *" +.Fn RIPEMD160_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn RIPEMD160_File "const char *filename" "char *buf" .Ft "char *" .Fn RIPEMD160_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -106,6 +112,19 @@ function calculates the digest of a chunk of data in memory, and uses .Fn RIPEMD160_End to return the result. .Pp +The +.Fn RIPEMD160_Fd +and +.Fn RIPEMD160_FdChunk +functions are identical to their +.Fn RIPEMD160_File +and +.Fn RIPEMD160_FileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn RIPEMD160_End , .Fn RIPEMD160_File , diff --git a/lib/libmd/sha.3 b/lib/libmd/sha.3 index 49ee322eacab..e2475f981738 100644 --- a/lib/libmd/sha.3 +++ b/lib/libmd/sha.3 @@ -8,7 +8,7 @@ .\" .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" -.Dd February 6, 2023 +.Dd February 12, 2023 .Dt SHA 3 .Os .Sh NAME @@ -16,6 +16,8 @@ .Nm SHA_Update , .Nm SHA_Final , .Nm SHA_End , +.Nm SHA_Fd , +.Nm SHA_FdChunk , .Nm SHA_File , .Nm SHA_FileChunk , .Nm SHA_Data , @@ -23,6 +25,8 @@ .Nm SHA1_Update , .Nm SHA1_Final , .Nm SHA1_End , +.Nm SHA1_Fd , +.Nm SHA1_FdChunk , .Nm SHA1_File , .Nm SHA1_FileChunk , .Nm SHA1_Data @@ -41,6 +45,10 @@ .Ft "char *" .Fn SHA_End "SHA_CTX *context" "char *buf" .Ft "char *" +.Fn SHA_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -55,6 +63,10 @@ .Ft "char *" .Fn SHA1_End "SHA_CTX *context" "char *buf" .Ft "char *" +.Fn SHA1_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA1_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA1_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA1_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -130,6 +142,19 @@ calculates the digest of a chunk of data in memory, and uses .Fn SHA1_End to return the result. .Pp +The +.Fn SHA1_Fd +and +.Fn SHA1_FdChunk +functions are identical to their +.Fn SHA1_File +and +.Fn SHA1_FileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn SHA1_End , .Fn SHA1_File , diff --git a/lib/libmd/sha256.3 b/lib/libmd/sha256.3 index e22258f40140..406dfd1b357d 100644 --- a/lib/libmd/sha256.3 +++ b/lib/libmd/sha256.3 @@ -8,7 +8,7 @@ .\" .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" -.Dd July 20, 2018 +.Dd March 8, 2022 .Dt SHA256 3 .Os .Sh NAME @@ -16,6 +16,8 @@ .Nm SHA224_Update , .Nm SHA224_Final , .Nm SHA224_End , +.Nm SHA224_Fd , +.Nm SHA224_FdChunk , .Nm SHA224_File , .Nm SHA224_FileChunk , .Nm SHA224_Data , @@ -23,6 +25,8 @@ .Nm SHA256_Update , .Nm SHA256_Final , .Nm SHA256_End , +.Nm SHA256_Fd , +.Nm SHA256_FdChunk , .Nm SHA256_File , .Nm SHA256_FileChunk , .Nm SHA256_Data @@ -41,6 +45,10 @@ .Ft "char *" .Fn SHA224_End "SHA224_CTX *context" "char *buf" .Ft "char *" +.Fn SHA224_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA224_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA224_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA224_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -56,6 +64,10 @@ .Ft "char *" .Fn SHA256_End "SHA256_CTX *context" "char *buf" .Ft "char *" +.Fn SHA256_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA256_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA256_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA256_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -125,6 +137,19 @@ calculates the digest of a chunk of data in memory, and uses .Fn SHA256_End to return the result. .Pp +The +.Fn SHA256_Fd +and +.Fn SHA256_FdChunk +functions are identical to their +.Fn SHA256_File +and +.Fn SHA256_FileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn SHA256_End , .Fn SHA256_File , diff --git a/lib/libmd/sha512.3 b/lib/libmd/sha512.3 index a5c478efa9ae..17d0d0988350 100644 --- a/lib/libmd/sha512.3 +++ b/lib/libmd/sha512.3 @@ -8,7 +8,7 @@ .\" .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" -.Dd February 3, 2023 +.Dd February 12, 2023 .Dt SHA512 3 .Os .Sh NAME @@ -16,6 +16,8 @@ .Nm SHA512_Update , .Nm SHA512_Final , .Nm SHA512_End , +.Nm SHA512_Fd , +.Nm SHA512_FdChunk , .Nm SHA512_File , .Nm SHA512_FileChunk , .Nm SHA512_Data , @@ -23,6 +25,8 @@ .Nm SHA384_Update , .Nm SHA384_Final , .Nm SHA384_End , +.Nm SHA384_Fd , +.Nm SHA384_FdChunk , .Nm SHA384_File , .Nm SHA384_FileChunk , .Nm SHA384_Data , @@ -37,6 +41,8 @@ .Nm SHA512_256_Update , .Nm SHA512_256_Final , .Nm SHA512_256_End , +.Nm SHA512_256_Fd , +.Nm SHA512_256_FdChunk , .Nm SHA512_256_File , .Nm SHA512_256_FileChunk , .Nm SHA512_256_Data @@ -55,6 +61,10 @@ .Ft "char *" .Fn SHA512_End "SHA512_CTX *context" "char *buf" .Ft "char *" +.Fn SHA512_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA512_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA512_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA512_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -70,6 +80,10 @@ .Ft "char *" .Fn SHA384_End "SHA384_CTX *context" "char *buf" .Ft "char *" +.Fn SHA384_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA384_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA384_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA384_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -99,6 +113,10 @@ .Ft "char *" .Fn SHA512_256_End "SHA512_CTX *context" "char *buf" .Ft "char *" +.Fn SHA512_256_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SHA512_256_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SHA512_256_File "const char *filename" "char *buf" .Ft "char *" .Fn SHA512_256_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -168,6 +186,19 @@ calculates the digest of a chunk of data in memory, and uses .Fn SHA512_End to return the result. .Pp +The +.Fn SHA512_Fd +and +.Fn SHA512_FdChunk +functions are identical to their +.Fn SHA512_File +and +.Fn SHA512_FileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn SHA512_End , .Fn SHA512_File , diff --git a/lib/libmd/skein.3 b/lib/libmd/skein.3 index 1dff9e2c92dc..8fe79a4ad0bf 100644 --- a/lib/libmd/skein.3 +++ b/lib/libmd/skein.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 21, 2019 +.Dd March 8, 2022 .Dt SKEIN 3 .Os .Sh NAME @@ -31,6 +31,8 @@ .Nm SKEIN256_Update , .Nm SKEIN256_Final , .Nm SKEIN256_End , +.Nm SKEIN256_Fd , +.Nm SKEIN256_FdChunk , .Nm SKEIN256_File , .Nm SKEIN256_FileChunk , .Nm SKEIN256_Data , @@ -38,6 +40,8 @@ .Nm SKEIN512_Update , .Nm SKEIN512_Final , .Nm SKEIN512_End , +.Nm SKEIN512_Fd , +.Nm SKEIN512_FdChunk , .Nm SKEIN512_File , .Nm SKEIN512_FileChunk , .Nm SKEIN512_Data , @@ -45,6 +49,8 @@ .Nm SKEIN1024_Update , .Nm SKEIN1024_Final , .Nm SKEIN1024_End , +.Nm SKEIN1024_Fd , +.Nm SKEIN1024_FdChunk , .Nm SKEIN1024_File , .Nm SKEIN1024_FileChunk , .Nm SKEIN1024_Data @@ -63,6 +69,10 @@ .Ft "char *" .Fn SKEIN256_End "SKEIN256_CTX *context" "char *buf" .Ft "char *" +.Fn SKEIN256_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SKEIN256_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SKEIN256_File "const char *filename" "char *buf" .Ft "char *" .Fn SKEIN256_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -77,6 +87,10 @@ .Ft "char *" .Fn SKEIN512_End "SKEIN512_CTX *context" "char *buf" .Ft "char *" +.Fn SKEIN512_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SKEIN512_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SKEIN512_File "const char *filename" "char *buf" .Ft "char *" .Fn SKEIN512_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -91,6 +105,10 @@ .Ft "char *" .Fn SKEIN1024_End "SKEIN1024_CTX *context" "char *buf" .Ft "char *" +.Fn SKEIN1024_Fd "int fd" "char *buf" +.Ft "char *" +.Fn SKEIN1024_FdChunk "int fd" "char *buf" "off_t offset" "off_t length" +.Ft "char *" .Fn SKEIN1024_File "const char *filename" "char *buf" .Ft "char *" .Fn SKEIN1024_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" @@ -160,6 +178,19 @@ calculates the digest of a chunk of data in memory, and uses .Fn SKEIN256_End to return the result. .Pp +The +.Fn SKEIN256_Fd +and +.Fn SKEIN256_FdChunk +functions are identical to their +.Fn SKEIN256_File +and +.Fn SKEIN256_FileChunk +counterparts, with the exception that the first argument is an +.Fa fd +instead of a +.Fa filename . +.Pp When using .Fn SKEIN256_End , .Fn SKEIN256_File , From nobody Mon Sep 30 03:36:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DW60BSz5XfP4; Mon, 30 Sep 2024 03:36: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DW4w9Mz43XD; Mon, 30 Sep 2024 03:36:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dK9lYIR+R8x4/gCHHV6TkIizt8j+FYGbovzNgcUioqA=; b=FAYmFy6F+cgxRLOd+baryxXc+rc6HhAwjRVxEJuv8nGJiikT63nE8wSzHpIH4Sb8wePwRp 5BgUhHUk3Vc/72nlModVJ0fG876nPd5YatMl6UYRv1cXIzmyFh8IezVzzR+BI62OdsfEpX dmC7pNVhcS8B1cW90rniuosHJbFLXS+W4YZqLZRT5JyQePLbdK+oGhBqTPKHQJziuYblws LWDfmoYYrCG5tshToVCRuQGgmrLeLzKO1VlYbCmT/NQIYokO5qEXSwSrpYAAEjW+319HUt dho/xn8Rd7YA1L0W+ljxFXYoG3TANNXkNc3ZpygyeIRdgdGGJSnIFk3UTkg08g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dK9lYIR+R8x4/gCHHV6TkIizt8j+FYGbovzNgcUioqA=; b=DA3x4qW5eqGKq6htLpN6dKx57Ea07OV4eN+X3qfSAGHeQiVC9aCb4801oWyy7YySWxlY+i 6pnl66oEHokPb+f5+64ow9U+doc4Ky6ZrazbkAjF+ZgMvl5qHWw7QIIMY8VbpYqFH5GEFc gV2i7iNA1i5dPhKgNRh9BIWwG7JbBILiy2ADF7FuFh9ti8SWkHCO6AMQQt7Uo61WdoDVYv YsIkztCl2CyXPdMk5nnqmpo5wJSRNja4ZykifdgItMp+yl5EYFPQzjV/nKOsrEKI/xYSY0 +65Vo/ebcHboNKqNpC/itwvTelS2Gc9ETmn5+qd7jrA9wp4tfe5RcHW0GFq6nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667371; a=rsa-sha256; cv=none; b=mbdu3xdn4jjZbryPLZD5wOT3VCSRbT+3yaWrTKHPu0M+NHn0h8ISI42PnFMd14jeIrtzBY bqNBHLuA0N/bgTQXkIBCLGOixo3uMDEsBbYQe2nBETCcHFmnH/3gcW60lXaZKDPS9/bFhR 9xR2owXUfkQpiV+Xzal8Vh50XUSYOGpYvXk63Miz1JAeIunyCuKOOXVj9ujtoa8nf6jNLz rvEaJjz2M1YnXAcslqxdBU2XMvM8IT3zXm76vc7iUjr6627m+uvzfDlPOT09+M9pglMwaz rYANdkPAhyy2FGfyeJCaftzKlrNH/TlIt39ss5GBazwxxbT17YF1VREDwrD5ZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DW40BqzctL; Mon, 30 Sep 2024 03:36:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3aBft067248; Mon, 30 Sep 2024 03:36:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3aBBJ067245; Mon, 30 Sep 2024 03:36:11 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:11 GMT Message-Id: <202409300336.48U3aBBJ067245@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: 81de655acd2e - main - libmd: stop exporting Transform() symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 81de655acd2ebdf104dc4a332eaee5e62b8440a2 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=81de655acd2ebdf104dc4a332eaee5e62b8440a2 commit 81de655acd2ebdf104dc4a332eaee5e62b8440a2 Author: Kyle Evans AuthorDate: 2022-03-08 18:05:24 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:20 +0000 libmd: stop exporting Transform() symbols They're not documented in libmd and we don't have any consumers. It's problematic to keep them exported, as we don't currently export their implementations. Make them all private. PR: 280784 (exp-run) Reviewed by: fuz Differential Revision: https://reviews.freebsd.org/D34503 --- lib/libmd/Symbol.map | 11 ----------- lib/libmd/ripemd.h | 3 --- lib/libmd/rmd160c.c | 4 +--- lib/libmd/sha.h | 6 ------ lib/libmd/sha0c.c | 2 +- lib/libmd/sha1c.c | 6 +----- sys/crypto/sha2/sha256.h | 3 --- sys/crypto/sha2/sha256c.c | 2 -- sys/crypto/sha2/sha512.h | 3 --- sys/crypto/sha2/sha512c.c | 2 -- sys/crypto/sha2/sha512t.h | 6 ------ sys/kern/md5c.c | 2 -- 12 files changed, 3 insertions(+), 47 deletions(-) diff --git a/lib/libmd/Symbol.map b/lib/libmd/Symbol.map index 9ac73e5bb5fd..86523a5933a1 100644 --- a/lib/libmd/Symbol.map +++ b/lib/libmd/Symbol.map @@ -17,7 +17,6 @@ FBSD_1.7 { MD5FileChunk; MD5Final; MD5Init; - MD5Transform; MD5Update; RIPEMD160_Data; RIPEMD160_End; @@ -27,7 +26,6 @@ FBSD_1.7 { RIPEMD160_FileChunk; RIPEMD160_Final; RIPEMD160_Init; - RIPEMD160_Transform; RIPEMD160_Update; RMD160_version; SHA1_Data; @@ -38,7 +36,6 @@ FBSD_1.7 { SHA1_FileChunk; SHA1_Final; SHA1_Init; - SHA1_Transform; SHA1_Update; SHA1_version; SHA224_Data; @@ -58,7 +55,6 @@ FBSD_1.7 { SHA256_FileChunk; SHA256_Final; SHA256_Init; - SHA256_Transform; SHA256_Update; SHA384_Data; SHA384_End; @@ -95,7 +91,6 @@ FBSD_1.7 { SHA512_FileChunk; SHA512_Final; SHA512_Init; - SHA512_Transform; SHA512_Update; SHA_Data; SHA_End; @@ -151,7 +146,6 @@ FBSDprivate_1.0 { _libmd_MD5FileChunk; _libmd_MD5Final; _libmd_MD5Init; - _libmd_MD5Transform; _libmd_MD5Update; _libmd_RIPEMD160_Data; _libmd_RIPEMD160_End; @@ -161,7 +155,6 @@ FBSDprivate_1.0 { _libmd_RIPEMD160_FileChunk; _libmd_RIPEMD160_Final; _libmd_RIPEMD160_Init; - _libmd_RIPEMD160_Transform; _libmd_RIPEMD160_Update; _libmd_RMD160_version; _libmd_SHA1_Data; @@ -172,7 +165,6 @@ FBSDprivate_1.0 { _libmd_SHA1_FileChunk; _libmd_SHA1_Final; _libmd_SHA1_Init; - _libmd_SHA1_Transform; _libmd_SHA1_Update; _libmd_SHA1_version; _libmd_SHA224_Data; @@ -192,7 +184,6 @@ FBSDprivate_1.0 { _libmd_SHA256_FileChunk; _libmd_SHA256_Final; _libmd_SHA256_Init; - _libmd_SHA256_Transform; _libmd_SHA256_Update; _libmd_SHA384_Data; _libmd_SHA384_End; @@ -229,7 +220,6 @@ FBSDprivate_1.0 { _libmd_SHA512_FileChunk; _libmd_SHA512_Final; _libmd_SHA512_Init; - _libmd_SHA512_Transform; _libmd_SHA512_Update; _libmd_SHA_Data; _libmd_SHA_End; @@ -239,7 +229,6 @@ FBSDprivate_1.0 { _libmd_SHA_FileChunk; _libmd_SHA_Final; _libmd_SHA_Init; - _libmd_SHA_Transform; _libmd_SHA_Update; _libmd_SHA_version; _libmd_SKEIN1024_Data; diff --git a/lib/libmd/ripemd.h b/lib/libmd/ripemd.h index fa9f513ebfd8..7f82a54a5176 100644 --- a/lib/libmd/ripemd.h +++ b/lib/libmd/ripemd.h @@ -110,9 +110,6 @@ __BEGIN_DECLS #define RIPEMD160_Data _libmd_RIPEMD160_Data #endif -#ifndef RIPEMD160_Transform -#define RIPEMD160_Transform _libmd_RIPEMD160_Transform -#endif #ifndef RMD160_version #define RMD160_version _libmd_RMD160_version #endif diff --git a/lib/libmd/rmd160c.c b/lib/libmd/rmd160c.c index afc20545dd3d..5642a9a29a1c 100644 --- a/lib/libmd/rmd160c.c +++ b/lib/libmd/rmd160c.c @@ -226,7 +226,7 @@ void RIPEMD160_Update(RIPEMD160_CTX *c, const void *in, size_t len) } } -void RIPEMD160_Transform(RIPEMD160_CTX *c, unsigned char *b) +static void RIPEMD160_Transform(RIPEMD160_CTX *c, unsigned char *b) { u_int32_t p[16]; #if BYTE_ORDER != LITTLE_ENDIAN @@ -540,8 +540,6 @@ __weak_reference(_libmd_RIPEMD160_Init, RIPEMD160_Init); __weak_reference(_libmd_RIPEMD160_Update, RIPEMD160_Update); #undef RIPEMD160_Final __weak_reference(_libmd_RIPEMD160_Final, RIPEMD160_Final); -#undef RIPEMD160_Transform -__weak_reference(_libmd_RIPEMD160_Transform, RIPEMD160_Transform); #undef RMD160_version __weak_reference(_libmd_RMD160_version, RMD160_version); #endif diff --git a/lib/libmd/sha.h b/lib/libmd/sha.h index 6c7b0c0c30b3..49f65d91bfda 100644 --- a/lib/libmd/sha.h +++ b/lib/libmd/sha.h @@ -107,9 +107,6 @@ __BEGIN_DECLS #define SHA_Data _libmd_SHA_Data #endif -#ifndef SHA_Transform -#define SHA_Transform _libmd_SHA_Transform -#endif #ifndef SHA_version #define SHA_version _libmd_SHA_version #endif @@ -145,9 +142,6 @@ __BEGIN_DECLS #define SHA1_Data _libmd_SHA1_Data #endif -#ifndef SHA1_Transform -#define SHA1_Transform _libmd_SHA1_Transform -#endif #ifndef SHA1_version #define SHA1_version _libmd_SHA1_version #endif diff --git a/lib/libmd/sha0c.c b/lib/libmd/sha0c.c index 4c39ed842ea9..a36617b6ca60 100644 --- a/lib/libmd/sha0c.c +++ b/lib/libmd/sha0c.c @@ -242,7 +242,7 @@ void SHA_Update(SHA_CTX *c, const void *in, size_t len) p[sw]=l; } -void SHA_Transform(SHA_CTX *c, unsigned char *b) +static void SHA_Transform(SHA_CTX *c, unsigned char *b) { u_int32_t p[16]; #if BYTE_ORDER == LITTLE_ENDIAN diff --git a/lib/libmd/sha1c.c b/lib/libmd/sha1c.c index 42b554c83ed1..6e80407e4ec0 100644 --- a/lib/libmd/sha1c.c +++ b/lib/libmd/sha1c.c @@ -270,7 +270,7 @@ SHA1_Update(SHA_CTX *c, const void *in, size_t len) p[sw]=l; } -void SHA1_Transform(SHA_CTX *c, unsigned char *b) +static void SHA1_Transform(SHA_CTX *c, unsigned char *b) { u_int32_t p[16]; #if BYTE_ORDER != BIG_ENDIAN @@ -483,8 +483,6 @@ __weak_reference(_libmd_SHA_Init, SHA_Init); __weak_reference(_libmd_SHA_Update, SHA_Update); #undef SHA_Final __weak_reference(_libmd_SHA_Final, SHA_Final); -#undef SHA_Transform -__weak_reference(_libmd_SHA_Transform, SHA_Transform); #undef SHA_version __weak_reference(_libmd_SHA_version, SHA_version); #undef SHA1_Init @@ -493,8 +491,6 @@ __weak_reference(_libmd_SHA1_Init, SHA1_Init); __weak_reference(_libmd_SHA1_Update, SHA1_Update); #undef SHA1_Final __weak_reference(_libmd_SHA1_Final, SHA1_Final); -#undef SHA1_Transform -__weak_reference(_libmd_SHA1_Transform, SHA1_Transform); #undef SHA1_version __weak_reference(_libmd_SHA1_version, SHA1_version); #endif diff --git a/sys/crypto/sha2/sha256.h b/sys/crypto/sha2/sha256.h index 60c417e0fb8d..7bee1002c25c 100644 --- a/sys/crypto/sha2/sha256.h +++ b/sys/crypto/sha2/sha256.h @@ -73,9 +73,6 @@ __BEGIN_DECLS #define SHA256_Data _libmd_SHA256_Data #endif -#ifndef SHA256_Transform -#define SHA256_Transform _libmd_SHA256_Transform -#endif #ifndef SHA256_version #define SHA256_version _libmd_SHA256_version #endif diff --git a/sys/crypto/sha2/sha256c.c b/sys/crypto/sha2/sha256c.c index a3bebc4bee55..b7f7295c5c85 100644 --- a/sys/crypto/sha2/sha256c.c +++ b/sys/crypto/sha2/sha256c.c @@ -391,8 +391,6 @@ __weak_reference(_libmd_SHA256_Init, SHA256_Init); __weak_reference(_libmd_SHA256_Update, SHA256_Update); #undef SHA256_Final __weak_reference(_libmd_SHA256_Final, SHA256_Final); -#undef SHA256_Transform -__weak_reference(_libmd_SHA256_Transform, SHA256_Transform); #undef SHA224_Init __weak_reference(_libmd_SHA224_Init, SHA224_Init); diff --git a/sys/crypto/sha2/sha512.h b/sys/crypto/sha2/sha512.h index a119af36276a..4a3e2cadf022 100644 --- a/sys/crypto/sha2/sha512.h +++ b/sys/crypto/sha2/sha512.h @@ -72,9 +72,6 @@ __BEGIN_DECLS #define SHA512_Data _libmd_SHA512_Data #endif -#ifndef SHA512_Transform -#define SHA512_Transform _libmd_SHA512_Transform -#endif #ifndef SHA512_version #define SHA512_version _libmd_SHA512_version #endif diff --git a/sys/crypto/sha2/sha512c.c b/sys/crypto/sha2/sha512c.c index 8eda238870e8..076cb30a1dfa 100644 --- a/sys/crypto/sha2/sha512c.c +++ b/sys/crypto/sha2/sha512c.c @@ -511,8 +511,6 @@ __weak_reference(_libmd_SHA512_Init, SHA512_Init); __weak_reference(_libmd_SHA512_Update, SHA512_Update); #undef SHA512_Final __weak_reference(_libmd_SHA512_Final, SHA512_Final); -#undef SHA512_Transform -__weak_reference(_libmd_SHA512_Transform, SHA512_Transform); #undef SHA512_224_Init __weak_reference(_libmd_SHA512_224_Init, SHA512_224_Init); diff --git a/sys/crypto/sha2/sha512t.h b/sys/crypto/sha2/sha512t.h index 51df4e4dfb2e..2274fa2704b9 100644 --- a/sys/crypto/sha2/sha512t.h +++ b/sys/crypto/sha2/sha512t.h @@ -69,9 +69,6 @@ __BEGIN_DECLS #define SHA512_224_Data _libmd_SHA512_224_Data #endif -#ifndef SHA512_224_Transform -#define SHA512_224_Transform _libmd_SHA512_224_Transform -#endif #ifndef SHA512_224_version #define SHA512_224_version _libmd_SHA512_224_version #endif @@ -104,9 +101,6 @@ __BEGIN_DECLS #define SHA512_256_Data _libmd_SHA512_256_Data #endif -#ifndef SHA512_256_Transform -#define SHA512_256_Transform _libmd_SHA512_256_Transform -#endif #ifndef SHA512_256_version #define SHA512_256_version _libmd_SHA512_256_version #endif diff --git a/sys/kern/md5c.c b/sys/kern/md5c.c index b1ceac656cdd..0922d0f8cc61 100644 --- a/sys/kern/md5c.c +++ b/sys/kern/md5c.c @@ -338,6 +338,4 @@ __weak_reference(_libmd_MD5Init, MD5Init); __weak_reference(_libmd_MD5Update, MD5Update); #undef MD5Final __weak_reference(_libmd_MD5Final, MD5Final); -#undef MD5Transform -__weak_reference(_libmd_MD5Transform, MD5Transform); #endif From nobody Mon Sep 30 03:36:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DY1RSxz5XfC7; Mon, 30 Sep 2024 03:36: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DX6BScz43XK; Mon, 30 Sep 2024 03: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=1727667372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0itikgqNr2pnyHb8QTxKd7LI1wTQgIFNYQ+25rDo5Tk=; b=UdwKdV0P1jCnh6Pg3Ihl5GUR4FM/dTBMRznKqMIZNumeLFkwDNQ+SfZVXzgQ65X4WhdJUn QT/pn+VFGFn6O7OW/tN+Q48ldR5j8QiMnazG7iXdhUs8LInxcelS6GTgfEQR2JYQdcLdaQ 9JIwBXzcBHRmJvGBPE9uZHUTwMJWj7ZqL0RQsx8Dlailn/gmmIWeroOObcEAPaPxeAuNjz x7Chmxcxal8z51UCn/DtPqHSvA+c2VLzA0kkB1xNeJPNd01h6jm62Yhg/K2wu+8EsBWW3n Wr4ZE+C1gTJchjHKF/j58HH83wUE+0/dvAMrxXJepNKrHhXDG324XxGoqYoNNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0itikgqNr2pnyHb8QTxKd7LI1wTQgIFNYQ+25rDo5Tk=; b=jxMPdhuJBsFWAIl6kwnQyUVfbbzhoBVuAK8q8YyuAGXDrAwlVbUKH4zIQPVEjjt/uVGTsh acl845PXbWcnUfvj5fbiYQuhtA8UT2QPyEAMd2Yve8lGXbBZ/2Irl++4k+KKsw9DSV9HGA aco8iiPsPd//f3GLrU1b0hw133MPeEH0eQaS2EEm4+d9A8GM4r6WoFVdqAmZK7Ijy5J+ck tI4K5cVCXLIGBxcoa7E9hxbWd9YELVi8CtqNwUrHsVM9nvvKsiVdeV7AqzFmqJ1TfzvgG9 FcryCCg6FLDf1v2emyU6Tk8sXGKNSe7fW4YkIwq+Oh/6HFMNE3ijVAavQV/++g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667372; a=rsa-sha256; cv=none; b=MJLjUAxVfS41tHJKR+mTbJQgkHhydC/WzO3GWjFpoD/M3goqdESCa2j0CcMPTU9ewrJAne 47YjeoroHpkxn5nOpzpxaM0+IwOpzJPlnYi8GAg0DhUygEYm6vYKqRgTSL8nJpqsb7pDnZ 43DHynT2THjU2+waKvolQwq+DjMiUSMcNs7JEC8DwrqLF1OW4BhUnrr8X+uxdZHFS/m7X6 fpC30OyQ/d7HBJ2c36jkASYtlKq/ScfgZ4aB2S3u04PEldOE8qBZdbp9Tgokgir9PIFFv8 RDLSMlokDgyHLUf/HtQjx9Pje1CX2+9uvQv2qqastILUhMkyQNUq2mcSWezuzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DX5HBZzcZr; Mon, 30 Sep 2024 03:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3aCCW067296; Mon, 30 Sep 2024 03:36:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3aCrZ067293; Mon, 30 Sep 2024 03:36:12 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:12 GMT Message-Id: <202409300336.48U3aCrZ067293@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: 442e0975ee4b - main - Consolidate md4 implementations written in C List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 442e0975ee4b3d6ea809359b7da670b7bd548435 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=442e0975ee4b3d6ea809359b7da670b7bd548435 commit 442e0975ee4b3d6ea809359b7da670b7bd548435 Author: Kyle Evans AuthorDate: 2022-03-23 02:39:02 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:34:21 +0000 Consolidate md4 implementations written in C We currently have one in libmd and another in the kernel that's almost completely identical. Standardize on the kernel version. PR: 280784 (exp-run) --- lib/libmd/md4.h | 55 +--------- lib/libmd/md4c.c | 299 ------------------------------------------------------- sys/kern/md4c.c | 19 ++++ sys/sys/md4.h | 48 ++++++++- 4 files changed, 64 insertions(+), 357 deletions(-) diff --git a/lib/libmd/md4.h b/lib/libmd/md4.h index f8d762dbec27..f251fa4821cf 100644 --- a/lib/libmd/md4.h +++ b/lib/libmd/md4.h @@ -27,60 +27,7 @@ #ifndef _MD4_H_ #define _MD4_H_ -/* MD4 context. */ -typedef struct MD4Context { - u_int32_t state[4]; /* state (ABCD) */ - u_int32_t count[2]; /* number of bits, modulo 2^64 (lsb first) */ - unsigned char buffer[64]; /* input buffer */ -} MD4_CTX; -#include - -__BEGIN_DECLS - -/* Ensure libmd symbols do not clash with libcrypto */ - -#ifndef MD4Init -#define MD4Init _libmd_MD4Init -#endif -#ifndef MD4Update -#define MD4Update _libmd_MD4Update -#endif -#ifndef MD4Pad -#define MD4Pad _libmd_MD4Pad -#endif -#ifndef MD4Final -#define MD4Final _libmd_MD4Final -#endif -#ifndef MD4End -#define MD4End _libmd_MD4End -#endif -#ifndef MD4Fd -#define MD4Fd _libmd_MD4Fd -#endif -#ifndef MD4FdChunk -#define MD4FdChunk _libmd_MD4FdChunk -#endif -#ifndef MD4File -#define MD4File _libmd_MD4File -#endif -#ifndef MD4FileChunk -#define MD4FileChunk _libmd_MD4FileChunk -#endif -#ifndef MD4Data -#define MD4Data _libmd_MD4Data -#endif - -void MD4Init(MD4_CTX *); -void MD4Update(MD4_CTX *, const void *, unsigned int); -void MD4Pad(MD4_CTX *); -void MD4Final(unsigned char [16], MD4_CTX *); -char * MD4End(MD4_CTX *, char *); -char * MD4Fd(int, char *); -char * MD4FdChunk(int, char *, off_t, off_t); -char * MD4File(const char *, char *); -char * MD4FileChunk(const char *, char *, off_t, off_t); -char * MD4Data(const void *, unsigned int, char *); -__END_DECLS +#include #endif /* _MD4_H_ */ diff --git a/lib/libmd/md4c.c b/lib/libmd/md4c.c deleted file mode 100644 index d98221d264fc..000000000000 --- a/lib/libmd/md4c.c +++ /dev/null @@ -1,299 +0,0 @@ -/* MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm - */ - -#include -/*- - SPDX-License-Identifier: RSA-MD - - Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved. - - License to copy and use this software is granted provided that it - is identified as the "RSA Data Security, Inc. MD4 Message-Digest - Algorithm" in all material mentioning or referencing this software - or this function. - - License is also granted to make and use derivative works provided - that such works are identified as "derived from the RSA Data - Security, Inc. MD4 Message-Digest Algorithm" in all material - mentioning or referencing the derived work. - - RSA Data Security, Inc. makes no representations concerning either - the merchantability of this software or the suitability of this - software for any particular purpose. It is provided "as is" - without express or implied warranty of any kind. - - These notices must be retained in any copies of any part of this - documentation and/or software. - */ - -#include -#include -#include "md4.h" - -typedef unsigned char *POINTER; -typedef const unsigned char *CONST_POINTER; -typedef u_int16_t UINT2; -typedef u_int32_t UINT4; - -#define PROTO_LIST(list) list - -/* Constants for MD4Transform routine. - */ -#define S11 3 -#define S12 7 -#define S13 11 -#define S14 19 -#define S21 3 -#define S22 5 -#define S23 9 -#define S24 13 -#define S31 3 -#define S32 9 -#define S33 11 -#define S34 15 - -static void MD4Transform PROTO_LIST ((UINT4 [4], const unsigned char [64])); -static void Encode PROTO_LIST - ((unsigned char *, UINT4 *, unsigned int)); -static void Decode PROTO_LIST - ((UINT4 *, const unsigned char *, unsigned int)); - -static unsigned char PADDING[64] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* F, G and H are basic MD4 functions. - */ -#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) -#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) -#define H(x, y, z) ((x) ^ (y) ^ (z)) - -/* ROTATE_LEFT rotates x left n bits. - */ -#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) - -/* FF, GG and HH are transformations for rounds 1, 2 and 3 */ -/* Rotation is separate from addition to prevent recomputation */ -#define FF(a, b, c, d, x, s) { \ - (a) += F ((b), (c), (d)) + (x); \ - (a) = ROTATE_LEFT ((a), (s)); \ - } -#define GG(a, b, c, d, x, s) { \ - (a) += G ((b), (c), (d)) + (x) + (UINT4)0x5a827999; \ - (a) = ROTATE_LEFT ((a), (s)); \ - } -#define HH(a, b, c, d, x, s) { \ - (a) += H ((b), (c), (d)) + (x) + (UINT4)0x6ed9eba1; \ - (a) = ROTATE_LEFT ((a), (s)); \ - } - -/* MD4 initialization. Begins an MD4 operation, writing a new context. - */ -void -MD4Init(MD4_CTX *context) -{ - context->count[0] = context->count[1] = 0; - - /* Load magic initialization constants. - */ - context->state[0] = 0x67452301; - context->state[1] = 0xefcdab89; - context->state[2] = 0x98badcfe; - context->state[3] = 0x10325476; -} - -/* MD4 block update operation. Continues an MD4 message-digest - operation, processing another message block, and updating the - context. - */ -void -MD4Update(MD4_CTX *context, const void *in, unsigned int inputLen) -{ - unsigned int i, idx, partLen; - const unsigned char *input = in; - - /* Compute number of bytes mod 64 */ - idx = (unsigned int)((context->count[0] >> 3) & 0x3F); - /* Update number of bits */ - if ((context->count[0] += ((UINT4)inputLen << 3)) - < ((UINT4)inputLen << 3)) - context->count[1]++; - context->count[1] += ((UINT4)inputLen >> 29); - - partLen = 64 - idx; - /* Transform as many times as possible. - */ - if (inputLen >= partLen) { - memcpy - ((POINTER)&context->buffer[idx], (CONST_POINTER)input, partLen); - MD4Transform (context->state, context->buffer); - - for (i = partLen; i + 63 < inputLen; i += 64) - MD4Transform (context->state, &input[i]); - - idx = 0; - } - else - i = 0; - - /* Buffer remaining input */ - memcpy - ((POINTER)&context->buffer[idx], (CONST_POINTER)&input[i], - inputLen-i); -} - -/* MD4 padding. */ -void -MD4Pad(MD4_CTX *context) -{ - unsigned char bits[8]; - unsigned int idx, padLen; - - /* Save number of bits */ - Encode (bits, context->count, 8); - - /* Pad out to 56 mod 64. - */ - idx = (unsigned int)((context->count[0] >> 3) & 0x3f); - padLen = (idx < 56) ? (56 - idx) : (120 - idx); - MD4Update (context, PADDING, padLen); - - /* Append length (before padding) */ - MD4Update (context, bits, 8); -} - -/* MD4 finalization. Ends an MD4 message-digest operation, writing the - the message digest and zeroizing the context. - */ -void -MD4Final(unsigned char digest[16], MD4_CTX *context) -{ - /* Do padding */ - MD4Pad (context); - - /* Store state in digest */ - Encode (digest, context->state, 16); - - /* Zeroize sensitive information. - */ - explicit_bzero(context, sizeof(*context)); -} - -/* MD4 basic transformation. Transforms state based on block. - */ -static void -MD4Transform(UINT4 state[4], const unsigned char block[64]) -{ - UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; - - Decode (x, block, 64); - - /* Round 1 */ - FF (a, b, c, d, x[ 0], S11); /* 1 */ - FF (d, a, b, c, x[ 1], S12); /* 2 */ - FF (c, d, a, b, x[ 2], S13); /* 3 */ - FF (b, c, d, a, x[ 3], S14); /* 4 */ - FF (a, b, c, d, x[ 4], S11); /* 5 */ - FF (d, a, b, c, x[ 5], S12); /* 6 */ - FF (c, d, a, b, x[ 6], S13); /* 7 */ - FF (b, c, d, a, x[ 7], S14); /* 8 */ - FF (a, b, c, d, x[ 8], S11); /* 9 */ - FF (d, a, b, c, x[ 9], S12); /* 10 */ - FF (c, d, a, b, x[10], S13); /* 11 */ - FF (b, c, d, a, x[11], S14); /* 12 */ - FF (a, b, c, d, x[12], S11); /* 13 */ - FF (d, a, b, c, x[13], S12); /* 14 */ - FF (c, d, a, b, x[14], S13); /* 15 */ - FF (b, c, d, a, x[15], S14); /* 16 */ - - /* Round 2 */ - GG (a, b, c, d, x[ 0], S21); /* 17 */ - GG (d, a, b, c, x[ 4], S22); /* 18 */ - GG (c, d, a, b, x[ 8], S23); /* 19 */ - GG (b, c, d, a, x[12], S24); /* 20 */ - GG (a, b, c, d, x[ 1], S21); /* 21 */ - GG (d, a, b, c, x[ 5], S22); /* 22 */ - GG (c, d, a, b, x[ 9], S23); /* 23 */ - GG (b, c, d, a, x[13], S24); /* 24 */ - GG (a, b, c, d, x[ 2], S21); /* 25 */ - GG (d, a, b, c, x[ 6], S22); /* 26 */ - GG (c, d, a, b, x[10], S23); /* 27 */ - GG (b, c, d, a, x[14], S24); /* 28 */ - GG (a, b, c, d, x[ 3], S21); /* 29 */ - GG (d, a, b, c, x[ 7], S22); /* 30 */ - GG (c, d, a, b, x[11], S23); /* 31 */ - GG (b, c, d, a, x[15], S24); /* 32 */ - - /* Round 3 */ - HH (a, b, c, d, x[ 0], S31); /* 33 */ - HH (d, a, b, c, x[ 8], S32); /* 34 */ - HH (c, d, a, b, x[ 4], S33); /* 35 */ - HH (b, c, d, a, x[12], S34); /* 36 */ - HH (a, b, c, d, x[ 2], S31); /* 37 */ - HH (d, a, b, c, x[10], S32); /* 38 */ - HH (c, d, a, b, x[ 6], S33); /* 39 */ - HH (b, c, d, a, x[14], S34); /* 40 */ - HH (a, b, c, d, x[ 1], S31); /* 41 */ - HH (d, a, b, c, x[ 9], S32); /* 42 */ - HH (c, d, a, b, x[ 5], S33); /* 43 */ - HH (b, c, d, a, x[13], S34); /* 44 */ - HH (a, b, c, d, x[ 3], S31); /* 45 */ - HH (d, a, b, c, x[11], S32); /* 46 */ - HH (c, d, a, b, x[ 7], S33); /* 47 */ - HH (b, c, d, a, x[15], S34); /* 48 */ - - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - - /* Zeroize sensitive information. - */ - memset ((POINTER)x, 0, sizeof (x)); -} - -/* Encodes input (UINT4) into output (unsigned char). Assumes len is - a multiple of 4. - */ -static void -Encode(unsigned char *output, UINT4 *input, unsigned int len) -{ - unsigned int i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) { - output[j] = (unsigned char)(input[i] & 0xff); - output[j+1] = (unsigned char)((input[i] >> 8) & 0xff); - output[j+2] = (unsigned char)((input[i] >> 16) & 0xff); - output[j+3] = (unsigned char)((input[i] >> 24) & 0xff); - } -} - -/* Decodes input (unsigned char) into output (UINT4). Assumes len is - a multiple of 4. - */ -static void -Decode(UINT4 *output, const unsigned char *input, unsigned int len) -{ - unsigned int i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) - output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) | - (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24); -} - -#ifdef WEAK_REFS -/* When building libmd, provide weak references. Note: this is not - activated in the context of compiling these sources for internal - use in libcrypt. - */ -#undef MD4Init -__weak_reference(_libmd_MD4Init, MD4Init); -#undef MD4Update -__weak_reference(_libmd_MD4Update, MD4Update); -#undef MD4Pad -__weak_reference(_libmd_MD4Pad, MD4Pad); -#undef MD4Final -__weak_reference(_libmd_MD4Final, MD4Final); -#endif diff --git a/sys/kern/md4c.c b/sys/kern/md4c.c index d706f22db744..e173e17e3387 100644 --- a/sys/kern/md4c.c +++ b/sys/kern/md4c.c @@ -26,7 +26,11 @@ */ #include +#ifdef _KERNEL #include +#else +#include +#endif #include typedef unsigned char *POINTER; @@ -277,3 +281,18 @@ Decode(UINT4 *output, const unsigned char *input, unsigned int len) output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) | (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24); } + +#ifdef WEAK_REFS +/* When building libmd, provide weak references. Note: this is not + activated in the context of compiling these sources for internal + use in libcrypt. + */ +#undef MD4Init +__weak_reference(_libmd_MD4Init, MD4Init); +#undef MD4Update +__weak_reference(_libmd_MD4Update, MD4Update); +#undef MD4Pad +__weak_reference(_libmd_MD4Pad, MD4Pad); +#undef MD4Final +__weak_reference(_libmd_MD4Final, MD4Final); +#endif diff --git a/sys/sys/md4.h b/sys/sys/md4.h index 0918d533659b..e00675e9f462 100644 --- a/sys/sys/md4.h +++ b/sys/sys/md4.h @@ -25,8 +25,8 @@ documentation and/or software. */ -#ifndef _MD4_H_ -#define _MD4_H_ +#ifndef _SYS_MD4_H_ +#define _SYS_MD4_H_ /* MD4 context. */ typedef struct MD4Context { u_int32_t state[4]; /* state (ABCD) */ @@ -36,6 +36,43 @@ typedef struct MD4Context { #include +#ifndef _KERNEL + +/* Ensure libmd symbols do not clash with libcrypto */ + +#ifndef MD4Init +#define MD4Init _libmd_MD4Init +#endif +#ifndef MD4Update +#define MD4Update _libmd_MD4Update +#endif +#ifndef MD4Pad +#define MD4Pad _libmd_MD4Pad +#endif +#ifndef MD4Final +#define MD4Final _libmd_MD4Final +#endif +#ifndef MD4End +#define MD4End _libmd_MD4End +#endif +#ifndef MD4Fd +#define MD4Fd _libmd_MD4Fd +#endif +#ifndef MD4FdChunk +#define MD4FdChunk _libmd_MD4FdChunk +#endif +#ifndef MD4File +#define MD4File _libmd_MD4File +#endif +#ifndef MD4FileChunk +#define MD4FileChunk _libmd_MD4FileChunk +#endif +#ifndef MD4Data +#define MD4Data _libmd_MD4Data +#endif + +#endif + __BEGIN_DECLS void MD4Init(MD4_CTX *); void MD4Update(MD4_CTX *, const unsigned char *, unsigned int); @@ -43,9 +80,12 @@ void MD4Pad(MD4_CTX *); void MD4Final(unsigned char [__min_size(16)], MD4_CTX *); #ifndef _KERNEL char * MD4End(MD4_CTX *, char *); +char * MD4Fd(int, char *); +char * MD4FdChunk(int, char *, off_t, off_t); char * MD4File(const char *, char *); -char * MD4Data(const unsigned char *, unsigned int, char *); +char * MD4FileChunk(const char *, char *, off_t, off_t); +char * MD4Data(const void *, unsigned int, char *); #endif __END_DECLS -#endif /* _MD4_H_ */ +#endif /* _SYS_MD4_H_ */ From nobody Mon Sep 30 03:36:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6DZ0CM0z5Xf2r; Mon, 30 Sep 2024 03:36: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6DY6Xfzz43fl; Mon, 30 Sep 2024 03:36:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRNerBwfuQellBjYE4nxQ1QGv/e0MMggE50mQ+WamHY=; b=e6U3sJQJX2R6lqW4Z2Xm4ShntGFDHtxxxgCI54t3lUENCzVUDnROUt7QDHI/OcFmtrkCbs wlVOWqI4Gw/qJ34g0MFAYXuXbJk10OJpHtnZIa6MOkBUTDqmXgPhb2P0Y8XLusdlTHtzq5 0JMdrVsoOReAfYAAUN+Y5mNQClYU83GyBV0AAHK3c3EiSIJ6sl0/pgLvRU43y9C2fkotdo S7hgzaWL6PFTDR5J+FaXVoDLHqBRVGJrMv4noPjzogR7i51to0ATwQqNbr6v4/MG+2COei l2lnoI/alKpw0V1Vfv2th4Aw4We1RQLuwB3qcMflJa9GBRgIzpjzuah1/LgNOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727667373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRNerBwfuQellBjYE4nxQ1QGv/e0MMggE50mQ+WamHY=; b=Pm24oJb3MFjGV2+697akkWTtlR3T7+qACK1pJTiVeQPgUYr8v8lmO6PfFl3+5rTQCkkv+3 P+yjwfZXp0TF9Zjqv/n+vK6TeUTwxO1rdh8+GR2c6IS0haoVK80DfMILMwt2SYV6M8xf+K bwpeNW9Ed8g61xLBd7GZeoV76MzkF/TXowWKnvZUXIW+yASxSJNBjtf8OOdqVsm/YrPmAW HKsk8p2E/aJ39eqGB3o2eIx1rpHx5Tq2HPgkPnojxbEh+B77Kiu9ww9Uc5BkE5l+6N1Ua+ TZeRsSy7WIyuspBaIFEfDsxpYuLNkXxBu39aJNcmcOhTf7Zg6MeOqmxxQu34QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727667373; a=rsa-sha256; cv=none; b=rQ9MYDs2BiYx1X2r7I7Ie9hohqf6siVFD0m/Q30ZvPU9qcjEXbPuBUx97LNgCEQIhWYpLv WRABsm3mI71wMC0etXR1vbm6ofEPoNWGORYP2AKgMdfKkcEP6Mdmzaa0hFbj4GjnotbYp1 g6ktzgjfxjstyt+WyzrhMw8+MAWkQc2JM9zkXo6s2vmofsbskAPM2N5E0VHVhgLygx7KZY KZV/BOElMlMm01sLEbBINsFIslMr5lfqnBFsH+O8CY3FWEAjrWwyC20BZQKpxbc1wW1z1C PhdTkqkqx9vOETgBS/Q5EeIQkT6ppZ7rHNbqgIbsF/sHzinUadb8MM45h3KB7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6DY5s3wzcZs; Mon, 30 Sep 2024 03:36:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3aDRt067339; Mon, 30 Sep 2024 03:36:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3aDbV067336; Mon, 30 Sep 2024 03:36:13 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:36:13 GMT Message-Id: <202409300336.48U3aDbV067336@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: 5190e6341ce5 - main - libmd: stop exporting _version symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5190e6341ce5121cb17df109f9dc56ab8674aa5c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5190e6341ce5121cb17df109f9dc56ab8674aa5c commit 5190e6341ce5121cb17df109f9dc56ab8674aa5c Author: Kyle Evans AuthorDate: 2024-09-30 03:32:42 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:35:23 +0000 libmd: stop exporting _version symbols These are reportedly likely to be specific to SSLeay's implementation and likely not needed here. At the very least they shouldn't be used by consumers, so let's kick them out now while we're already prepared for a libmd soversion bump. Requested by: delphij, fuz --- lib/libmd/Symbol.map | 5 ----- lib/libmd/ripemd.h | 3 --- lib/libmd/rmd160c.c | 4 +--- lib/libmd/sha.h | 6 ------ lib/libmd/sha1c.c | 6 +----- sys/crypto/sha2/sha224.h | 4 ---- sys/crypto/sha2/sha256.h | 4 ---- sys/crypto/sha2/sha384.h | 4 ---- sys/crypto/sha2/sha512.h | 4 ---- sys/crypto/sha2/sha512t.h | 8 -------- 10 files changed, 2 insertions(+), 46 deletions(-) diff --git a/lib/libmd/Symbol.map b/lib/libmd/Symbol.map index 86523a5933a1..f0a1192af352 100644 --- a/lib/libmd/Symbol.map +++ b/lib/libmd/Symbol.map @@ -27,7 +27,6 @@ FBSD_1.7 { RIPEMD160_Final; RIPEMD160_Init; RIPEMD160_Update; - RMD160_version; SHA1_Data; SHA1_End; SHA1_Fd; @@ -37,7 +36,6 @@ FBSD_1.7 { SHA1_Final; SHA1_Init; SHA1_Update; - SHA1_version; SHA224_Data; SHA224_End; SHA224_Fd; @@ -156,7 +154,6 @@ FBSDprivate_1.0 { _libmd_RIPEMD160_Final; _libmd_RIPEMD160_Init; _libmd_RIPEMD160_Update; - _libmd_RMD160_version; _libmd_SHA1_Data; _libmd_SHA1_End; _libmd_SHA1_Fd; @@ -166,7 +163,6 @@ FBSDprivate_1.0 { _libmd_SHA1_Final; _libmd_SHA1_Init; _libmd_SHA1_Update; - _libmd_SHA1_version; _libmd_SHA224_Data; _libmd_SHA224_End; _libmd_SHA224_Fd; @@ -230,7 +226,6 @@ FBSDprivate_1.0 { _libmd_SHA_Final; _libmd_SHA_Init; _libmd_SHA_Update; - _libmd_SHA_version; _libmd_SKEIN1024_Data; _libmd_SKEIN1024_End; _libmd_SKEIN1024_Fd; diff --git a/lib/libmd/ripemd.h b/lib/libmd/ripemd.h index 7f82a54a5176..07293dad0e5f 100644 --- a/lib/libmd/ripemd.h +++ b/lib/libmd/ripemd.h @@ -110,9 +110,6 @@ __BEGIN_DECLS #define RIPEMD160_Data _libmd_RIPEMD160_Data #endif -#ifndef RMD160_version -#define RMD160_version _libmd_RMD160_version -#endif #ifndef ripemd160_block #define ripemd160_block _libmd_ripemd160_block #endif diff --git a/lib/libmd/rmd160c.c b/lib/libmd/rmd160c.c index 5642a9a29a1c..92d6524b25b4 100644 --- a/lib/libmd/rmd160c.c +++ b/lib/libmd/rmd160c.c @@ -76,7 +76,7 @@ #undef RMD160_ASM #endif -char *RMD160_version="RIPEMD160 part of SSLeay 0.9.0b 11-Oct-1998"; +static char *RMD160_version="RIPEMD160 part of SSLeay 0.9.0b 11-Oct-1998"; #ifdef RMD160_ASM void ripemd160_block_x86(RIPEMD160_CTX *c, const u_int32_t *p,int num); @@ -540,6 +540,4 @@ __weak_reference(_libmd_RIPEMD160_Init, RIPEMD160_Init); __weak_reference(_libmd_RIPEMD160_Update, RIPEMD160_Update); #undef RIPEMD160_Final __weak_reference(_libmd_RIPEMD160_Final, RIPEMD160_Final); -#undef RMD160_version -__weak_reference(_libmd_RMD160_version, RMD160_version); #endif diff --git a/lib/libmd/sha.h b/lib/libmd/sha.h index 49f65d91bfda..cd4a899bee49 100644 --- a/lib/libmd/sha.h +++ b/lib/libmd/sha.h @@ -107,9 +107,6 @@ __BEGIN_DECLS #define SHA_Data _libmd_SHA_Data #endif -#ifndef SHA_version -#define SHA_version _libmd_SHA_version -#endif #ifndef sha_block #define sha_block _libmd_sha_block #endif @@ -142,9 +139,6 @@ __BEGIN_DECLS #define SHA1_Data _libmd_SHA1_Data #endif -#ifndef SHA1_version -#define SHA1_version _libmd_SHA1_version -#endif #ifndef sha1_block #define sha1_block _libmd_sha1_block #endif diff --git a/lib/libmd/sha1c.c b/lib/libmd/sha1c.c index 6e80407e4ec0..83e402e132e7 100644 --- a/lib/libmd/sha1c.c +++ b/lib/libmd/sha1c.c @@ -79,7 +79,7 @@ #undef SHA1_ASM #endif -char *SHA1_version="SHA1 part of SSLeay 0.9.0b 11-Oct-1998"; +static char *SHA1_version="SHA1 part of SSLeay 0.9.0b 11-Oct-1998"; /* Implemented from SHA-1 document - The Secure Hash Algorithm */ @@ -483,14 +483,10 @@ __weak_reference(_libmd_SHA_Init, SHA_Init); __weak_reference(_libmd_SHA_Update, SHA_Update); #undef SHA_Final __weak_reference(_libmd_SHA_Final, SHA_Final); -#undef SHA_version -__weak_reference(_libmd_SHA_version, SHA_version); #undef SHA1_Init __weak_reference(_libmd_SHA1_Init, SHA1_Init); #undef SHA1_Update __weak_reference(_libmd_SHA1_Update, SHA1_Update); #undef SHA1_Final __weak_reference(_libmd_SHA1_Final, SHA1_Final); -#undef SHA1_version -__weak_reference(_libmd_SHA1_version, SHA1_version); #endif diff --git a/sys/crypto/sha2/sha224.h b/sys/crypto/sha2/sha224.h index 8286a31fdec2..b54f418ae594 100644 --- a/sys/crypto/sha2/sha224.h +++ b/sys/crypto/sha2/sha224.h @@ -73,10 +73,6 @@ __BEGIN_DECLS #define SHA224_Data _libmd_SHA224_Data #endif -#ifndef SHA224_version -#define SHA224_version _libmd_SHA224_version -#endif - void SHA224_Init(SHA224_CTX *); void SHA224_Update(SHA224_CTX *, const void *, size_t); void SHA224_Final(unsigned char [__min_size(SHA224_DIGEST_LENGTH)], diff --git a/sys/crypto/sha2/sha256.h b/sys/crypto/sha2/sha256.h index 7bee1002c25c..77237c466bd9 100644 --- a/sys/crypto/sha2/sha256.h +++ b/sys/crypto/sha2/sha256.h @@ -73,10 +73,6 @@ __BEGIN_DECLS #define SHA256_Data _libmd_SHA256_Data #endif -#ifndef SHA256_version -#define SHA256_version _libmd_SHA256_version -#endif - void SHA256_Init(SHA256_CTX *); void SHA256_Update(SHA256_CTX *, const void *, size_t); void SHA256_Final(unsigned char [__min_size(SHA256_DIGEST_LENGTH)], diff --git a/sys/crypto/sha2/sha384.h b/sys/crypto/sha2/sha384.h index 17d99f6901b7..83ffb8b1ebf1 100644 --- a/sys/crypto/sha2/sha384.h +++ b/sys/crypto/sha2/sha384.h @@ -72,10 +72,6 @@ __BEGIN_DECLS #define SHA384_Data _libmd_SHA384_Data #endif -#ifndef SHA384_version -#define SHA384_version _libmd_SHA384_version -#endif - void SHA384_Init(SHA384_CTX *); void SHA384_Update(SHA384_CTX *, const void *, size_t); void SHA384_Final(unsigned char [__min_size(SHA384_DIGEST_LENGTH)], diff --git a/sys/crypto/sha2/sha512.h b/sys/crypto/sha2/sha512.h index 4a3e2cadf022..b78fde7dc22f 100644 --- a/sys/crypto/sha2/sha512.h +++ b/sys/crypto/sha2/sha512.h @@ -72,10 +72,6 @@ __BEGIN_DECLS #define SHA512_Data _libmd_SHA512_Data #endif -#ifndef SHA512_version -#define SHA512_version _libmd_SHA512_version -#endif - void SHA512_Init(SHA512_CTX *); void SHA512_Update(SHA512_CTX *, const void *, size_t); void SHA512_Final(unsigned char [__min_size(SHA512_DIGEST_LENGTH)], diff --git a/sys/crypto/sha2/sha512t.h b/sys/crypto/sha2/sha512t.h index 2274fa2704b9..dc8025e4a74f 100644 --- a/sys/crypto/sha2/sha512t.h +++ b/sys/crypto/sha2/sha512t.h @@ -69,10 +69,6 @@ __BEGIN_DECLS #define SHA512_224_Data _libmd_SHA512_224_Data #endif -#ifndef SHA512_224_version -#define SHA512_224_version _libmd_SHA512_224_version -#endif - #ifndef SHA512_256_Init #define SHA512_256_Init _libmd_SHA512_256_Init #endif @@ -101,10 +97,6 @@ __BEGIN_DECLS #define SHA512_256_Data _libmd_SHA512_256_Data #endif -#ifndef SHA512_256_version -#define SHA512_256_version _libmd_SHA512_256_version -#endif - void SHA512_224_Init(SHA512_CTX *); void SHA512_224_Update(SHA512_CTX *, const void *, size_t); void SHA512_224_Final(unsigned char [__min_size(SHA512_224_DIGEST_LENGTH)], From nobody Mon Sep 30 03:53:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH6cb5cz9z5XgQ1; Mon, 30 Sep 2024 03:53:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH6cb4t5Wz46tq; Mon, 30 Sep 2024 03:53:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727668415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N1wt1SwZoRkund8y94gnTBXKdhFcCnIY6lX8zV8u8j4=; b=SHtV+jhwy5SnZ/7LwGUCkVq1CbkeI90rddg5idWSoj2VvvHLCsu4Tp/eRqrViuqI9dRbaK Chzk7JB2kkvcu6Cj4lqt+2XkpnGkI09gAmV/dPNA4WVKlHY3tGretDJ1aCTFiOczMnOd21 4j34A0tZHfByWl+k2VQwJIdl1N3qRd8mqdJ+0ixjX8SPGnIXiLTnePW7VnP665wWG+yKED pHrVE0ZEgK8bRrYKIMgqeoFLucpepLxFFu3b/IfnioLOG3NDwbVDssIqG1EQbswy7isp/+ VtsAQgOZ80xYFwqhOcfm/dajY2XhaSWBBX7yTuQwLGTMT413HPx+sN7kchriuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727668415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N1wt1SwZoRkund8y94gnTBXKdhFcCnIY6lX8zV8u8j4=; b=ci+BFCDf1dqkdeJuDnLTSNZWR2NamVqlBPWJ54vFHKBkGr+GC0Da7Pgv+g+PRNdr67kyEB uxFBVRgspbUspajuoA6Dang58IKS1JxQW07DiPx8Gsj5m2Xy6HnAXH+XQ57SJgsGFCOHzV MMqG6ZXyCxqmMV5HgW13aHNsL5b+nVpxVXTdd5j6H/hScYtCxpqQUIa8vP2C7GuiD6O+A5 r1xma6VdLMc0ADqo/+NTT0hNamy7+JX9wxFYD7VJHxE4sUImTWGcIOdAHe1ZMv3yuldczt yrB43qUrjlSzJcaZMDvOPo9HsJBna41CctXsV8zVdu6d+H3jw/45Fg/vCbfitg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727668415; a=rsa-sha256; cv=none; b=TLpYt3HEkO0WR+gJJ59DWH9oGEuGaGRRMb2Af+xhdTpo/7UkUnfECoa5gY05E2TNMYFW9x q2kbfcB7t14C5AYBNDUZJqZ9rf/GMxT4niYKM1odn+a15ZFetXN0umv6S8S9rVPHhKT7aS 1YQXoly3VZlHalDnPbi6V52YGWmV1l4y0aDdkGIX8tMpWnx5UqKbqPdxB/r9VcWVecpCjO zU2YAOqfZ6GaKQVG5Wr1JuowXUCTiD+xo1qoVs/V55CTh75ojUyytGJhllHDNpN+H44eTh iWcyzysSYIq9Msw9QqkGekWCPMsuVIRikd6diGlazXGR0mHNlgAkSgrDURV/dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH6cb4F71zdPd; Mon, 30 Sep 2024 03:53:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U3rZaO000713; Mon, 30 Sep 2024 03:53:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U3rZM7000710; Mon, 30 Sep 2024 03:53:35 GMT (envelope-from git) Date: Mon, 30 Sep 2024 03:53:35 GMT Message-Id: <202409300353.48U3rZM7000710@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: c2caf3b3313f - main - flua: lposix: add more useful functions for general purpose scripts List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c2caf3b3313fe73bfc9b4b984c21da8d571f8798 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c2caf3b3313fe73bfc9b4b984c21da8d571f8798 commit c2caf3b3313fe73bfc9b4b984c21da8d571f8798 Author: Kyle Evans AuthorDate: 2023-03-11 06:03:02 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 03:52:20 +0000 flua: lposix: add more useful functions for general purpose scripts unistd: - _exit - close - fork - getpid - pipe - read - write libgen: - basename, dirname stdlib: - realpath These are sufficient for a number of real world scenarios. In our first application of them, we use the libgen+stdlib additions to grab the script dir based on argv[0]. The unistd assortment is then used to outsource a bunch of work to forks and report back to the main process. Reviewed by: emaste, imp Differential Revision: https://reviews.freebsd.org/D39083 --- libexec/flua/linit_flua.c | 3 + libexec/flua/modules/lposix.c | 415 ++++++++++++++++++++++++++++++++++++++---- libexec/flua/modules/lposix.h | 3 + 3 files changed, 388 insertions(+), 33 deletions(-) diff --git a/libexec/flua/linit_flua.c b/libexec/flua/linit_flua.c index 4635970d1fd7..5cae7531b7da 100644 --- a/libexec/flua/linit_flua.c +++ b/libexec/flua/linit_flua.c @@ -57,8 +57,11 @@ static const luaL_Reg loadedlibs[] = { #endif /* FreeBSD Extensions */ {"lfs", luaopen_lfs}, + {"posix.libgen", luaopen_posix_libgen}, + {"posix.stdlib", luaopen_posix_stdlib}, {"posix.sys.stat", luaopen_posix_sys_stat}, {"posix.sys.utsname", luaopen_posix_sys_utsname}, + {"posix.sys.wait", luaopen_posix_sys_wait}, {"posix.unistd", luaopen_posix_unistd}, {"fbsd", luaopen_fbsd}, {NULL, NULL} diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index fa3fd5f8e589..9ca57d409d10 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -1,35 +1,18 @@ /*- - * Copyright (c) 2019 Kyle Evans - * - * 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. + * Copyright (c) 2019, 2023 Kyle Evans * + * SPDX-License-Identifier: BSD-2-Clause */ #include #include +#include #include #include +#include #include +#include #include #include @@ -40,6 +23,39 @@ /* * Minimal implementation of luaposix needed for internal FreeBSD bits. */ +static int +lua__exit(lua_State *L) +{ + int code, narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg == 1, 1, "_exit takes exactly one argument"); + + code = luaL_checkinteger(L, 1); + _exit(code); +} + +static int +lua_basename(lua_State *L) +{ + char *inpath, *outpath; + int narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg > 0, 1, "at least one argument required"); + inpath = strdup(luaL_checkstring(L, 1)); + if (inpath == NULL) { + lua_pushnil(L); + lua_pushstring(L, strerror(ENOMEM)); + lua_pushinteger(L, ENOMEM); + return (3); + } + + outpath = basename(inpath); + lua_pushstring(L, outpath); + free(inpath); + return (1); +} static int lua_chmod(lua_State *L) @@ -57,10 +73,10 @@ lua_chmod(lua_State *L) lua_pushnil(L); lua_pushstring(L, strerror(errno)); lua_pushinteger(L, errno); - return 3; + return (3); } lua_pushinteger(L, 0); - return 1; + return (1); } static int @@ -120,14 +136,32 @@ lua_chown(lua_State *L) } static int -lua_getpid(lua_State *L) +lua_pclose(lua_State *L) { - int n; + int error, fd, n; n = lua_gettop(L); - luaL_argcheck(L, n == 0, 1, "too many arguments"); - lua_pushinteger(L, getpid()); - return 1; + luaL_argcheck(L, n == 1, 1, + "close takes exactly one argument (fd)"); + + fd = luaL_checkinteger(L, 1); + if (fd < 0) { + error = EBADF; + goto err; + } + + if (close(fd) == 0) { + lua_pushinteger(L, 0); + return (1); + } + + error = errno; +err: + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); + } static int @@ -163,7 +197,271 @@ lua_uname(lua_State *L) return (1); } -#define REG_SIMPLE(n) { #n, lua_ ## n } +static int +lua_dirname(lua_State *L) +{ + char *inpath, *outpath; + int narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg > 0, 1, + "dirname takes at least one argument (path)"); + inpath = strdup(luaL_checkstring(L, 1)); + if (inpath == NULL) { + lua_pushnil(L); + lua_pushstring(L, strerror(ENOMEM)); + lua_pushinteger(L, ENOMEM); + return (3); + } + + outpath = dirname(inpath); + lua_pushstring(L, outpath); + free(inpath); + return (1); +} + +static int +lua_fork(lua_State *L) +{ + pid_t pid; + int narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg == 0, 1, "too many arguments"); + + pid = fork(); + if (pid < 0) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } + + lua_pushinteger(L, pid); + return (1); +} + +static int +lua_getpid(lua_State *L) +{ + int narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg == 0, 1, "too many arguments"); + lua_pushinteger(L, getpid()); + return (1); +} + +static int +lua_pipe(lua_State *L) +{ + int error, fd[2], narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg == 0, 1, "too many arguments"); + + error = pipe(fd); + if (error != 0) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (1); + } + + lua_pushinteger(L, fd[0]); + lua_pushinteger(L, fd[1]); + return (2); +} + +static int +lua_read(lua_State *L) +{ + char *buf; + ssize_t ret; + size_t sz; + int error, fd, narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg == 2, 1, + "read takes exactly two arguments (fd, size)"); + + fd = luaL_checkinteger(L, 1); + sz = luaL_checkinteger(L, 2); + + if (fd < 0) { + error = EBADF; + goto err; + } + + buf = malloc(sz); + if (buf == NULL) + goto err; + + /* + * For 0-byte reads, we'll still push the empty string and let the + * caller deal with EOF to match lposix semantics. + */ + ret = read(fd, buf, sz); + if (ret >= 0) + lua_pushlstring(L, buf, ret); + else if (ret < 0) + error = errno; /* Save to avoid clobber by free() */ + + free(buf); + if (error != 0) + goto err; + + /* Just the string pushed. */ + return (1); +err: + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + +static int +lua_realpath(lua_State *L) +{ + const char *inpath; + char *outpath; + int narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg > 0, 1, "at least one argument required"); + inpath = luaL_checkstring(L, 1); + + outpath = realpath(inpath, NULL); + if (outpath == NULL) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } + + lua_pushstring(L, outpath); + free(outpath); + return (1); +} + +static int +lua_wait(lua_State *L) +{ + pid_t pid; + int options, status; + int narg; + + narg = lua_gettop(L); + + pid = -1; + status = options = 0; + if (narg >= 1 && !lua_isnil(L, 1)) + pid = luaL_checkinteger(L, 1); + if (narg >= 2 && !lua_isnil(L, 2)) + options = luaL_checkinteger(L, 2); + + pid = waitpid(pid, &status, options); + if (pid < 0) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } + + lua_pushinteger(L, pid); + if (pid == 0) { + lua_pushliteral(L, "running"); + return (2); + } + + if (WIFCONTINUED(status)) { + lua_pushliteral(L, "continued"); + return (2); + } else if(WIFSTOPPED(status)) { + lua_pushliteral(L, "stopped"); + lua_pushinteger(L, WSTOPSIG(status)); + return (3); + } else if (WIFEXITED(status)) { + lua_pushliteral(L, "exited"); + lua_pushinteger(L, WEXITSTATUS(status)); + return (3); + } else if (WIFSIGNALED(status)) { + lua_pushliteral(L, "killed"); + lua_pushinteger(L, WTERMSIG(status)); + return (3); + } + + return (1); +} + +static int +lua_write(lua_State *L) +{ + const char *buf; + size_t bufsz, sz; + ssize_t ret; + off_t offset; + int error, fd, narg; + + narg = lua_gettop(L); + luaL_argcheck(L, narg >= 2, 1, + "write takes at least two arguments (fd, buf, sz, off)"); + luaL_argcheck(L, narg <= 4, 5, + "write takes no more than four arguments (fd, buf, sz, off)"); + + fd = luaL_checkinteger(L, 1); + if (fd < 0) { + error = EBADF; + goto err; + } + + buf = luaL_checkstring(L, 2); + + bufsz = sz = lua_rawlen(L, 2); + if (narg >= 3 && !lua_isnil(L, 3)) + sz = luaL_checkinteger(L, 3); + + offset = 0; + if (narg >= 4 && !lua_isnil(L, 4)) + offset = luaL_checkinteger(L, 4); + + if ((size_t)offset > bufsz || offset + sz > bufsz) { + lua_pushnil(L); + lua_pushfstring(L, + "write: invalid access offset %zu, size %zu in a buffer size %zu", + offset, sz, bufsz); + lua_pushinteger(L, EINVAL); + return (3); + } + + ret = write(fd, buf + offset, sz); + if (ret < 0) { + error = errno; + goto err; + } + + lua_pushinteger(L, ret); + return (1); +err: + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + +#define REG_DEF(n, func) { #n, func } +#define REG_SIMPLE(n) REG_DEF(n, lua_ ## n) +static const struct luaL_Reg libgenlib[] = { + REG_SIMPLE(basename), + REG_SIMPLE(dirname), + { NULL, NULL }, +}; + +static const struct luaL_Reg stdliblib[] = { + REG_SIMPLE(realpath), + { NULL, NULL }, +}; + static const struct luaL_Reg sys_statlib[] = { REG_SIMPLE(chmod), { NULL, NULL }, @@ -174,18 +472,69 @@ static const struct luaL_Reg sys_utsnamelib[] = { { NULL, NULL }, }; +static const struct luaL_Reg sys_waitlib[] = { + REG_SIMPLE(wait), + {NULL, NULL}, +}; + static const struct luaL_Reg unistdlib[] = { - REG_SIMPLE(getpid), + REG_SIMPLE(_exit), REG_SIMPLE(chown), + REG_DEF(close, lua_pclose), + REG_SIMPLE(fork), + REG_SIMPLE(getpid), + REG_SIMPLE(pipe), + REG_SIMPLE(read), + REG_SIMPLE(write), { NULL, NULL }, }; + #undef REG_SIMPLE +#undef REG_DEF + +int +luaopen_posix_libgen(lua_State *L) +{ + luaL_newlib(L, libgenlib); + return (1); +} + +int +luaopen_posix_stdlib(lua_State *L) +{ + luaL_newlib(L, stdliblib); + return (1); +} int luaopen_posix_sys_stat(lua_State *L) { luaL_newlib(L, sys_statlib); - return 1; + return (1); +} + +int +luaopen_posix_sys_wait(lua_State *L) +{ + luaL_newlib(L, sys_waitlib); + +#define lua_pushflag(L, flag) do { \ + lua_pushinteger(L, flag); \ + lua_setfield(L, -2, #flag); \ +} while(0) + + /* Only these two exported by lposix */ + lua_pushflag(L, WNOHANG); + lua_pushflag(L, WUNTRACED); + + lua_pushflag(L, WCONTINUED); + lua_pushflag(L, WSTOPPED); + lua_pushflag(L, WTRAPPED); + lua_pushflag(L, WEXITED); + lua_pushflag(L, WNOWAIT); +#undef lua_pushflag + + return (1); } int @@ -199,5 +548,5 @@ int luaopen_posix_unistd(lua_State *L) { luaL_newlib(L, unistdlib); - return 1; + return (1); } diff --git a/libexec/flua/modules/lposix.h b/libexec/flua/modules/lposix.h index e37caaae9d04..9d2c97b0d2dc 100644 --- a/libexec/flua/modules/lposix.h +++ b/libexec/flua/modules/lposix.h @@ -7,6 +7,9 @@ #include +int luaopen_posix_libgen(lua_State *L); +int luaopen_posix_stdlib(lua_State *L); int luaopen_posix_sys_stat(lua_State *L); int luaopen_posix_sys_utsname(lua_State *L); +int luaopen_posix_sys_wait(lua_State *L); int luaopen_posix_unistd(lua_State *L); From nobody Mon Sep 30 04:43:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH7kY2Bpmz5Xk25; Mon, 30 Sep 2024 04:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH7kY1SNmz4Crq; Mon, 30 Sep 2024 04:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727671429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=npcC6jZBfT4QbOWw+QKEFVwwiq3kmQwyXZ/sbcc9OjQ=; b=swlRM6419rsvGbY51fWFpihjzZpazcCMygaTP1O/q6UgVeB2Xrzl7wRapoaIEuKcRwdj1X //jqUW6Pq/xxDzH9Jy+3/9OM9WcaUV4PnFKXE8r9Ag63ueDwa+VeywA4+4Kc5yiNzip6nH 7fVeqjJy4SZcEPqlW/PQaZCLvTof3xAKATJ9VpZMVr6b1XoBcAuQTTdyPfPAhbPZALE8a3 uExO6j38O5HcwwhKZfRJpd/AmARnSR1jHw/RJ0OTKwJICbtSWpH8qXnXnroI7JrpB9h97m LJw0XwpjCeXnz+iSOJrl5AU4H8rWFVJdYkbd2cjaFmAvjOcfBcwzXxd4UcNB0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727671429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=npcC6jZBfT4QbOWw+QKEFVwwiq3kmQwyXZ/sbcc9OjQ=; b=AgObH2paMs90EOZyulXrWJQQREen4cop2Hw78ShVPJwhVF1QymqIYlxDxowd+MW+JvS2Lm t7eiThuRc+Wng5yJvThupnlwZePOhTpL4iffWeTabQVY5sxduGWFXEL5dcIRxo4cR4rGV7 /aGFxKRii5bxFs3sCd8HJK6jZE5ItQbkFSG173dBCYMkf+ANsk0JVsJXBrdMlPxiP8/qKz YpHa8qosFjUkm0ZyLblboNJM+JBZlL8+xB0foaxXCdv3ic5vXhPq6CkjjsCsoHc8sRucXt 42gaPQapUzy7TJu71sfn/ePyvfTO47gdNIzwDEIxAzJ0k95RmQs9Z9YN4snvWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727671429; a=rsa-sha256; cv=none; b=mVgrEn0TSSy3A8ZtKj2Cx/YygEX7yvwSL54i5W9Kqb5kqpjyrfOgHyG7hJkY4Wn3I1tYkL x6blVkphR5UuMO/JD8y2ln9cHDLS3BwhcTWWAZUkz25w/i2cRSO1wJesowefSexfx6azN0 EVWrYdK5QanrKie205LttOZB/c7GDNb4ZkDbknNwMFG0pntbm3KOFtC1DUeriu4cwOnu3V 5EZrgBCRC5pT2694+wynX+6ghnYqygkIkqCj00hsVmyuVPvbej+ObI8C6D+oV9P/tBGWzx yb90PXwfEawRmcuaM5VOJ3YCEHdjMKOSyrhVVv6h2kRa/UkjjVQjfOZkJhXYPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH7kY0wJXzf9N; Mon, 30 Sep 2024 04:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U4hnQU085452; Mon, 30 Sep 2024 04:43:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U4hnTm085449; Mon, 30 Sep 2024 04:43:49 GMT (envelope-from git) Date: Mon, 30 Sep 2024 04:43:49 GMT Message-Id: <202409300443.48U4hnTm085449@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: 0ffebeb08ae5 - main - libmd: quickly switch exported symbols to FBSD_1.8 before anyone notices List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0ffebeb08ae5d77f0159550761878d6a090770f2 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=0ffebeb08ae5d77f0159550761878d6a090770f2 commit 0ffebeb08ae5d77f0159550761878d6a090770f2 Author: Kyle Evans AuthorDate: 2024-09-30 04:42:53 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 04:42:53 +0000 libmd: quickly switch exported symbols to FBSD_1.8 before anyone notices This sat in my tree for years, and we've since cut another release branch. Oops. =\ --- lib/libmd/Symbol.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libmd/Symbol.map b/lib/libmd/Symbol.map index f0a1192af352..c3ea3a43968f 100644 --- a/lib/libmd/Symbol.map +++ b/lib/libmd/Symbol.map @@ -1,4 +1,4 @@ -FBSD_1.7 { +FBSD_1.8 { MD4Data; MD4End; MD4Fd; From nobody Mon Sep 30 05:09:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XH8J23D0Jz5XlyJ; Mon, 30 Sep 2024 05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XH8J22Wddz4Z56; Mon, 30 Sep 2024 05: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=1727672962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWGvrOzBM/rJwTNYwYEPw2/sfF3MaDmuKHAWPlO+W4g=; b=PrFRY9tyJBDULe19rhHPUwv+jGWCcvA/t0QGXEdOcPFnjQ6QupAkMJsOqXmc6j0bsYo5u3 xL9W0llX5vTJBj2t+xzSI/zVslvDg/+lGCyzV5LbP8F5rzCZxqydjnAYPfqtL7HFtXsH39 NWg4j3ZeAbQec0Ql4vzYov2NeZB24EZdeL076q/tOggnavos1bPBOskG1nSp51xI5rAylV 4+IDo/1EaJ6HV4XZ3LwXPryoFSBnbFzlKmu51ePgf6ABvBpQVlPwSTaHSfYB2QZk+KaYqs f3zBllU8RaW6QqTN9QaT6Cv1T8JW0yceM/Ql3J1pkPcmIQRS3K72TWvgNT9vGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727672962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWGvrOzBM/rJwTNYwYEPw2/sfF3MaDmuKHAWPlO+W4g=; b=FQLA+mcasiLDUs1aRnoBvf6ON1NG3pyy/QHAfM9VEECUxfllHDPMgCDjoC0WY3vX7f+vir BpzACGu6rcew+YZNIjv70FCTy7+okW9nHic/1M2j2/7OnNPgc0PyuGiMsjI8XlbDSdFSVe 0UrGvzkdv34sUQLvTKSDl0/tIUqetz3lD7xtlrsR3A6CIw2Q+wUkeQXJl4BxeJhYB8rGsS dkkyOdDKjYoAAMaEYfw3/I+SImajaEvsHEv/l2waS5ymyHTUV9JR9DDQ94r7rdDYSj5yU8 qo7920nbvNpWmNuXZSIflXo0YbUwA31duYLxWa0ZV2nzWAOP+gujCt0JPtG4Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727672962; a=rsa-sha256; cv=none; b=niUPS7XGVFeUe1oN78X9frwwCdHzMO4pVjmI7dcnDqB4jcsN7huMiHH/r+608yGoGttzZd dmpjq9OOuWI901zSyyK5GR3t3XPbqh7oZWkFg+yMmrGCFDD5+77Gwsv4Cz1VthXh0ctAop PBkm7za9Qu2JSkgFf3oOk+rD2VUxGhhY+1EOa+C0YQrizq+sfBIx1HIC31IsAiaAgDcGP2 7ZSyyZQ6051f7Iq9GV6j98K4xGc27wXKlVWKpiymR3wctMTTeq75Yx5QI/lLHdtcgG/WMm zK4CQ6tLcWp5yYFsSL9e62q7U0m9xhNSG5u2e/MIc5DcnRkyIDWWHnCn+Jev6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XH8J21FfGzftg; Mon, 30 Sep 2024 05:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U59MxQ026638; Mon, 30 Sep 2024 05:09:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U59MTh026635; Mon, 30 Sep 2024 05:09:22 GMT (envelope-from git) Date: Mon, 30 Sep 2024 05:09:22 GMT Message-Id: <202409300509.48U59MTh026635@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: aad507854efd - main - Fix the cross-build after recent commits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: aad507854efd13c4387394e88d5667cc6f060933 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=aad507854efd13c4387394e88d5667cc6f060933 commit aad507854efd13c4387394e88d5667cc6f060933 Author: Kyle Evans AuthorDate: 2024-09-30 04:54:32 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 05:08:49 +0000 Fix the cross-build after recent commits - Provide a sys/md4.h in the cross-build environment to fix bootstrap of libmd. - flua now exposes WTRAPPED which isn't incredibly common- make it conditional, we probably won't be using it in any bootstrap context any time soon. Fixes: 442e0975ee4b3 ("Consolidate md4 implementations written in C") Fixes: c2caf3b3313fe ("flua: posix: add more useful functions [...]") --- libexec/flua/modules/lposix.c | 2 + tools/build/cross-build/include/common/sys/md4.h | 91 ++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 9ca57d409d10..77e152754b8c 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -529,7 +529,9 @@ luaopen_posix_sys_wait(lua_State *L) lua_pushflag(L, WCONTINUED); lua_pushflag(L, WSTOPPED); +#ifdef WTRAPPED lua_pushflag(L, WTRAPPED); +#endif lua_pushflag(L, WEXITED); lua_pushflag(L, WNOWAIT); #undef lua_pushflag diff --git a/tools/build/cross-build/include/common/sys/md4.h b/tools/build/cross-build/include/common/sys/md4.h new file mode 100644 index 000000000000..e00675e9f462 --- /dev/null +++ b/tools/build/cross-build/include/common/sys/md4.h @@ -0,0 +1,91 @@ +/* MD4.H - header file for MD4C.C + */ + +/*- + SPDX-License-Identifier: RSA-MD + + Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All + rights reserved. + + License to copy and use this software is granted provided that it + is identified as the "RSA Data Security, Inc. MD4 Message-Digest + Algorithm" in all material mentioning or referencing this software + or this function. + License is also granted to make and use derivative works provided + that such works are identified as "derived from the RSA Data + Security, Inc. MD4 Message-Digest Algorithm" in all material + mentioning or referencing the derived work. + + RSA Data Security, Inc. makes no representations concerning either + the merchantability of this software or the suitability of this + software for any particular purpose. It is provided "as is" + without express or implied warranty of any kind. + + These notices must be retained in any copies of any part of this + documentation and/or software. + */ + +#ifndef _SYS_MD4_H_ +#define _SYS_MD4_H_ +/* MD4 context. */ +typedef struct MD4Context { + u_int32_t state[4]; /* state (ABCD) */ + u_int32_t count[2]; /* number of bits, modulo 2^64 (lsb first) */ + unsigned char buffer[64]; /* input buffer */ +} MD4_CTX; + +#include + +#ifndef _KERNEL + +/* Ensure libmd symbols do not clash with libcrypto */ + +#ifndef MD4Init +#define MD4Init _libmd_MD4Init +#endif +#ifndef MD4Update +#define MD4Update _libmd_MD4Update +#endif +#ifndef MD4Pad +#define MD4Pad _libmd_MD4Pad +#endif +#ifndef MD4Final +#define MD4Final _libmd_MD4Final +#endif +#ifndef MD4End +#define MD4End _libmd_MD4End +#endif +#ifndef MD4Fd +#define MD4Fd _libmd_MD4Fd +#endif +#ifndef MD4FdChunk +#define MD4FdChunk _libmd_MD4FdChunk +#endif +#ifndef MD4File +#define MD4File _libmd_MD4File +#endif +#ifndef MD4FileChunk +#define MD4FileChunk _libmd_MD4FileChunk +#endif +#ifndef MD4Data +#define MD4Data _libmd_MD4Data +#endif + +#endif + +__BEGIN_DECLS +void MD4Init(MD4_CTX *); +void MD4Update(MD4_CTX *, const unsigned char *, unsigned int); +void MD4Pad(MD4_CTX *); +void MD4Final(unsigned char [__min_size(16)], MD4_CTX *); +#ifndef _KERNEL +char * MD4End(MD4_CTX *, char *); +char * MD4Fd(int, char *); +char * MD4FdChunk(int, char *, off_t, off_t); +char * MD4File(const char *, char *); +char * MD4FileChunk(const char *, char *, off_t, off_t); +char * MD4Data(const void *, unsigned int, char *); +#endif +__END_DECLS + +#endif /* _SYS_MD4_H_ */ From nobody Mon Sep 30 06:33:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHB976Lqrz5XrJf; Mon, 30 Sep 2024 06:33:31 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHB963mdXz4tJp; Mon, 30 Sep 2024 06:33:30 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of antoine.brodin.freebsd@gmail.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=antoine.brodin.freebsd@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none) Received: by mail-ua1-f43.google.com with SMTP id a1e0cc1a2514c-84e9edc17beso1010328241.0; Sun, 29 Sep 2024 23:33:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727678009; x=1728282809; h=content-transfer-encoding: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=7EmrDi0gRYOCGnIoV4EuOpTZRk2lUjqai8qASGdp1CE=; b=faOaHN6bv9nipXc0z2rh166g8L81KEwQ1hnoT31Z/UoTVS5V2VshADDMybFRXN/YP3 bNCzslQX7OFxeMipOeFpygiL2EdgUXa4JT0D+x6h/B63lSbALXQN0aTK23qiift3iiE8 SY8NxvtbEmb071572GxPrJns33euIGM/qbTHsAHl3EGT/bpWefJ+30P1P2jtwM5iDg37 Y7mM5xBtrS3kAc3k1pjh5xKpbAkcubA7TomvECBlBCRriscR1jC+dT7gQRyktqDlT1FM 2NdheOizmEq9Xoq9jI+yN9tF/nUgrWfqWmKUDDe+l+mmvmriGuMZYpd9bYOWIn3cB8Tz 2Chg== X-Forwarded-Encrypted: i=1; AJvYcCW8Tk97rxKE53uKEHJGVh7IcJ17uidJP4mSOepMxvmbKcad6jfcgxQcySiJkuP1RCqCoItWrYQByZspdxjd40rCV0zGQC8=@freebsd.org, AJvYcCWUGGDciUh1mNmmx/aIHSugzqqmA2LvtasssNSbI8oU4bz9ovWZWx3LrpDtz30ImuVKy6mxmv3pbrtl1Dgtn0k7he9d@freebsd.org X-Gm-Message-State: AOJu0YxIwbuZCJRr4XkiCpUggZ7J1wkg/T37upPkNGaD1tEtvhf9ywC0 xDPeEXg0DUzn6D60PnFpYopzYO9TJ4aw/pQCh7Ffr3D5smMWz4zVj6MGTXNohK+Zxchqw472d3v ua2bCwQeTA7mCtYf8ATBjiZsKoA9oDPrp X-Google-Smtp-Source: AGHT+IFSQNwOwqsS8R1PM9GD4lAi04O2YUIE42amJQCP53rZcugxsngE2p08HXu5IsXQSLOSYmv+E8OH2bukfiZ3tLc= X-Received: by 2002:a05:6122:923:b0:4ed:185:258c with SMTP id 71dfb90a1353d-507816b475dmr5786432e0c.2.1727678009253; Sun, 29 Sep 2024 23:33:29 -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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202409271933.48RJX0dH066668@gitrepo.freebsd.org> In-Reply-To: <202409271933.48RJX0dH066668@gitrepo.freebsd.org> From: Antoine Brodin Date: Mon, 30 Sep 2024 08:33:18 +0200 Message-ID: Subject: Re: git: 1235d276b78a - main - lib{c,sys}: stop exposing errno symbol To: Brooks Davis Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.77 / 15.00]; NEURAL_HAM_SHORT(-0.98)[-0.982]; NEURAL_HAM_LONG(-0.98)[-0.978]; NEURAL_HAM_MEDIUM(-0.91)[-0.909]; FORGED_SENDER(0.30)[antoine@freebsd.org,antoinebrodinfreebsd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; ARC_NA(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.222.43:from]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[antoine@freebsd.org,antoinebrodinfreebsd@gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.222.43:from]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4XHB963mdXz4tJp X-Spamd-Bar: -- On Fri, Sep 27, 2024 at 9:33=E2=80=AFPM Brooks Davis w= rote: > > The branch main has been updated by brooks: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D1235d276b78a769bded01d51c9= bf3cdc480db9fb > > commit 1235d276b78a769bded01d51c9bf3cdc480db9fb > Author: Brooks Davis > AuthorDate: 2024-09-27 19:27:46 +0000 > Commit: Brooks Davis > CommitDate: 2024-09-27 19:27:46 +0000 > > lib{c,sys}: stop exposing errno symbol > > Officially since C11 (and in reality FreeBSD since 3.0 with commit > 1b46cb523df3) errno has been defined to be a macro. Rename the symbo= l > to __libsys_errno and move it to FBSDprivate_1.0 and confine it entie= rly > to libsys for use by libthr. Add a FBSD_1.0 compat symbol for existi= ng > binaries that were incorrectly linked to the errno symbol during > libc.so.7's lifetime. > > This deliberately breaks linking software that directly links to errn= o. > Such software is broken and will fail in surprising ways if it become= s > threaded (e.g., if it triggers loading of a pam or nss module that > uses threads.) > > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D46780 > --- > lib/libsys/Makefile | 2 ++ > lib/libsys/Symbol.map | 1 + > lib/libsys/Symbol.sys.map | 1 - > lib/libsys/__error.c | 10 +++++----- > lib/libthr/sys/thr_error.c | 5 ++--- > lib/libthr/thread/thr_rtld.c | 7 +++---- > 6 files changed, 13 insertions(+), 13 deletions(-) Hello, This breaks some ports: https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/cdb-0.75.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/checkpassword-0.90.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/clockspeed-0.62_6.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/copytape-1.0_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/daemontools-0.76_19.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/dot-forward-0.71_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/faces-1.7.7_13.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/fastforward-0.51_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/gkermit-1.0_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/ja-edict-19990714_6.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/ja-mh-6.8.4.j3.05_7.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/mess822-0.58_3.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/mpeg_encode-1.5b.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/pbasic-2.1_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/qlogtools-3.1_4.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/qmail-contrib-0.1_3.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/qmail-dk-0.54_2.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/qmail-rblchk-2.4.1_2.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/qmailanalog-0.70_4.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/queue-fix-1.4_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/serialmail-0.75_4.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/sliderule-1.0_11.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/socket-1.2_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/viz-1.1.1_2.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/xml-format-0.2_1.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/xspread-3.1.1c_5.log https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/20= 24-09-27_21h05m12s/logs/errors/xtrojka-1.2.3_4.log Cheers, Antoine From nobody Mon Sep 30 09:06:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHFYT4NF5z5Y1XZ; Mon, 30 Sep 2024 09:06:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHFYT30Zrz55xc; Mon, 30 Sep 2024 09:06:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727687181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYxHhMKzan0H+towtMBFJgoEBUwaBi+E0S6QW7Jl6E8=; b=Lcn3DW18FyvUidcb5T4RhyhVre1AHEk2Fs4X6yrpel3axdYFU1lT4SF9zV5d/5ci/dhFsH JAhfJQqr3pcNsRC0ZfQgtKFT1OC3O7zzGGBMpTdjWog9Gl2offJIKL5HKACc2x1Y5AsMs8 cV0LLtLUUw1LajHdppd7cOgpzLk+w2BECtdPA8YLmmIea7KB30amE9iGmzjv/tnZoyDwx4 6BCztjIy7WdvAU4Jg19gNrNuc634kPdKxPPf379UHDEBmJ+uCjcMny+3lM8BP70fCpQW0u A2+A2ZY9AJFDL5jSbz2/BMX1GuYrNHzHzlbB3cOyd30cJQP3vi7kcTXI/VCwVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727687181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYxHhMKzan0H+towtMBFJgoEBUwaBi+E0S6QW7Jl6E8=; b=EaYZbtbRWGiISS0Jo+UZ1QkgcZUOCxLUCy1IEKNjjpk6VUYlxvAgIGL3jcazoBwmYSR9NL NIDFSjYnzt78chhJWXCY4UslC61TS6sO8Zp0ICfvpf3JYdLHpPuTF3TpoxBMqZOpl847Av jaL5WlIilOXXhIghm+4qcrKRJJbHrc7086zLOHL10lpyYrbHjOyjsTNna1Jla2S2VBCGu7 0XiNfscMI6+0CfHQVhgPhDDH+iM9YLgcS+8bCmZxAwVkuqvtLfm+tyK+/lwc1foDkRbuTf zXEjXE/EtAdFGPmF4tJKSiOj+hGE3WXsKOd42We2YadSYz4YrN7kYkWhWfsAfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727687181; a=rsa-sha256; cv=none; b=vKKWzk0YTo5K9OoPrI4xpAn7a8sekQywLD9VSqEE7LRs3IcW4TxG7OoetpGrWEOPaTxTMg f4ygdSoKT1z2QrEtY9+1LiJ9FIBDGzW+ywfW1LkjHGoJ5PVOTWen2EF0vkJf65zQD4WtD7 gje1u1lF8zfRMj/Y7hHi/gpT0XqxTl1kIg6IqTkherN4jtHsjGcG6I7TUIBsGzptAVbMN+ ZUS7u8I+4WLOHlZuIeXz9yD/hyYLkaBjPa3ip7qJW/Kq6oYUmrw6acMzq86jfcbyVH0z3q NC10i44ba82505q9o9Y0XNrblTJS8+qaILnA/ZRutYLXP2HbfJecFctBr0cHOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHFYT284XznDW; Mon, 30 Sep 2024 09:06:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48U96LB0031584; Mon, 30 Sep 2024 09:06:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48U96L0u031581; Mon, 30 Sep 2024 09:06:21 GMT (envelope-from git) Date: Mon, 30 Sep 2024 09:06:21 GMT Message-Id: <202409300906.48U96L0u031581@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: 3ec4fbdd98f2 - main - pf tests: Add test for max-src-states List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3ec4fbdd98f21463c8d12f1468a07f45100680cf Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3ec4fbdd98f21463c8d12f1468a07f45100680cf commit 3ec4fbdd98f21463c8d12f1468a07f45100680cf Author: Kajetan Staszkiewicz AuthorDate: 2024-09-28 21:24:47 +0000 Commit: Kristof Provost CommitDate: 2024-09-30 07:48:40 +0000 pf tests: Add test for max-src-states Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D46840 --- tests/sys/netpfil/pf/src_track.sh | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/tests/sys/netpfil/pf/src_track.sh b/tests/sys/netpfil/pf/src_track.sh index eb053dd84a90..2038393a240e 100755 --- a/tests/sys/netpfil/pf/src_track.sh +++ b/tests/sys/netpfil/pf/src_track.sh @@ -120,8 +120,74 @@ max_src_conn_rule_cleanup() pft_cleanup } +max_src_states_rule_head() +{ + atf_set descr 'Max states per source per rule' + atf_set require.user root +} + +max_src_states_rule_body() +{ + setup_router_server_ipv6 + + # Clients will connect from another network behind the router. + # This allows for using multiple source addresses and for tester jail + # to not respond with RST packets for SYN+ACKs. + jexec router route add -6 2001:db8:44::0/64 2001:db8:42::2 + jexec server route add -6 2001:db8:44::0/64 2001:db8:43::1 + + pft_set_rules router \ + "block" \ + "pass inet6 proto icmp6 icmp6-type { neighbrsol, neighbradv }" \ + "pass in on ${epair_tester}b inet6 proto tcp from port 4210:4219 keep state (max-src-states 3 source-track rule) label rule_A" \ + "pass in on ${epair_tester}b inet6 proto tcp from port 4220:4229 keep state (max-src-states 3 source-track rule) label rule_B" \ + "pass out on ${epair_server}a keep state" + + # The option max-src-states prevents even the initial SYN packet going + # through. It's enough that we check ping_server_check_reply, no need to + # bother checking created states. + + # 2 connections from host ::1 matching rule_A will be allowed, 1 will fail to create a state. + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4211 --fromaddr 2001:db8:44::1 + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4212 --fromaddr 2001:db8:44::1 + ping_server_check_reply exit:1 --ping-type=tcp3way --send-sport=4213 --fromaddr 2001:db8:44::1 + + # 2 connections from host ::1 matching rule_B will be allowed, 1 will fail to create a state. + # Limits from rule_A don't interfere with rule_B. + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4221 --fromaddr 2001:db8:44::1 + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4222 --fromaddr 2001:db8:44::1 + ping_server_check_reply exit:1 --ping-type=tcp3way --send-sport=4223 --fromaddr 2001:db8:44::1 + + # 2 connections from host ::2 matching rule_B will be allowed, 1 will fail to create a state. + # Limits for host ::1 will not interfere with host ::2. + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4224 --fromaddr 2001:db8:44::2 + ping_server_check_reply exit:0 --ping-type=tcp3way --send-sport=4225 --fromaddr 2001:db8:44::2 + ping_server_check_reply exit:1 --ping-type=tcp3way --send-sport=4226 --fromaddr 2001:db8:44::2 + + # We will check the resulting source nodes, though. + # Order of source nodes in output is not guaranteed, find each one separately. + nodes=$(mktemp) || exit 1 + jexec router pfctl -qvsS > $nodes + for node_regexp in \ + '2001:db8:44::1 -> :: \( states 2, connections 2, rate [0-9/\.]+s \)\s+age [0-9:]+, 6 pkts, [0-9]+ bytes, filter rule 3' \ + '2001:db8:44::1 -> :: \( states 2, connections 2, rate [0-9/\.]+s \)\s+age [0-9:]+, 6 pkts, [0-9]+ bytes, filter rule 4' \ + '2001:db8:44::2 -> :: \( states 2, connections 2, rate [0-9/\.]+s \)\s+age [0-9:]+, 6 pkts, [0-9]+ bytes, filter rule 4' \ + ; do + cat $nodes | tr '\n' ' ' | grep -qE "$node_regexp" || atf_fail "Source nodes not matching expected output" + done + + # Check if limit counters have been properly set. + jexec router pfctl -qvvsi | grep -qE 'max-src-states\s+3\s+' || atf_fail "max-src-states not set to 3" +} + +max_src_states_rule_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "source_track" atf_add_test_case "max_src_conn_rule" + atf_add_test_case "max_src_states_rule" } From nobody Mon Sep 30 10:57:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHJ1R0qjVz5Y6xw; Mon, 30 Sep 2024 10:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHJ1R04v2z40YG; Mon, 30 Sep 2024 10:57:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727693835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1POTjNReMUbvIHjlDEMp7xXCd4TZE+nSRH0JSfwO+ns=; b=NELVr6Ka76TliraHKy9zecnxF7H7srcg46qNsiQT1eUi/qr9TZmnkWaTWKWhJ+vwfC41AR 3sF4NUrr9onJ8kotCNGf+9ypWxCN5LXqfIasUf1q5oT/CzxqLSREbZQfGX5nqyyaTR93WB MzYuNdjxW+Zf6KlBZroWLLS7V3Fi/sE8ORoYV0+PS0JTSfinI3kqRP7ANAfa724FrMqXqw bf5JYDwgd+uPbxXfwL5Qo/67tngX6u2Qs8zyIuX+4G9ehLoWHIlgYhYCx7ZND4F766Ci/D Vg8FeSH5/a4MoEJnQKSCixza0xlowO0XRpajzLngVRt8/m4oSB3wAqiSrjac7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727693835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1POTjNReMUbvIHjlDEMp7xXCd4TZE+nSRH0JSfwO+ns=; b=nKt1vrG8bkoUA8gWHueaed864VOCWE2aokOK6xk8/X2pEz7WSPdJLbcny8v6e/8K2QJIfw +RcnV2K0x1ldV82aNnMxd3SZbnwuHMoYxqBWtr7ll1rvGLzsXkASZM/nrkV7h1+bRJUhb8 D3Uy98oSbgRHH2DgN9FOLgt3KjY2IZ5I/BlTallF/kkdUEC3lXMTMtbdMH5lSTdP4jpBUc Ynl7gb1eWaaBsZP994M0KUsUv7d41ndQUlKW9o2KaR63IJJ8OdIqkTx2yoF8h9ep5eoUNd UxuRLUd2q2mnjOpBvVZorCvEZ0xDonad3uA0vCnwgCa0JH2GnhmBiH+tpv8P+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727693835; a=rsa-sha256; cv=none; b=Qit2Wq2HKxxqTiN1KKUM7nW6ssxAdrOX1hOUDhiL7xq8bZacvnXWKILVB+xU0qKJtRFnP1 dDWAd58Nj4XNNLJBx6AUlTEQm/YYuzZPGek7I/Hq7gnhWonWYfWBVqFwjFQ7ZkbimYgvBa tgFze8hQnTgqaZB3wmPKXbh0vwZfKtrAuvX6/Ui09OJxyVALAXcSL341uTY0gjYoCFI81V OP8PauKI94nTWomNum2nUQ9w0YqwkNvF/nhFzii1VRy++torZ3cWtXBXScN9JEBbGYkxtD NcQ8RcuuyfGaruX0y5UdNtajokp+DoaGQmJEEwzRouypcS9zTegoBNQRtP7sFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHJ1Q6nyZzqdv; Mon, 30 Sep 2024 10:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UAvEFo017285; Mon, 30 Sep 2024 10:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UAvEQe017282; Mon, 30 Sep 2024 10:57:14 GMT (envelope-from git) Date: Mon, 30 Sep 2024 10:57:14 GMT Message-Id: <202409301057.48UAvEQe017282@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: 8e3d252901e8 - main - pf: Split pf_map_addr() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8e3d252901e8e99cbaa2e09e7219e96c8daaa3fe Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8e3d252901e8e99cbaa2e09e7219e96c8daaa3fe commit 8e3d252901e8e99cbaa2e09e7219e96c8daaa3fe Author: Kajetan Staszkiewicz AuthorDate: 2024-09-30 09:15:40 +0000 Commit: Kristof Provost CommitDate: 2024-09-30 09:16:24 +0000 pf: Split pf_map_addr() Split pf_map_addr() into 2 functions: - pf_map_addr() handles just the address mapping algorithms, it is used in pf_route() and pf_route6() in case of stateless route-to, where source nodes would never be created - pf_map_addr_sn() handles source nodes and calls pf_map_addr() for address mapping algorightms, it is used everywhere else, like NAT rules, which are always stateful Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D46776 --- sys/net/pfvar.h | 3 ++ sys/netpfil/pf/pf.c | 8 ++-- sys/netpfil/pf/pf_lb.c | 109 ++++++++++++++++++++++++++++++------------------- 3 files changed, 72 insertions(+), 48 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 3afbabf30d4d..dfc42c16547f 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2618,6 +2618,9 @@ int pf_step_out_of_keth_anchor(struct pf_keth_anchor_stackframe *, int *); u_short pf_map_addr(u_int8_t, struct pf_krule *, + struct pf_addr *, struct pf_addr *, + struct pfi_kkif **nkif, struct pf_addr *); +u_short pf_map_addr_sn(u_int8_t, struct pf_krule *, struct pf_addr *, struct pf_addr *, struct pfi_kkif **nkif, struct pf_addr *, struct pf_ksrc_node **); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1634c856f51f..19e0014ce4eb 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5451,7 +5451,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (r->rt) { /* pf_map_addr increases the reason counters */ - if ((reason = pf_map_addr(pd->af, r, pd->src, &s->rt_addr, + if ((reason = pf_map_addr_sn(pd->af, r, pd->src, &s->rt_addr, &s->rt_kif, NULL, &sn)) != 0) goto csfailed; s->rt = r->rt; @@ -7801,7 +7801,6 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct pfi_kkif *nkif = NULL; struct ifnet *ifp = NULL; struct pf_addr naddr; - struct pf_ksrc_node *sn = NULL; int error = 0; uint16_t ip_len, ip_off; uint16_t tmp; @@ -7884,7 +7883,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } pf_map_addr(AF_INET, r, (struct pf_addr *)&ip->ip_src, - &naddr, &nkif, NULL, &sn); + &naddr, &nkif, NULL); if (!PF_AZERO(&naddr, AF_INET)) dst.sin_addr.s_addr = naddr.v4.s_addr; ifp = nkif ? nkif->pfik_ifp : NULL; @@ -8053,7 +8052,6 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct pfi_kkif *nkif = NULL; struct ifnet *ifp = NULL; struct pf_addr naddr; - struct pf_ksrc_node *sn = NULL; int r_rt, r_dir; KASSERT(m && *m && r && oifp, ("%s: invalid parameters", __func__)); @@ -8133,7 +8131,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } pf_map_addr(AF_INET6, r, (struct pf_addr *)&ip6->ip6_src, - &naddr, &nkif, NULL, &sn); + &naddr, &nkif, NULL); if (!PF_AZERO(&naddr, AF_INET6)) PF_ACPY((struct pf_addr *)&dst.sin6_addr, &naddr, AF_INET6); diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index b322bd65cfd3..007e8606ee8a 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -264,7 +264,7 @@ pf_get_sport(sa_family_t af, u_int8_t proto, struct pf_krule *r, } } - if (pf_map_addr(af, r, saddr, naddr, NULL, &init_addr, sn)) + if (pf_map_addr_sn(af, r, saddr, naddr, NULL, &init_addr, sn)) goto failed; if (proto == IPPROTO_ICMP) { @@ -385,7 +385,7 @@ pf_get_sport(sa_family_t af, u_int8_t proto, struct pf_krule *r, * pick a different source address since we're out * of free port choices for the current one. */ - if (pf_map_addr(af, r, saddr, naddr, NULL, &init_addr, sn)) + if (pf_map_addr_sn(af, r, saddr, naddr, NULL, &init_addr, sn)) return (1); break; case PF_POOL_NONE: @@ -448,47 +448,11 @@ pf_get_mape_sport(sa_family_t af, u_int8_t proto, struct pf_krule *r, u_short pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, - struct pf_addr *naddr, struct pfi_kkif **nkif, struct pf_addr *init_addr, - struct pf_ksrc_node **sn) + struct pf_addr *naddr, struct pfi_kkif **nkif, struct pf_addr *init_addr) { u_short reason = PFRES_MATCH; struct pf_kpool *rpool = &r->rpool; struct pf_addr *raddr = NULL, *rmask = NULL; - struct pf_srchash *sh = NULL; - - /* Try to find a src_node if none was given and this - is a sticky-address rule. */ - if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && - (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(saddr, r, af, &sh, false); - - /* If a src_node was found or explicitly given and it has a non-zero - route address, use this address. A zeroed address is found if the - src node was created just a moment ago in pf_create_state and it - needs to be filled in with routing decision calculated here. */ - if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, af)) { - /* If the supplied address is the same as the current one we've - * been asked before, so tell the caller that there's no other - * address to be had. */ - if (PF_AEQ(naddr, &(*sn)->raddr, af)) { - reason = PFRES_MAPFAILED; - goto done; - } - - PF_ACPY(naddr, &(*sn)->raddr, af); - if (nkif) - *nkif = (*sn)->rkif; - if (V_pf_status.debug >= PF_DEBUG_NOISY) { - printf("pf_map_addr: src tracking maps "); - pf_print_host(saddr, 0, af); - printf(" to "); - pf_print_host(naddr, 0, af); - if (nkif) - printf("@%s", (*nkif)->pfik_name); - printf("\n"); - } - goto done; - } mtx_lock(&rpool->mtx); /* Find the route using chosen algorithm. Store the found route @@ -646,6 +610,68 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, if (nkif) *nkif = rpool->cur->kif; +done_pool_mtx: + mtx_unlock(&rpool->mtx); + + if (reason) { + counter_u64_add(V_pf_status.counters[reason], 1); + } + + return (reason); +} + +u_short +pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, + struct pf_addr *naddr, struct pfi_kkif **nkif, struct pf_addr *init_addr, + struct pf_ksrc_node **sn) +{ + u_short reason = 0; + struct pf_kpool *rpool = &r->rpool; + struct pf_srchash *sh = NULL; + + /* Try to find a src_node if none was given and this + is a sticky-address rule. */ + if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && + (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) + *sn = pf_find_src_node(saddr, r, af, &sh, false); + + /* If a src_node was found or explicitly given and it has a non-zero + route address, use this address. A zeroed address is found if the + src node was created just a moment ago in pf_create_state and it + needs to be filled in with routing decision calculated here. */ + if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, af)) { + /* If the supplied address is the same as the current one we've + * been asked before, so tell the caller that there's no other + * address to be had. */ + if (PF_AEQ(naddr, &(*sn)->raddr, af)) { + reason = PFRES_MAPFAILED; + goto done; + } + + PF_ACPY(naddr, &(*sn)->raddr, af); + if (nkif) + *nkif = (*sn)->rkif; + if (V_pf_status.debug >= PF_DEBUG_NOISY) { + printf("pf_map_addr: src tracking maps "); + pf_print_host(saddr, 0, af); + printf(" to "); + pf_print_host(naddr, 0, af); + if (nkif) + printf("@%s", (*nkif)->pfik_name); + printf("\n"); + } + goto done; + } + + /* + * Source node has not been found. Find a new address and store it + * in variables given by the caller. + */ + if (pf_map_addr(af, r, saddr, naddr, nkif, init_addr) != 0) { + /* pf_map_addr() sets reason counters on its own */ + goto done; + } + if (*sn != NULL) { PF_ACPY(&(*sn)->raddr, naddr, af); if (nkif) @@ -661,9 +687,6 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, printf("\n"); } -done_pool_mtx: - mtx_unlock(&rpool->mtx); - done: if (reason) { counter_u64_add(V_pf_status.counters[reason], 1); @@ -841,7 +864,7 @@ pf_get_translation(struct pf_pdesc *pd, struct mbuf *m, int off, int tries; uint16_t cut, low, high, nport; - reason = pf_map_addr(pd->af, r, saddr, naddr, NULL, NULL, sn); + reason = pf_map_addr_sn(pd->af, r, saddr, naddr, NULL, NULL, sn); if (reason != 0) goto notrans; if ((r->rpool.opts & PF_POOL_TYPEMASK) == PF_POOL_BITMASK) From nobody Mon Sep 30 12:01:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKRx2L43z5YBr7; Mon, 30 Sep 2024 12:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKRx1ZJBz4GG0; Mon, 30 Sep 2024 12:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727697709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gPwSeq4YgExJSf0hh+DLHQsfQwTYOBgc5tmnGcEdFl0=; b=IT2tGMG/mbONHBOjwofaAutil/jX+/Gn14133yM1ODO7/1t4aqKK40IPaffAMA0MsZ9iS4 FDMTYjUgXLOQ/olanq1DqgqctcCOTwgJXUooff0bd5x2YslbgQgW/F5ibaUVOuiQ3Uymv1 HQdTtqd88rqoopEZhuHczbRv+EoVrMOTgWdo36BimyJHcOnzk64eWUSqpynp6nuleLoTnp uzL11512qOFCtOybDw8AREPxjDu7r/EQPQy718I0WykdbUGHd0DNiPSFPQHSxTiPz/7MGu NqJIXUCIBUVHjgw1N8QWhSxKA/yRnUlw45Y+AtobkF1qqIfvloiRBN4KAwHtEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727697709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gPwSeq4YgExJSf0hh+DLHQsfQwTYOBgc5tmnGcEdFl0=; b=nutmI097/PZrdyBLcCXGfciiCzdTpIh8QByeOpozIcETJgfG7SXCBETdGSMZ3eP3Y/0Tda 7DFEJ33IE78YXd1Lb3evbUdH1o4+b6MImm6VmJcNLhNbNnw8cUxtNQe12/dhdgJtAkIUZu V+QcFZbf7kj4VgYZgViYWcDAs1C2YJvbSmhy1o+0n0QbGFP4aLLM8/ygVFLnuTKSvVjo/S 1bqYPEgwabfJqRHvneF5xppiU0bT1sVwi+riN0TyHlXwnbkmv852413CmC0eee2QTrV6D+ 27nu8veRMa3vJ40FnMiil8ILZa0L3BCzR1e3de+ma/azGhxsp3lu5deZPFc7Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727697709; a=rsa-sha256; cv=none; b=uos6IF87M4LmDDe7y/LcoyD9L2B/bMW87eQ1XD/Az1i4qKlp0QMukCLCRumKQXcQ9iP4VU EE3XPM36XPZreAWosO5Kw7VMt7myTmRXTn25fGjR87yUt+PiOspJM5V7z9KOCQau9BjqIW 5VKuKK/41U0ir6u1vY9ULdQowcZX7eA1AmqmS3aBOJ7EldTpEPYa9tHmFz+V+gLD5FiMor 2Vyp/T0UEWLwoQrJObe4Rj/7kyxJf4CgPTNj4FHoFqlXf2jKjNtIM55nXZe4yduldQHZwl ZcJYlXDaEq7J0mPgmDsNgloFJnBp1EfOLFgJ5IDZvFkeDYcrVOBiyVS7lroBZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKRx19TYzsHC; Mon, 30 Sep 2024 12:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UC1nXi033224; Mon, 30 Sep 2024 12:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UC1n0V033221; Mon, 30 Sep 2024 12:01:49 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:01:49 GMT Message-Id: <202409301201.48UC1n0V033221@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: 8934002959e0 - main - bhyve: avoid buffer overflow in pci_vtcon_control_send List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8934002959e02bcf5e3262730c3a731af95afb15 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8934002959e02bcf5e3262730c3a731af95afb15 commit 8934002959e02bcf5e3262730c3a731af95afb15 Author: Pierre Pronchery AuthorDate: 2024-07-24 18:23:12 +0000 Commit: Ed Maste CommitDate: 2024-09-30 12:01:28 +0000 bhyve: avoid buffer overflow in pci_vtcon_control_send The program copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow. Inside the function pci_vtcon_control_send, the length of the iov buffer is not validated before copy of the payload. Reported by: Synacktiv Reviewed by: markj Security: HYP-19 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46105 --- usr.sbin/bhyve/pci_virtio_console.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index 921cb29032cf..4b957322b395 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -580,11 +580,15 @@ pci_vtcon_control_send(struct pci_vtcon_softc *sc, n = vq_getchain(vq, &iov, 1, &req); assert(n == 1); + if (iov.iov_len < sizeof(struct pci_vtcon_control)) + goto out; + memcpy(iov.iov_base, ctrl, sizeof(struct pci_vtcon_control)); if (payload != NULL && len > 0) memcpy((uint8_t *)iov.iov_base + sizeof(struct pci_vtcon_control), payload, len); +out: vq_relchain(vq, req.idx, sizeof(struct pci_vtcon_control) + len); vq_endchains(vq, 1); } From nobody Mon Sep 30 12:23:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKx41BpZz5YD7F; Mon, 30 Sep 2024 12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx40y0vz4LXY; Mon, 30 Sep 2024 12: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=1727699016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P+yTFUno4FTC87sdLCXBenKonerGz6gDH6c1XmTgh9M=; b=jmhDtoWONCF8awloGlO0xY2SQAZuepvFDY2PU4cX+VPZMyeJJh49vBLl06q17iiYH3QmPr y/HD+zOVGhWDl6BZuZkVlS5TiVIiHsXKTsCdS+TkADRgb4ARBuO72bHofoP5563uP2f8uT CtMA6FK1+QW+Q0O4Qpgv8SQr2ix2QOiN3THOdTX5eo450r61Wy9ZDxLXI7Mah1xAxYxXWj jKjmsmvL2ztjgh0vmN/C/AAQKYDZtDE38/7uIiV8iq3Cqxpjv7p+gtG9R/THZJRnnllAqB kiN/eIMXYZiMeufcUQFw6zDoKxduYvBUsESmjUNT87LfRIJK2e5MA34pJEuYiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P+yTFUno4FTC87sdLCXBenKonerGz6gDH6c1XmTgh9M=; b=PaZDGngpayPfBmHEeOhAvtnOEXJbHA1tH+LIN0AVDktgZ3n2wkNOsimEsyLI2OP8kZLIG9 dM0I0+qOhobHSodl5lOu78IhKFy30OHPwHGv9jIpWxpSistkWjO4C7PJpSZAn7LrbDZtVR L0Gbr/S+XiIU+L58fxoAxviYwF3pKmZz3t0dpBvgscjqeB1xJCT4BcjNkom/N3c0i11ox6 yS93k+hg4/D+hD0mo7YiehAUpJFeBv1kCAWya8F0a1v3FP/m4H97Di+pkmNDNchUpGRRi9 Q/pPMgzfRvnmawKWplTQMjYZ9OMnbPuksTJzapYDUP4edbY6k0y1Znwv1JnN5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699016; a=rsa-sha256; cv=none; b=BFv1f4/0DcVjyBaVvorxaNz0+N0aGp67zPgHUKaMBct3Hlzd73O6K4KaKs/8nABRz48kjq BAOZtB3C9kekIBJER36OTiNyQUCKjoEYPPLhmJjfrfZOYA8TmC1aXeOQis0lg2chN/x3UN ueFG4liei23nzwBkYSyRTzH3Q4uxG7U1eQGXtFdrQvAs6kKZovPCtPm8VxSjZocJACg1I4 Wycyqpk0Jlm437N6rLejT4BAMCsJAqoS3wuxfnH1bpJE6pxQYsPDWUFzCEVgtMJ/BMsCsi WK0Gl2Lr1KSY75CdnHTWefN05d7PvLRR1051auitJfAv6cnoyhXZl2wwpfzR8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx40XhczsZm; Mon, 30 Sep 2024 12:23:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNauc070851; Mon, 30 Sep 2024 12:23:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNaHE070848; Mon, 30 Sep 2024 12:23:36 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:36 GMT Message-Id: <202409301223.48UCNaHE070848@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: 332c426328db - main - arm64: Initial SVE support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 332c426328dbb30a6b2e69d9b1e8298d77d85bd1 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=332c426328dbb30a6b2e69d9b1e8298d77d85bd1 commit 332c426328dbb30a6b2e69d9b1e8298d77d85bd1 Author: Andrew Turner AuthorDate: 2024-09-27 13:36:35 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Initial SVE support Add initial kernel support for SVE. This detects if SVE is present on all CPUs, and if so allows for the use of SVE in the future. As the SVE registers are a superset of the VFP registers we don't need to restore the VFP registers when SVE is enabled. Ths interface to enable SVE is provided, but not used until SVE is supported in signals and with ptrace. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43306 --- sys/arm64/arm64/exec_machdep.c | 2 + sys/arm64/arm64/trap.c | 3 +- sys/arm64/arm64/vfp.c | 606 +++++++++++++++++++++++++++++++++++++++-- sys/arm64/include/armreg.h | 7 + sys/arm64/include/pcb.h | 8 +- sys/arm64/include/vfp.h | 6 + 6 files changed, 610 insertions(+), 22 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index 1bff70450b69..6fece751cc25 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -606,6 +606,8 @@ sys_sigreturn(struct thread *td, struct sigreturn_args *uap) if (copyin(uap->sigcntxp, &uc, sizeof(uc))) return (EFAULT); + /* Stop an interrupt from causing the sve state to be dropped */ + td->td_sa.code = -1; error = set_mcontext(td, &uc.uc_mcontext); if (error != 0) return (error); diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 6cc1933095c8..35defef90837 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -734,7 +734,8 @@ do_el0_sync(struct thread *td, struct trapframe *frame) break; } - KASSERT((td->td_pcb->pcb_fpflags & ~PCB_FP_USERMASK) == 0, + KASSERT( + (td->td_pcb->pcb_fpflags & ~(PCB_FP_USERMASK|PCB_FP_SVEVALID)) == 0, ("Kernel VFP flags set while entering userspace")); KASSERT( td->td_pcb->pcb_fpusaved == &td->td_pcb->pcb_fpustate, diff --git a/sys/arm64/arm64/vfp.c b/sys/arm64/arm64/vfp.c index c65108a83399..d57927991c03 100644 --- a/sys/arm64/arm64/vfp.c +++ b/sys/arm64/arm64/vfp.c @@ -30,11 +30,13 @@ #ifdef VFP #include #include +#include #include #include #include #include #include +#include #include @@ -60,6 +62,63 @@ struct fpu_kern_ctx { static uma_zone_t fpu_save_area_zone; static struct vfpstate *fpu_initialstate; +static u_int sve_max_vector_len; + +static size_t +_sve_buf_size(u_int sve_len) +{ + size_t len; + + /* 32 vector registers */ + len = (size_t)sve_len * 32; + /* + * 16 predicate registers and the fault fault register, each 1/8th + * the size of a vector register. + */ + len += ((size_t)sve_len * 17) / 8; + /* + * FPSR and FPCR + */ + len += sizeof(uint64_t) * 2; + + return (len); +} + +size_t +sve_max_buf_size(void) +{ + MPASS(sve_max_vector_len > 0); + return (_sve_buf_size(sve_max_vector_len)); +} + +size_t +sve_buf_size(struct thread *td) +{ + struct pcb *pcb; + + pcb = td->td_pcb; + MPASS(pcb->pcb_svesaved != NULL); + MPASS(pcb->pcb_sve_len > 0); + + return (_sve_buf_size(pcb->pcb_sve_len)); +} + +static void * +sve_alloc(void) +{ + void *buf; + + buf = malloc(sve_max_buf_size(), M_FPUKERN_CTX, M_WAITOK | M_ZERO); + + return (buf); +} + +static void +sve_free(void *buf) +{ + free(buf, M_FPUKERN_CTX); +} + void vfp_enable(void) { @@ -71,13 +130,30 @@ vfp_enable(void) isb(); } +static void +sve_enable(void) +{ + uint32_t cpacr; + + cpacr = READ_SPECIALREG(cpacr_el1); + /* Enable FP */ + cpacr = (cpacr & ~CPACR_FPEN_MASK) | CPACR_FPEN_TRAP_NONE; + /* Enable SVE */ + cpacr = (cpacr & ~CPACR_ZEN_MASK) | CPACR_ZEN_TRAP_NONE; + WRITE_SPECIALREG(cpacr_el1, cpacr); + isb(); +} + void vfp_disable(void) { uint32_t cpacr; cpacr = READ_SPECIALREG(cpacr_el1); + /* Disable FP */ cpacr = (cpacr & ~CPACR_FPEN_MASK) | CPACR_FPEN_TRAP_ALL1; + /* Disable SVE */ + cpacr = (cpacr & ~CPACR_ZEN_MASK) | CPACR_ZEN_TRAP_ALL1; WRITE_SPECIALREG(cpacr_el1, cpacr); isb(); } @@ -171,9 +247,266 @@ vfp_restore(struct vfpstate *state) } static void -vfp_save_state_common(struct thread *td, struct pcb *pcb) +sve_store(void *state, u_int sve_len) +{ + vm_offset_t f_start, p_start, z_start; + uint64_t fpcr, fpsr; + + /* + * Calculate the start of each register groups. There are three + * groups depending on size, with the First Fault Register (FFR) + * stored with the predicate registers as we use one of them to + * temporarily hold it. + * + * +-------------------------+-------------------+ + * | Contents | Register size | + * z_start -> +-------------------------+-------------------+ + * | | | + * | 32 Z regs | sve_len | + * | | | + * p_start -> +-------------------------+-------------------+ + * | | | + * | 16 Predicate registers | 1/8 size of Z reg | + * | 1 First Fault register | | + * | | | + * f_start -> +-------------------------+-------------------+ + * | | | + * | FPSR/FPCR | 32 bit | + * | | | + * +-------------------------+-------------------+ + */ + z_start = (vm_offset_t)state; + p_start = z_start + sve_len * 32; + f_start = p_start + (sve_len / 8) * 17; + + __asm __volatile( + ".arch_extension sve \n" + "str z0, [%0, #0, MUL VL] \n" + "str z1, [%0, #1, MUL VL] \n" + "str z2, [%0, #2, MUL VL] \n" + "str z3, [%0, #3, MUL VL] \n" + "str z4, [%0, #4, MUL VL] \n" + "str z5, [%0, #5, MUL VL] \n" + "str z6, [%0, #6, MUL VL] \n" + "str z7, [%0, #7, MUL VL] \n" + "str z8, [%0, #8, MUL VL] \n" + "str z9, [%0, #9, MUL VL] \n" + "str z10, [%0, #10, MUL VL] \n" + "str z11, [%0, #11, MUL VL] \n" + "str z12, [%0, #12, MUL VL] \n" + "str z13, [%0, #13, MUL VL] \n" + "str z14, [%0, #14, MUL VL] \n" + "str z15, [%0, #15, MUL VL] \n" + "str z16, [%0, #16, MUL VL] \n" + "str z17, [%0, #17, MUL VL] \n" + "str z18, [%0, #18, MUL VL] \n" + "str z19, [%0, #19, MUL VL] \n" + "str z20, [%0, #20, MUL VL] \n" + "str z21, [%0, #21, MUL VL] \n" + "str z22, [%0, #22, MUL VL] \n" + "str z23, [%0, #23, MUL VL] \n" + "str z24, [%0, #24, MUL VL] \n" + "str z25, [%0, #25, MUL VL] \n" + "str z26, [%0, #26, MUL VL] \n" + "str z27, [%0, #27, MUL VL] \n" + "str z28, [%0, #28, MUL VL] \n" + "str z29, [%0, #29, MUL VL] \n" + "str z30, [%0, #30, MUL VL] \n" + "str z31, [%0, #31, MUL VL] \n" + /* Store the predicate registers */ + "str p0, [%1, #0, MUL VL] \n" + "str p1, [%1, #1, MUL VL] \n" + "str p2, [%1, #2, MUL VL] \n" + "str p3, [%1, #3, MUL VL] \n" + "str p4, [%1, #4, MUL VL] \n" + "str p5, [%1, #5, MUL VL] \n" + "str p6, [%1, #6, MUL VL] \n" + "str p7, [%1, #7, MUL VL] \n" + "str p8, [%1, #8, MUL VL] \n" + "str p9, [%1, #9, MUL VL] \n" + "str p10, [%1, #10, MUL VL] \n" + "str p11, [%1, #11, MUL VL] \n" + "str p12, [%1, #12, MUL VL] \n" + "str p13, [%1, #13, MUL VL] \n" + "str p14, [%1, #14, MUL VL] \n" + "str p15, [%1, #15, MUL VL] \n" + ".arch_extension nosve \n" + : : "r"(z_start), "r"(p_start)); + + /* Save the FFR if needed */ + /* TODO: Skip if in SME streaming mode (when supported) */ + __asm __volatile( + ".arch_extension sve \n" + "rdffr p0.b \n" + "str p0, [%0, #16, MUL VL] \n" + /* + * Load the old p0 value to ensure it is consistent if we enable + * without calling sve_restore, e.g. switch to a kernel thread and + * back. + */ + "ldr p0, [%0, #0, MUL VL] \n" + ".arch_extension nosve \n" + : : "r"(p_start)); + + __asm __volatile( + ".arch_extension fp \n" + "mrs %0, fpsr \n" + "mrs %1, fpcr \n" + "stp %w0, %w1, [%2] \n" + ".arch_extension nofp \n" + : "=&r"(fpsr), "=&r"(fpcr) : "r"(f_start)); +} + +static void +sve_restore(void *state, u_int sve_len) +{ + vm_offset_t f_start, p_start, z_start; + uint64_t fpcr, fpsr; + + /* See sve_store for the layout of the state buffer */ + z_start = (vm_offset_t)state; + p_start = z_start + sve_len * 32; + f_start = p_start + (sve_len / 8) * 17; + + __asm __volatile( + ".arch_extension sve \n" + "ldr p0, [%0, #16, MUL VL] \n" + "wrffr p0.b \n" + ".arch_extension nosve \n" + : : "r"(p_start)); + + __asm __volatile( + ".arch_extension sve \n" + "ldr z0, [%0, #0, MUL VL] \n" + "ldr z1, [%0, #1, MUL VL] \n" + "ldr z2, [%0, #2, MUL VL] \n" + "ldr z3, [%0, #3, MUL VL] \n" + "ldr z4, [%0, #4, MUL VL] \n" + "ldr z5, [%0, #5, MUL VL] \n" + "ldr z6, [%0, #6, MUL VL] \n" + "ldr z7, [%0, #7, MUL VL] \n" + "ldr z8, [%0, #8, MUL VL] \n" + "ldr z9, [%0, #9, MUL VL] \n" + "ldr z10, [%0, #10, MUL VL] \n" + "ldr z11, [%0, #11, MUL VL] \n" + "ldr z12, [%0, #12, MUL VL] \n" + "ldr z13, [%0, #13, MUL VL] \n" + "ldr z14, [%0, #14, MUL VL] \n" + "ldr z15, [%0, #15, MUL VL] \n" + "ldr z16, [%0, #16, MUL VL] \n" + "ldr z17, [%0, #17, MUL VL] \n" + "ldr z18, [%0, #18, MUL VL] \n" + "ldr z19, [%0, #19, MUL VL] \n" + "ldr z20, [%0, #20, MUL VL] \n" + "ldr z21, [%0, #21, MUL VL] \n" + "ldr z22, [%0, #22, MUL VL] \n" + "ldr z23, [%0, #23, MUL VL] \n" + "ldr z24, [%0, #24, MUL VL] \n" + "ldr z25, [%0, #25, MUL VL] \n" + "ldr z26, [%0, #26, MUL VL] \n" + "ldr z27, [%0, #27, MUL VL] \n" + "ldr z28, [%0, #28, MUL VL] \n" + "ldr z29, [%0, #29, MUL VL] \n" + "ldr z30, [%0, #30, MUL VL] \n" + "ldr z31, [%0, #31, MUL VL] \n" + /* Store the predicate registers */ + "ldr p0, [%1, #0, MUL VL] \n" + "ldr p1, [%1, #1, MUL VL] \n" + "ldr p2, [%1, #2, MUL VL] \n" + "ldr p3, [%1, #3, MUL VL] \n" + "ldr p4, [%1, #4, MUL VL] \n" + "ldr p5, [%1, #5, MUL VL] \n" + "ldr p6, [%1, #6, MUL VL] \n" + "ldr p7, [%1, #7, MUL VL] \n" + "ldr p8, [%1, #8, MUL VL] \n" + "ldr p9, [%1, #9, MUL VL] \n" + "ldr p10, [%1, #10, MUL VL] \n" + "ldr p11, [%1, #11, MUL VL] \n" + "ldr p12, [%1, #12, MUL VL] \n" + "ldr p13, [%1, #13, MUL VL] \n" + "ldr p14, [%1, #14, MUL VL] \n" + "ldr p15, [%1, #15, MUL VL] \n" + ".arch_extension nosve \n" + : : "r"(z_start), "r"(p_start)); + + __asm __volatile( + ".arch_extension fp \n" + "ldp %w0, %w1, [%2] \n" + "msr fpsr, %0 \n" + "msr fpcr, %1 \n" + ".arch_extension nofp \n" + : "=&r"(fpsr), "=&r"(fpcr) : "r"(f_start)); +} + +/* + * Sync the VFP registers to the SVE register state, e.g. in signal return + * when userspace may have changed the vfp register values and expect them + * to be used when the signal handler returns. + */ +void +vfp_to_sve_sync(struct thread *td) +{ + struct pcb *pcb; + uint32_t *fpxr; + + pcb = td->td_pcb; + if (pcb->pcb_svesaved == NULL) + return; + + MPASS(pcb->pcb_fpusaved != NULL); + + /* Copy the VFP registers to the SVE region */ + for (int i = 0; i < nitems(pcb->pcb_fpusaved->vfp_regs); i++) { + __uint128_t *sve_reg; + + sve_reg = (__uint128_t *)((uintptr_t)pcb->pcb_svesaved + + i * pcb->pcb_sve_len); + *sve_reg = pcb->pcb_fpusaved->vfp_regs[i]; + } + + fpxr = (uint32_t *)((uintptr_t)pcb->pcb_svesaved + + (32 * pcb->pcb_sve_len) + (17 * pcb->pcb_sve_len / 8)); + fpxr[0] = pcb->pcb_fpusaved->vfp_fpsr; + fpxr[1] = pcb->pcb_fpusaved->vfp_fpcr; +} + +/* + * Sync the SVE registers to the VFP register state. + */ +void +sve_to_vfp_sync(struct thread *td) +{ + struct pcb *pcb; + uint32_t *fpxr; + + pcb = td->td_pcb; + if (pcb->pcb_svesaved == NULL) + return; + + MPASS(pcb->pcb_fpusaved == &pcb->pcb_fpustate); + + /* Copy the SVE registers to the VFP saved state */ + for (int i = 0; i < nitems(pcb->pcb_fpusaved->vfp_regs); i++) { + __uint128_t *sve_reg; + + sve_reg = (__uint128_t *)((uintptr_t)pcb->pcb_svesaved + + i * pcb->pcb_sve_len); + pcb->pcb_fpusaved->vfp_regs[i] = *sve_reg; + } + + fpxr = (uint32_t *)((uintptr_t)pcb->pcb_svesaved + + (32 * pcb->pcb_sve_len) + (17 * pcb->pcb_sve_len / 8)); + pcb->pcb_fpusaved->vfp_fpsr = fpxr[0]; + pcb->pcb_fpusaved->vfp_fpcr = fpxr[1]; +} + +static void +vfp_save_state_common(struct thread *td, struct pcb *pcb, bool full_save) { uint32_t cpacr; + bool save_sve; + + save_sve = false; critical_enter(); /* @@ -181,14 +514,49 @@ vfp_save_state_common(struct thread *td, struct pcb *pcb) * i.e. return if we are trapping on FP access. */ cpacr = READ_SPECIALREG(cpacr_el1); - if ((cpacr & CPACR_FPEN_MASK) == CPACR_FPEN_TRAP_NONE) { - KASSERT(PCPU_GET(fpcurthread) == td, - ("Storing an invalid VFP state")); + if ((cpacr & CPACR_FPEN_MASK) != CPACR_FPEN_TRAP_NONE) + goto done; + KASSERT(PCPU_GET(fpcurthread) == td, + ("Storing an invalid VFP state")); + + /* + * Also save the SVE state. As SVE depends on the VFP being + * enabled we can rely on only needing to check this when + * the VFP unit has been enabled. + */ + if ((cpacr & CPACR_ZEN_MASK) == CPACR_ZEN_TRAP_NONE) { + /* If SVE is enabled it should be valid */ + MPASS((pcb->pcb_fpflags & PCB_FP_SVEVALID) != 0); + + /* + * If we are switching while in a system call skip saving + * SVE registers. The ABI allows us to drop them over any + * system calls, however doing so is expensive in SVE + * heavy userspace code. This would require us to disable + * SVE for all system calls and trap the next use of them. + * As an optimisation only disable SVE on context switch. + */ + if (td->td_frame == NULL || + (ESR_ELx_EXCEPTION(td->td_frame->tf_esr) != EXCP_SVC64 && + td->td_sa.code != (u_int)-1)) + save_sve = true; + } + + if (save_sve) { + KASSERT(pcb->pcb_svesaved != NULL, + ("Storing to a NULL SVE state")); + sve_store(pcb->pcb_svesaved, pcb->pcb_sve_len); + if (full_save) + sve_to_vfp_sync(td); + } else { + pcb->pcb_fpflags &= ~PCB_FP_SVEVALID; vfp_store(pcb->pcb_fpusaved); - dsb(ish); - vfp_disable(); } + dsb(ish); + vfp_disable(); + +done: critical_exit(); } @@ -199,7 +567,7 @@ vfp_save_state(struct thread *td, struct pcb *pcb) KASSERT(pcb != NULL, ("NULL vfp pcb")); KASSERT(td->td_pcb == pcb, ("Invalid vfp pcb")); - vfp_save_state_common(td, pcb); + vfp_save_state_common(td, pcb, true); } void @@ -213,7 +581,7 @@ vfp_save_state_savectx(struct pcb *pcb) MPASS(pcb->pcb_fpusaved == NULL); pcb->pcb_fpusaved = &pcb->pcb_fpustate; - vfp_save_state_common(curthread, pcb); + vfp_save_state_common(curthread, pcb, true); } void @@ -221,7 +589,7 @@ vfp_save_state_switch(struct thread *td) { KASSERT(td != NULL, ("NULL vfp thread")); - vfp_save_state_common(td, td->td_pcb); + vfp_save_state_common(td, td->td_pcb, false); } /* @@ -231,21 +599,40 @@ vfp_save_state_switch(struct thread *td) void vfp_new_thread(struct thread *newtd, struct thread *oldtd, bool fork) { - struct pcb *newpcb; + struct pcb *newpcb, *oldpcb; newpcb = newtd->td_pcb; + oldpcb = oldtd->td_pcb; /* Kernel threads start with clean VFP */ if ((oldtd->td_pflags & TDP_KTHREAD) != 0) { newpcb->pcb_fpflags &= - ~(PCB_FP_STARTED | PCB_FP_KERN | PCB_FP_NOSAVE); + ~(PCB_FP_STARTED | PCB_FP_SVEVALID | PCB_FP_KERN | + PCB_FP_NOSAVE); } else { MPASS((newpcb->pcb_fpflags & (PCB_FP_KERN|PCB_FP_NOSAVE)) == 0); + + /* + * The only SVE register state to be guaranteed to be saved + * a system call is the lower bits of the Z registers as + * these are aliased with the existing FP registers. Because + * we can only create a new thread or fork through a system + * call it is safe to drop the SVE state in the new thread. + */ + newpcb->pcb_fpflags &= ~PCB_FP_SVEVALID; if (!fork) { newpcb->pcb_fpflags &= ~PCB_FP_STARTED; } } + newpcb->pcb_svesaved = NULL; + if (oldpcb->pcb_svesaved == NULL) + newpcb->pcb_sve_len = sve_max_vector_len; + else + KASSERT(newpcb->pcb_sve_len == oldpcb->pcb_sve_len, + ("%s: pcb sve vector length differs: %x != %x", __func__, + newpcb->pcb_sve_len, oldpcb->pcb_sve_len)); + newpcb->pcb_fpusaved = &newpcb->pcb_fpustate; newpcb->pcb_vfpcpu = UINT_MAX; } @@ -272,23 +659,48 @@ vfp_reset_state(struct thread *td, struct pcb *pcb) ("pcb_fpusaved should point to pcb_fpustate.")); pcb->pcb_fpustate.vfp_fpcr = VFPCR_INIT; pcb->pcb_fpustate.vfp_fpsr = 0; + /* XXX: Memory leak when using SVE between fork & exec? */ + pcb->pcb_svesaved = NULL; pcb->pcb_vfpcpu = UINT_MAX; pcb->pcb_fpflags = 0; } -void -vfp_restore_state(void) +static void +vfp_restore_state_common(struct thread *td, int flags) { struct pcb *curpcb; u_int cpu; + bool restore_sve; + + KASSERT(td == curthread, ("%s: Called with non-current thread", + __func__)); critical_enter(); cpu = PCPU_GET(cpuid); - curpcb = curthread->td_pcb; - curpcb->pcb_fpflags |= PCB_FP_STARTED; + curpcb = td->td_pcb; - vfp_enable(); + /* + * If SVE has been used and the base VFP state is in use then + * restore the SVE registers. A non-base VFP state should only + * be used by the kernel and SVE should onlu be used by userspace. + */ + restore_sve = false; + if ((curpcb->pcb_fpflags & PCB_FP_SVEVALID) != 0 && + curpcb->pcb_fpusaved == &curpcb->pcb_fpustate) { + MPASS(curpcb->pcb_svesaved != NULL); + /* SVE shouldn't be enabled in the kernel */ + MPASS((flags & PCB_FP_KERN) == 0); + restore_sve = true; + } + + if (restore_sve) { + MPASS((curpcb->pcb_fpflags & PCB_FP_SVEVALID) != 0); + sve_enable(); + } else { + curpcb->pcb_fpflags |= PCB_FP_STARTED; + vfp_enable(); + } /* * If the previous thread on this cpu to use the VFP was not the @@ -296,14 +708,104 @@ vfp_restore_state(void) * cpu we need to restore the old state. */ if (PCPU_GET(fpcurthread) != curthread || cpu != curpcb->pcb_vfpcpu) { - vfp_restore(curthread->td_pcb->pcb_fpusaved); - PCPU_SET(fpcurthread, curthread); + /* + * The VFP registers are the lower 128 bits of the SVE + * registers. Use the SVE store state if it was previously + * enabled. + */ + if (restore_sve) { + MPASS(td->td_pcb->pcb_svesaved != NULL); + sve_restore(td->td_pcb->pcb_svesaved, + td->td_pcb->pcb_sve_len); + } else { + vfp_restore(td->td_pcb->pcb_fpusaved); + } + PCPU_SET(fpcurthread, td); curpcb->pcb_vfpcpu = cpu; } critical_exit(); } +void +vfp_restore_state(void) +{ + struct thread *td; + + td = curthread; + vfp_restore_state_common(td, td->td_pcb->pcb_fpflags); +} + +bool +sve_restore_state(struct thread *td) +{ + struct pcb *curpcb; + void *svesaved; + uint64_t cpacr; + + KASSERT(td == curthread, ("%s: Called with non-current thread", + __func__)); + + curpcb = td->td_pcb; + + /* The SVE state should alias the base VFP state */ + MPASS(curpcb->pcb_fpusaved == &curpcb->pcb_fpustate); + + /* SVE not enabled, tell the caller to raise a fault */ + if (curpcb->pcb_sve_len == 0) { + /* + * The init pcb is created before we read the vector length. + * Set it to the default length. + */ + if (sve_max_vector_len == 0) + return (false); + + MPASS(curpcb->pcb_svesaved == NULL); + curpcb->pcb_sve_len = sve_max_vector_len; + } + + if (curpcb->pcb_svesaved == NULL) { + /* SVE should be disabled so will be invalid */ + MPASS((curpcb->pcb_fpflags & PCB_FP_SVEVALID) == 0); + + /* + * Allocate the SVE buffer of this thread. + * Enable interrupts so the allocation can sleep + */ + svesaved = sve_alloc(); + + critical_enter(); + + /* Restore the VFP state if needed */ + cpacr = READ_SPECIALREG(cpacr_el1); + if ((cpacr & CPACR_FPEN_MASK) != CPACR_FPEN_TRAP_NONE) { + vfp_restore_state_common(td, curpcb->pcb_fpflags); + } + + /* + * Set the flags after enabling the VFP as the SVE saved + * state will be invalid. + */ + curpcb->pcb_svesaved = svesaved; + curpcb->pcb_fpflags |= PCB_FP_SVEVALID; + sve_enable(); + + critical_exit(); + } else { + vfp_restore_state_common(td, curpcb->pcb_fpflags); + + /* Enable SVE if it wasn't previously enabled */ + if ((curpcb->pcb_fpflags & PCB_FP_SVEVALID) == 0) { + critical_enter(); + sve_enable(); + curpcb->pcb_fpflags |= PCB_FP_SVEVALID; + critical_exit(); + } + } + + return (true); +} + void vfp_init_secondary(void) { @@ -348,6 +850,74 @@ vfp_init(const void *dummy __unused) SYSINIT(vfp, SI_SUB_CPU, SI_ORDER_ANY, vfp_init, NULL); +static void +sve_thread_dtor(void *arg __unused, struct thread *td) +{ + sve_free(td->td_pcb->pcb_svesaved); +} + +static void +sve_pcpu_read(void *arg) +{ + u_int *len; + uint64_t vl; + + len = arg; + + /* Enable SVE to read zcr_el1 and VFP for rdvl */ + sve_enable(); + + /* Set the longest vector length */ + WRITE_SPECIALREG(ZCR_EL1_REG, ZCR_LEN_MASK); + isb(); + + /* Read the real vector length */ + __asm __volatile( + ".arch_extension sve \n" + "rdvl %0, #1 \n" + ".arch_extension nosve \n" + : "=&r"(vl)); + + vfp_disable(); + + len[PCPU_GET(cpuid)] = vl; +} + +static void +sve_init(const void *dummy __unused) +{ + u_int *len_list; + uint64_t reg; + int i; + + if (!get_kernel_reg(ID_AA64PFR0_EL1, ®)) + return; + + if (ID_AA64PFR0_SVE_VAL(reg) == ID_AA64PFR0_SVE_NONE) + return; + + len_list = malloc(sizeof(*len_list) * (mp_maxid + 1), M_TEMP, + M_WAITOK | M_ZERO); + smp_rendezvous(NULL, sve_pcpu_read, NULL, len_list); + + sve_max_vector_len = ZCR_LEN_BYTES(ZCR_LEN_MASK); + CPU_FOREACH(i) { + if (bootverbose) + printf("CPU%d SVE vector length: %u\n", i, len_list[i]); + sve_max_vector_len = MIN(sve_max_vector_len, len_list[i]); + } + free(len_list, M_TEMP); + + if (bootverbose) + printf("SVE with %u byte vectors\n", sve_max_vector_len); + + if (sve_max_vector_len > 0) { + EVENTHANDLER_REGISTER(thread_dtor, sve_thread_dtor, NULL, + EVENTHANDLER_PRI_ANY); + } +} +SYSINIT(sve, SI_SUB_SMP, SI_ORDER_ANY, sve_init, NULL); + struct fpu_kern_ctx * fpu_kern_alloc_ctx(u_int flags) { diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 2c4707679432..667353831f48 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2607,6 +2607,13 @@ #define VBAR_EL12_op2 0 /* ZCR_EL1 - SVE Control Register */ +#define ZCR_EL1 MRS_REG(ZCR_EL1) +#define ZCR_EL1_REG MRS_REG_ALT_NAME(ZCR_EL1_REG) +#define ZCR_EL1_REG_op0 3 +#define ZCR_EL1_REG_op1 0 +#define ZCR_EL1_REG_CRn 1 +#define ZCR_EL1_REG_CRm 2 +#define ZCR_EL1_REG_op2 0 #define ZCR_LEN_SHIFT 0 #define ZCR_LEN_MASK (0xf << ZCR_LEN_SHIFT) #define ZCR_LEN_BYTES(x) ((((x) & ZCR_LEN_MASK) + 1) * 16) diff --git a/sys/arm64/include/pcb.h b/sys/arm64/include/pcb.h index d7392d5f2032..273b53cdc6cf 100644 --- a/sys/arm64/include/pcb.h +++ b/sys/arm64/include/pcb.h @@ -59,17 +59,19 @@ struct pcb { u_int pcb_flags; #define PCB_SINGLE_STEP_SHIFT 0 #define PCB_SINGLE_STEP (1 << PCB_SINGLE_STEP_SHIFT) - uint32_t pcb_pad1; + u_int pcb_sve_len; /* The SVE vector length */ struct vfpstate *pcb_fpusaved; int pcb_fpflags; #define PCB_FP_STARTED 0x00000001 +#define PCB_FP_SVEVALID 0x00000002 #define PCB_FP_KERN 0x40000000 #define PCB_FP_NOSAVE 0x80000000 /* The bits passed to userspace in get_fpcontext */ -#define PCB_FP_USERMASK (PCB_FP_STARTED) +#define PCB_FP_USERMASK (PCB_FP_STARTED | PCB_FP_SVEVALID) u_int pcb_vfpcpu; /* Last cpu this thread ran VFP code */ - uint64_t pcb_reserved[5]; + void *pcb_svesaved; + uint64_t pcb_reserved[4]; /* * The userspace VFP state. The pcb_fpusaved pointer will point to diff --git a/sys/arm64/include/vfp.h b/sys/arm64/include/vfp.h index 47d068d6050c..fc93908add0b 100644 --- a/sys/arm64/include/vfp.h +++ b/sys/arm64/include/vfp.h @@ -80,6 +80,12 @@ void vfp_restore_state(void); void vfp_save_state(struct thread *, struct pcb *); void vfp_save_state_savectx(struct pcb *); void vfp_save_state_switch(struct thread *); +void vfp_to_sve_sync(struct thread *); +void sve_to_vfp_sync(struct thread *); + +size_t sve_max_buf_size(void); +size_t sve_buf_size(struct thread *); +bool sve_restore_state(struct thread *); struct fpu_kern_ctx; From nobody Mon Sep 30 12:23:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKx52Bk6z5YD2V; Mon, 30 Sep 2024 12:23:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx51VPXz4LXZ; Mon, 30 Sep 2024 12:23:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JiI1o6DrCeD4jCrw8PpI6NONl+mlAXhi4w4pIsNCrs=; b=fI9ifPh0QEmm0cJMIoHU/7Ga4ad3QVPEmPBLId6c2DM0ectRwPPzy1pG8OD067AXWywkcB /Bzn1zwvE4XP2kYSHD0R+wigHACoohZKJ/87pMuBSh/N+54iLLuJpsji+F6zbrBboaRRvy sLctIglT5Wr7cWkmwXsrWp22viTqDgM8ptzQaT+8KdTJKE8jc4wjq5/FaXJRf8q0LWOBa3 8PPrr7ZhQcbglt7jIkGi+jxvNswJxpfVyNvEaqljDp8frhYfN7mjWpq3p2MuYMuBeWJlvq UYVyuFtZJOF2QI6ASxr859MNqZ9ecPg2jtRNz/i57fFUXg/zZz2cbMy3ujXEEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JiI1o6DrCeD4jCrw8PpI6NONl+mlAXhi4w4pIsNCrs=; b=b6qY3qPwXHthldd0FZg9bVxwhVGWIhJtIgmD+z9P9zuS8z2rOIISdNFAsyX6IxyqJ6gz/1 NchXuxzDLAt9UNZrv7VNE1/KQurYJK4JIITMhpVJX3wdV/hNAZ2rZGEmVOMiJ9MWwnNuMX 7YXapDReEb9HJSHumM4+5NpxaHDateTgMXuaKczxFErZ8B8480wDPUBr018q3KvTERTe3D vb5s12io9cf9Z13pJvop/fV95Z0tiieip1VlH5a18RBc4phwmUKTER8V4f01WBJeKXqp92 EhKScTp7cYTLH4vtyCgSYuQ+z9RmvV/hal1OZVDFNqxqhWNA0M96slb0OS39cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699017; a=rsa-sha256; cv=none; b=miQEYX2vDAxEeucyrajWJiCi4o5QO0eGPtKg/mlNPppnt6VYtySlLij7mykACoxd6als/f EvVkC8KmscmgL4eNDgFxA6tiBmzMAkLYuoBvuqHqWeKS5cKtg34r5hMK8jdhISMeGVPmDA E2RZMzrfHEkjBWNgZX7m5pTF+vNLriJW/a5rFMrKRXqsASY3CIW+VDFVEUdIwPF/1ohywx YIsJrGpV4Tl5SeP5VNv/4A4veI7oSYWVHFI853Sap8gIPkcY3+iBqgcfYsfJUREmyTSYjQ YO2ejxQMharA3cZN9hvg8dFQ26L6nIulI2GEYBTiCx2AEfgraA7MjgBSM7NeXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx515RfztHk; Mon, 30 Sep 2024 12:23:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNb85070915; Mon, 30 Sep 2024 12:23:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNbd4070912; Mon, 30 Sep 2024 12:23:37 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:37 GMT Message-Id: <202409301223.48UCNbd4070912@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: e45132e97803 - main - arm64: Add the SVE registers to the signal frame List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e45132e978030f0aa964d975a9fbad5614f260bd Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e45132e978030f0aa964d975a9fbad5614f260bd commit e45132e978030f0aa964d975a9fbad5614f260bd Author: Andrew Turner AuthorDate: 2024-09-27 13:37:03 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Add the SVE registers to the signal frame Use the new extended register support in the arm64 signal frame to handle the SVE registers. As these registers alias the VFP registers we use the floating point register values to restore the lower bits of the SVE registers. This is to support software that doesn't understand SVE to continue working. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43307 --- sys/arm64/arm64/exec_machdep.c | 88 +++++++++++++++++++++++++++++++++++++++++- sys/arm64/include/ucontext.h | 8 ++++ 2 files changed, 94 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index 6fece751cc25..6a536233a62d 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -463,9 +463,10 @@ set_mcontext(struct thread *td, mcontext_t *mcp) #define PSR_13_MASK 0xfffffffful struct arm64_reg_context ctx; struct trapframe *tf = td->td_frame; + struct pcb *pcb; uint64_t spsr; vm_offset_t addr; - int error; + int error, seen_types; bool done; spsr = mcp->mc_gpregs.gp_spsr; @@ -511,7 +512,11 @@ set_mcontext(struct thread *td, mcontext_t *mcp) /* Read any register contexts we find */ if (mcp->mc_ptr != 0) { addr = mcp->mc_ptr; + pcb = td->td_pcb; + +#define CTX_TYPE_FLAG_SVE (1 << 0) + seen_types = 0; done = false; do { if (!__is_aligned(addr, @@ -523,6 +528,38 @@ set_mcontext(struct thread *td, mcontext_t *mcp) return (error); switch (ctx.ctx_id) { +#ifdef VFP + case ARM64_CTX_SVE: { + struct sve_context sve_ctx; + size_t buf_size; + + if ((seen_types & CTX_TYPE_FLAG_SVE) != 0) + return (EINVAL); + seen_types |= CTX_TYPE_FLAG_SVE; + + if (pcb->pcb_svesaved == NULL) + return (EINVAL); + + /* XXX: Check pcb_svesaved is valid */ + + buf_size = sve_buf_size(td); + /* Check the size is valid */ + if (ctx.ctx_size != + (sizeof(sve_ctx) + buf_size)) + return (EINVAL); + + memset(pcb->pcb_svesaved, 0, + sve_max_buf_size()); + + /* Copy the SVE registers from userspace */ + if (copyin((void *)(addr + sizeof(sve_ctx)), + pcb->pcb_svesaved, buf_size) != 0) + return (EINVAL); + + pcb->pcb_fpflags |= PCB_FP_SVEVALID; + break; + } +#endif case ARM64_CTX_END: done = true; break; @@ -532,6 +569,8 @@ set_mcontext(struct thread *td, mcontext_t *mcp) addr += ctx.ctx_size; } while (!done); + +#undef CTX_TYPE_FLAG_SVE } return (0); @@ -592,7 +631,7 @@ set_fpcontext(struct thread *td, mcontext_t *mcp) sizeof(mcp->mc_fpregs.fp_q)); curpcb->pcb_fpustate.vfp_fpcr = mcp->mc_fpregs.fp_cr; curpcb->pcb_fpustate.vfp_fpsr = mcp->mc_fpregs.fp_sr; - curpcb->pcb_fpflags = mcp->mc_fpregs.fp_flags & PCB_FP_USERMASK; + curpcb->pcb_fpflags = mcp->mc_fpregs.fp_flags & PCB_FP_STARTED; } #endif } @@ -612,6 +651,13 @@ sys_sigreturn(struct thread *td, struct sigreturn_args *uap) if (error != 0) return (error); + /* + * Sync the VFP and SVE registers. To be backwards compatible we + * use the VFP registers to restore the lower bits of the SVE + * register it aliases. + */ + vfp_to_sve_sync(td); + /* Restore signal mask. */ kern_sigprocmask(td, SIG_SETMASK, &uc.uc_sigmask, NULL, 0); @@ -637,9 +683,47 @@ sendsig_ctx_end(struct thread *td, vm_offset_t *addrp) return (true); } +static bool +sendsig_ctx_sve(struct thread *td, vm_offset_t *addrp) +{ + struct sve_context ctx; + struct pcb *pcb; + size_t buf_size; + vm_offset_t ctx_addr; + + pcb = td->td_pcb; + /* Do nothing if sve hasn't started */ + if (pcb->pcb_svesaved == NULL) + return (true); + + MPASS(pcb->pcb_svesaved != NULL); + + buf_size = sve_buf_size(td); + + /* Address for the full context */ + *addrp -= sizeof(ctx) + buf_size; + ctx_addr = *addrp; + + memset(&ctx, 0, sizeof(ctx)); + ctx.sve_ctx.ctx_id = ARM64_CTX_SVE; + ctx.sve_ctx.ctx_size = sizeof(ctx) + buf_size; + ctx.sve_vector_len = pcb->pcb_sve_len; + ctx.sve_flags = 0; + + /* Copy out the header and data */ + if (copyout(&ctx, (void *)ctx_addr, sizeof(ctx)) != 0) + return (false); + if (copyout(pcb->pcb_svesaved, (void *)(ctx_addr + sizeof(ctx)), + buf_size) != 0) + return (false); + + return (true); +} + typedef bool(*ctx_func)(struct thread *, vm_offset_t *); static const ctx_func ctx_funcs[] = { sendsig_ctx_end, /* Must be first to end the linked list */ + sendsig_ctx_sve, NULL, }; diff --git a/sys/arm64/include/ucontext.h b/sys/arm64/include/ucontext.h index dedbd061ec6b..a4f0ee243b3a 100644 --- a/sys/arm64/include/ucontext.h +++ b/sys/arm64/include/ucontext.h @@ -62,6 +62,14 @@ struct arm64_reg_context { }; #define ARM64_CTX_END 0xa5a5a5a5 +#define ARM64_CTX_SVE 0x00657673 + +struct sve_context { + struct arm64_reg_context sve_ctx; + __uint16_t sve_vector_len; + __uint16_t sve_flags; + __uint16_t sve_reserved[2]; +}; struct __mcontext { struct gpregs mc_gpregs; From nobody Mon Sep 30 12:23:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKx63ZRKz5YDHP; Mon, 30 Sep 2024 12:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx62B2Xz4Ls9; Mon, 30 Sep 2024 12:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fYhiDDcyDu7HkrbuXSVG0B8veK7Tbznc5pRdBE++aEA=; b=ENq7pshurJ+BuM9P+ZMUqUSkZuKhkxcWPtvIzbyjypDLrwkvkpAdOPEaQospLUxtBrXrf2 sht/Y/ti+e/2/0lD8Sw87ffZ2W8plARCdnMuv77gVGXk3MhoHzfzedKmMyEaemG2+JgORU ZHuXtEDkDEW90eslyoWUtpkECJhO2hvDLaLz8wnsD8MTV0G8TS9/yKnItdB64pIyGF7iEG xvZeNUOeJl6OSI2yvDaBZLm8zYPGrt0rK6fk7bMy+R3Qw3rrovnjO6VYyX2khCKuSQFfPa 5Z5V63pMAsW2NdxGUk1XraIXn02BL7plTwgcS8HwWLd3YzdADzjuRVTAQR6ACg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fYhiDDcyDu7HkrbuXSVG0B8veK7Tbznc5pRdBE++aEA=; b=TQWz4yJPf5g2ROynwvRKLN9mJi/3H8kDc5JuASvi8cf+IqcnoJpfFyrYdQfYxv5TY6amUH KZZ893ogD1HxnBteLkjWh1dyfP2opTTvBgQKz7wNN7wnCNJPZ42Xn+WVi8+Z0CFgbWZCuB EFKieUsaFKakAAO1nAzOJNekvrHXsOU0id601lPWa1uex+ejt89PtcYuJlQMjCfNDRp8J+ tS4fAzdY7dBfoRYrIz2TB8hrJczOJa5abh67Xy65FzXO8YXsCl8VlqL56GsI0vqHygl87F APjiLq7YVW6NwO3I4JQN14DlP0YUPj/Q5Qyr+qRwsP/lBqbUEmciruo9KW0LoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699018; a=rsa-sha256; cv=none; b=npER8E6xeCSS7PAP/DGgVDfm7IqvrUo5Xa0X4kMlnkOrceH+Js9yVx0+vVL705+XLQMy+M 9GH5fV/yTcZ/9LCkAOJA31dSGL8Qowiqhy3W0mkakeAeAdq++b152xTqxl0F7oglSIuKB1 G0ZRuBQDaTsfKvG6GsIM73nU7l0dUjSFh3HnxtBh9jQ+P7HRWW9vWFewVHFoUbHju5oQua OCMH17G3/aMtGMuaFDjJReClR36kOXH1tOLQlUBeXZ+ek6sZ7HCQqWB1LS7R8hWLQ0WGFx 0Ta+imXKzp7/93NGFUOS/7xTLHZKMkkQN5Ryf53TH4lEuyrEwSyCd7NIGYj20g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx61p6VzsCD; Mon, 30 Sep 2024 12:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNcxa070960; Mon, 30 Sep 2024 12:23:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNcJM070957; Mon, 30 Sep 2024 12:23:38 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:38 GMT Message-Id: <202409301223.48UCNcJM070957@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: 87a58d931db7 - main - arm64: Add an SVE sysarch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 87a58d931db7b40d8d225a7edb82b78937078b7f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=87a58d931db7b40d8d225a7edb82b78937078b7f commit 87a58d931db7b40d8d225a7edb82b78937078b7f Author: Andrew Turner AuthorDate: 2024-09-27 13:37:10 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Add an SVE sysarch To allow for user space to read the SVE vector length add a sysarch handler to return the value to userspace. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43308 --- sys/arm64/arm64/sys_machdep.c | 13 +++++++++++++ sys/arm64/include/sysarch.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/sys/arm64/arm64/sys_machdep.c b/sys/arm64/arm64/sys_machdep.c index eedc57f7c572..81b8ef73d9c0 100644 --- a/sys/arm64/arm64/sys_machdep.c +++ b/sys/arm64/arm64/sys_machdep.c @@ -28,6 +28,7 @@ */ #include +#include #include #include #include @@ -36,14 +37,19 @@ #include #include +#include #include #include +#include + int sysarch(struct thread *td, struct sysarch_args *uap) { struct arm64_guard_page_args gp_args; + struct pcb *pcb; vm_offset_t eva; + unsigned long sve_len; int error; switch (uap->op) { @@ -73,6 +79,13 @@ sysarch(struct thread *td, struct sysarch_args *uap) error = pmap_bti_set(vmspace_pmap(td->td_proc->p_vmspace), trunc_page(gp_args.addr), round_page(eva)); break; + case ARM64_GET_SVE_VL: + pcb = td->td_pcb; + sve_len = pcb->pcb_sve_len; + error = EINVAL; + if (sve_len != 0) + error = copyout(&sve_len, uap->parms, sizeof(sve_len)); + break; default: error = EINVAL; break; diff --git a/sys/arm64/include/sysarch.h b/sys/arm64/include/sysarch.h index 83094943423a..b7846651c031 100644 --- a/sys/arm64/include/sysarch.h +++ b/sys/arm64/include/sysarch.h @@ -46,6 +46,9 @@ struct arm64_guard_page_args { __size_t len; }; +#define ARM64_GET_SVE_VL 0x200 +/* Reserved ARM64_SET_SVE_VL 0x201 */ + #ifndef _KERNEL __BEGIN_DECLS From nobody Mon Sep 30 12:23:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKx76ggrz5YDHS; Mon, 30 Sep 2024 12:23:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx73zyTz4LPx; Mon, 30 Sep 2024 12:23:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkbzKiFriJ8X+C3G77V3Lx8EU04ADWDzGp3bx7Ig4C0=; b=uWEi7XhbRJqZvtIlRYCi4c1HV9p57kxHYDJc5dgs2Ktgfv9b8YKwOnNEUrZSvM48VzWFGN NUfNdUZlpF+0mp3oRrdA6D2wBMsLXlMzfogXYAJ8SmFXzxz1/o/DrJ533074DvnhBvQCKg H3RWhK4Iu2b7pnl/aGs3F5gU+4eRYyY7lnPkDHeDo9jN9T7FsJ+AlUVA7FZ4Sebda0Ib41 N4CStUvunT6WHGBRrO5+r59FgswxZS4R/wAXuo8pjdgw2K5W7s0qMnLSnLBIXZXmsypC/2 kComJjBYlitvl0YUik6z1sRuEDZDWA8LSEagdk0ellrSAmoF/y0fNxTVFGeG+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkbzKiFriJ8X+C3G77V3Lx8EU04ADWDzGp3bx7Ig4C0=; b=IOM9RU425PGnIkfajJzB7z7HqiwqTDnuYfb1/rpkZxwIQu+zrwfiCNAEizGGNN2r3IcIVz 0OdB5sOBRGlpS3DDZoeHwgknNZkTOl0cnr8RNeqX1AaBpJHRuPVl7qvkfPxUI6Jqw9uTGl 08+OaCV6xS25LIbiobcewiEKr3GoYsfTOsK9pf3S0lMJ/m+keYExtGPMKTU1C/AuOEyXz7 hb/9FBLylf8gc//r5PWdxhcKJmCWhu0frXSUUflIBHR2U+2g8I5XldcDmPvYu4pYdSZHoM d9DJ4rwc8QPyypHp1UFQPmHV+Ch4f+xpG+czZIsmmE+pprXHcg4G9UbB096Fig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699019; a=rsa-sha256; cv=none; b=sj4wavq424K2iA3+x1x8OSh2WUzCy6TzmhQYjSJDbG1F+Ob4O1l1FwO+Eg+znhKh/f2cVn Yj6cVWg+actwiJ81mPQGmxJPO2EFROhr37btfOwv4LCVko5Sfg+nqsz082zthsGasUoUUS 5ihtpoahFUd++qlYRlfZSdlybL2yOnhVWP3MVN2jZBgJio8R28O1ectuIaofrdTFlbgThQ gAfgzLvErwscB6U7BRDrios0zn4BJcWhPmy18weH9rQhTipy9Ylk6RVR54W3dqRDQiIkIC vteNzXbXgnsMBpEBQv0T96Gh8YAy12K8Tahr9O9SoIikE3+ts1u/Udlj0avOSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx739nJzsZn; Mon, 30 Sep 2024 12:23:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNd3K071011; Mon, 30 Sep 2024 12:23:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNdNK071008; Mon, 30 Sep 2024 12:23:39 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:39 GMT Message-Id: <202409301223.48UCNdNK071008@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: aab60068943d - main - arm64: Support SVE in ptrace and core dumps List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: aab60068943d733b0b4573e5481c543ab3d45a00 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=aab60068943d733b0b4573e5481c543ab3d45a00 commit aab60068943d733b0b4573e5481c543ab3d45a00 Author: Andrew Turner AuthorDate: 2024-09-27 13:37:17 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Support SVE in ptrace and core dumps Add the NT_ARM_SVE note type and use it to access the SVE registers from ptrace. This allows userspace to modify the full SVE register values. Try to follow the Linux semantics to allow debuggers to use this with minimal changes. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43309 --- sys/arm64/arm64/vfp.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++ sys/arm64/include/reg.h | 13 +++++ sys/sys/elf_common.h | 1 + 3 files changed, 155 insertions(+) diff --git a/sys/arm64/arm64/vfp.c b/sys/arm64/arm64/vfp.c index d57927991c03..a3aa77ed6180 100644 --- a/sys/arm64/arm64/vfp.c +++ b/sys/arm64/arm64/vfp.c @@ -30,12 +30,14 @@ #ifdef VFP #include #include +#include #include #include #include #include #include #include +#include #include #include @@ -918,6 +920,145 @@ sve_init(const void *dummy __unused) } SYSINIT(sve, SI_SUB_SMP, SI_ORDER_ANY, sve_init, NULL); +static bool +get_arm64_sve(struct regset *rs, struct thread *td, void *buf, + size_t *sizep) +{ + struct svereg_header *header; + struct pcb *pcb; + size_t buf_size; + uint16_t sve_flags; + + pcb = td->td_pcb; + + /* If there is no SVE support in HW then we don't support NT_ARM_SVE */ + if (pcb->pcb_sve_len == 0) + return (false); + + sve_flags = 0; + if ((pcb->pcb_fpflags & PCB_FP_SVEVALID) == 0) { + /* If SVE hasn't been used yet provide the VFP registers */ + buf_size = sizeof(struct fpreg); + sve_flags |= SVEREG_FLAG_FP; + } else { + /* We have SVE registers */ + buf_size = sve_buf_size(td); + sve_flags |= SVEREG_FLAG_SVE; + KASSERT(pcb->pcb_svesaved != NULL, ("%s: no saved sve", + __func__)); + } + + if (buf != NULL) { + KASSERT(*sizep == sizeof(struct svereg_header) + buf_size, + ("%s: invalid size", __func__)); + + if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0) + vfp_save_state(td, pcb); + + header = buf; + memset(header, 0, sizeof(*header)); + + header->sve_size = sizeof(struct svereg_header) + buf_size; + header->sve_maxsize = sizeof(struct svereg_header) + + sve_max_buf_size(); + header->sve_vec_len = pcb->pcb_sve_len; + header->sve_max_vec_len = sve_max_vector_len; + header->sve_flags = sve_flags; + + if ((sve_flags & SVEREG_FLAG_REGS_MASK) == SVEREG_FLAG_FP) { + struct fpreg *fpregs; + + fpregs = (void *)(&header[1]); + memcpy(fpregs->fp_q, pcb->pcb_fpustate.vfp_regs, + sizeof(fpregs->fp_q)); + fpregs->fp_cr = pcb->pcb_fpustate.vfp_fpcr; + fpregs->fp_sr = pcb->pcb_fpustate.vfp_fpsr; + } else { + memcpy((void *)(&header[1]), pcb->pcb_svesaved, + buf_size); + } + } + *sizep = sizeof(struct svereg_header) + buf_size; + + return (true); +} + +static bool +set_arm64_sve(struct regset *rs, struct thread *td, void *buf, size_t size) +{ + struct svereg_header *header; + struct pcb *pcb; + size_t buf_size; + uint16_t sve_flags; + + pcb = td->td_pcb; + + /* If there is no SVE support in HW then we don't support NT_ARM_SVE */ + if (pcb->pcb_sve_len == 0) + return (false); + + sve_flags = 0; + if ((pcb->pcb_fpflags & PCB_FP_SVEVALID) == 0) { + /* + * If the SVE state is invalid it provide the FP registers. + * This may be beause it hasn't been used, or it has but + * was switched out in a system call. + */ + buf_size = sizeof(struct fpreg); + sve_flags |= SVEREG_FLAG_FP; + } else { + /* We have SVE registers */ + MPASS(pcb->pcb_svesaved != NULL); + buf_size = sve_buf_size(td); + sve_flags |= SVEREG_FLAG_SVE; + KASSERT(pcb->pcb_svesaved != NULL, ("%s: no saved sve", + __func__)); + } + + if (size != sizeof(struct svereg_header) + buf_size) + return (false); + + header = buf; + /* Sanity checks on the header */ + if (header->sve_size != sizeof(struct svereg_header) + buf_size) + return (false); + + if (header->sve_maxsize != sizeof(struct svereg_header) + + sve_max_buf_size()) + return (false); + + if (header->sve_vec_len != pcb->pcb_sve_len) + return (false); + + if (header->sve_max_vec_len != sve_max_vector_len) + return (false); + + if (header->sve_flags != sve_flags) + return (false); + + if ((sve_flags & SVEREG_FLAG_REGS_MASK) == SVEREG_FLAG_FP) { + struct fpreg *fpregs; + + fpregs = (void *)(&header[1]); + memcpy(pcb->pcb_fpustate.vfp_regs, fpregs->fp_q, + sizeof(fpregs->fp_q)); + pcb->pcb_fpustate.vfp_fpcr = fpregs->fp_cr; + pcb->pcb_fpustate.vfp_fpsr = fpregs->fp_sr; + } else { + /* Restore the SVE registers */ + memcpy(pcb->pcb_svesaved, (void *)(&header[1]), buf_size); + } + + return (true); +} + +static struct regset regset_arm64_sve = { + .note = NT_ARM_SVE, + .get = get_arm64_sve, + .set = set_arm64_sve, +}; +ELF_REGSET(regset_arm64_sve); + struct fpu_kern_ctx * fpu_kern_alloc_ctx(u_int flags) { diff --git a/sys/arm64/include/reg.h b/sys/arm64/include/reg.h index c699752197a8..4226385480e8 100644 --- a/sys/arm64/include/reg.h +++ b/sys/arm64/include/reg.h @@ -63,6 +63,19 @@ struct fpreg32 { int dummy; }; +#define SVEREG_FLAG_REGS_MASK 0x0001 +#define SVEREG_FLAG_FP 0x0000 +#define SVEREG_FLAG_SVE 0x0001 + +struct svereg_header { + __uint32_t sve_size; + __uint32_t sve_maxsize; + __uint16_t sve_vec_len; + __uint16_t sve_max_vec_len; + __uint16_t sve_flags; + __uint16_t sve_reserved; +}; + struct dbreg { __uint8_t db_debug_ver; __uint8_t db_nbkpts; diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index 6cb92d1011fe..ec5bbbf9f0e6 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -826,6 +826,7 @@ typedef struct { #define NT_X86_XSTATE 0x202 /* x86 XSAVE extended state. */ #define NT_ARM_VFP 0x400 /* ARM VFP registers */ #define NT_ARM_TLS 0x401 /* ARM TLS register */ +#define NT_ARM_SVE 0x405 /* ARM SVE registers */ #define NT_ARM_ADDR_MASK 0x406 /* arm64 address mask (e.g. for TBI) */ /* GNU note types. */ From nobody Mon Sep 30 12:23:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKx86P5jz5YDHW; Mon, 30 Sep 2024 12:23:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx84YxJz4LVN; Mon, 30 Sep 2024 12:23:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LHKE8fqVEfxZEBCbOTExUy89ZanFNRM3gfq+m0ojPyU=; b=LYZzUrPLApYcsNJpX4xu6xLvtfZHkYMI1FnVHST5KG5tlhEMYb/uK5dI7lGUJnp95y/qMl 6a5+PQ7kfRneO880JJGsiW1D3Z5wysx3mx4e0aksUF0kMZnfOdVnCfFNIbHNNHIH3mzgoa HqahBijOYitkrYTitUVj8T296ErYpDSxfKUG/lXaskIFA3UZe6lQqoOLNUhbRMSDyHSGyl GAUvnmOKxCiHAiBhkQlrFH7GGpC3ivwRMPg5fK7e3ZpW45odgvp8ssWnQJzCbQNAHFCsJ2 bo/ybgNMa8hzmo7On4W+x2ztAcBjCKJPSmfrAYgH/oPS2lK2gHof/FsPorwVaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LHKE8fqVEfxZEBCbOTExUy89ZanFNRM3gfq+m0ojPyU=; b=bwTjc2QjQfGMlbsWlNB9WGQbQ04eR286qpPR8yIaDbCnfxWXTSwV9l9VYcu2odpWA2Dsxg FEjCjUchGg6pudiNUK69PJd0vCfQda8GImQPnN+5GUCE7JWl7fsRXOr012FGyUfBJB2CFG RA18nmU8GWKJln8q7urBlElYcfATaYch1d5ebuarI3aE5q+U85rlOMJK9TuiudiBAZ5vOC WbeMsk1wBR0gP25ZxCqxMP4BsySLRluTCvCdC0DrXq2AIJkra6P3vtPvLk53EhxGmYLEGI QX2yxmyvt+2L7ZPN/SLpSCrkwMddxZXNknfLydH69Ac7BR83im10MF278fEnTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699020; a=rsa-sha256; cv=none; b=iLOxb5+qyS88+yynmx1gJ6NmmITs/xOc2uHCST7Q7oU0NN08AeQGH21fev2TvlzgAH3mjB 85JZ5z/dvD3Rq0aAUX54rXGdiOriw8gAogppufYHrJ12oso+0JjCorbAEVm9E4SzHOjPph n9YlC4Afb1foKDapVWJcMletMJcqdtL4MPbFnzEMhMS3tQpQfbILG6sDMyQl9FTzKTjEYQ qApxJ9BDWbM3a3vxSIXNHL9799VcVHUadRLMWdsPk24E6nZJAor2fP22wiCFETrMU4RsI+ Vk+Mw+AU1g2valjUOpjoK8TMqV3DnNH7Kyw2pfSnWLvUIgK9N23ST22Lvy1UeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx849xFztBw; Mon, 30 Sep 2024 12:23:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNe2H071064; Mon, 30 Sep 2024 12:23:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNeDO071061; Mon, 30 Sep 2024 12:23:40 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:40 GMT Message-Id: <202409301223.48UCNeDO071061@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: fe5ed2496e44 - main - arm64: Don't trap SVE to EL2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fe5ed2496e44aec018a6215175bba225b20d81fd Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fe5ed2496e44aec018a6215175bba225b20d81fd commit fe5ed2496e44aec018a6215175bba225b20d81fd Author: Andrew Turner AuthorDate: 2024-09-27 13:41:08 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Don't trap SVE to EL2 As with floating point instructions don't trap SVE instructions to the hypervisor. This lets us handle then in the kernel. Reviewed by: imp (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43303 --- sys/arm64/include/hypervisor.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 0a138006b108..1ba1756ecdf2 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -55,11 +55,12 @@ /* Valid if HCR_EL2.E2H == 0 */ #define CPTR_TRAP_ALL 0xc01037ff /* Enable all traps */ #define CPTR_RES0 0x7fefc800 -#define CPTR_RES1 0x000033ff +#define CPTR_RES1 0x000032ff #define CPTR_TFP 0x00000400 #define CPTR_TTA 0x00100000 /* Valid if HCR_EL2.E2H == 1 */ #define CPTR_E2H_TRAP_ALL 0xd0000000 +#define CPTR_E2H_ZPEN 0x00030000 #define CPTR_E2H_FPEN 0x00300000 #define CPTR_E2H_TTA 0x10000000 /* Unconditionally valid */ From nobody Mon Sep 30 12:23:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxB10xPz5YDK8; Mon, 30 Sep 2024 12:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKx95cywz4Lsr; Mon, 30 Sep 2024 12:23:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LA4jvNLeGJhEG8Rdt+O2UUzPloQ+sE8xSIIjzRRibGM=; b=C9NyCN1qC+qK5SZ1WEc5yHUO3KxCXVWG1zfw25y2e5Z21TbNdH72UvBFdHyEKuIUhpTqyw Yg2Mh5c5nYDBpdhjpzaIs5JzkfDsk11Drdav5/E8bi9mfvF08zoU2k8iI4n13zgKASViik e8j4VLvQ3dGkJDHPJ0mNZZ+crVfgiKMmD+xBgfIY2gLXJ1nBaIfam+DUBoDtfwWcybSNpx 37ATw7OWZjODURSWTr9Vt76OdblkF3Y0H78KB0O2M4lBLHihKiHx348zitaauJE9cKUKSK yUhiPlC417G/hII1jbKf2On8b9tGmPwIBgAA13Svzcpdx1ZpSv4tMabonIuUaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LA4jvNLeGJhEG8Rdt+O2UUzPloQ+sE8xSIIjzRRibGM=; b=kCrt6aLHoKXg1ze+vqdIxB06wgPZ58pWGnprWu0W8nLTcDaecwU6kaBgEMVwiN//5jjUYL S3pYfLz2A/gn/3sh5s1pApZBFco9cCEe8K8n0SKoYjqA5YlzXQ4Tu/tPyjz/eXIOY9Jyc1 82Wd6NuMYuNcu74iDgeuzLKhc/XFGBghcK7G5eUg8EFRasBVaIlv4Kf2hYLPgAGmoooPTD 6PLrMvUn/NIo9fq4R1qwkgKlLHX99xRFKwV4J23JM3Noomaze7h4Z6zRrAwaNz2PTX88ok Q9NJwrvipWbTJkbSOEZloYgd37pJlktyamjHDSUKD11TpsTAbZxWNGjLkWLwWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699021; a=rsa-sha256; cv=none; b=WtqTbDi7dgXsxXygrOvOgwZMOhYuL+KanLxHr/bLb6dymT8zlQGp6Dg+iPDmlgreURPZPK F9gq7VzAWoFvtPjM3C/+4rZyeVJ967ZgEIVJIQ1/UlfRO2XBst4SDoPU7AqOXes4BqrREb Ifi2W494AP9Os4ff3CWWouidja4EInT26T2AIhG67F7SKjRDavII8tGlkg9YWj4REMS8vF AmLLiJ6MuHkCI2Kqn0OfU/7AmThKVWWDSZwyXtqlOcDi5nZmRRMCHi6Nw6Sxeeq2LSz8Tq 4odnRF4ZZQJUrws0VqmO2LT5oJDFLVzf3htLNs1uNWpZjVEAjI3fSvxyl0D69A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKx95BxNzsZp; Mon, 30 Sep 2024 12:23:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNfHM071106; Mon, 30 Sep 2024 12:23:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNfH4071103; Mon, 30 Sep 2024 12:23:41 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:41 GMT Message-Id: <202409301223.48UCNfH4071103@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: 205c1007be6d - main - arm64: Enable SVE in userspace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 205c1007be6d57b2eb8620f79384cb2299dde40e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=205c1007be6d57b2eb8620f79384cb2299dde40e commit 205c1007be6d57b2eb8620f79384cb2299dde40e Author: Andrew Turner AuthorDate: 2024-09-27 14:06:03 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Enable SVE in userspace Report when SVE is present and allow it to be used by calling sve_restore_state on an SVE exception from userspace. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43310 --- sys/arm64/arm64/identcpu.c | 82 ++++++++++++++++++++++++++++++++++++++-------- sys/arm64/arm64/trap.c | 6 ++-- sys/arm64/include/armreg.h | 1 + 3 files changed, 74 insertions(+), 15 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index eead0051d315..3bf4f9a80c90 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1383,13 +1383,10 @@ static const struct mrs_field_value id_aa64pfr0_sve[] = { MRS_FIELD_VALUE_END, }; -#if 0 -/* Enable when we add SVE support */ static const struct mrs_field_hwcap id_aa64pfr0_sve_caps[] = { MRS_HWCAP(1, HWCAP_SVE, ID_AA64PFR0_SVE_IMPL), MRS_HWCAP_END }; -#endif static const struct mrs_field_value id_aa64pfr0_ras[] = { MRS_FIELD_VALUE(ID_AA64PFR0_RAS_NONE, ""), @@ -1463,7 +1460,8 @@ static const struct mrs_field id_aa64pfr0_fields[] = { MRS_FIELD(ID_AA64PFR0, AMU, false, MRS_EXACT, id_aa64pfr0_amu), MRS_FIELD(ID_AA64PFR0, MPAM, false, MRS_EXACT, id_aa64pfr0_mpam), MRS_FIELD(ID_AA64PFR0, SEL2, false, MRS_EXACT, id_aa64pfr0_sel2), - MRS_FIELD(ID_AA64PFR0, SVE, false, MRS_EXACT, id_aa64pfr0_sve), + MRS_FIELD_HWCAP_SPLIT(ID_AA64PFR0, SVE, false, MRS_LOWER, MRS_EXACT, + id_aa64pfr0_sve, id_aa64pfr0_sve_caps), MRS_FIELD(ID_AA64PFR0, RAS, false, MRS_EXACT, id_aa64pfr0_ras), MRS_FIELD(ID_AA64PFR0, GIC, false, MRS_EXACT, id_aa64pfr0_gic), MRS_FIELD_HWCAP(ID_AA64PFR0, AdvSIMD, true, MRS_LOWER, @@ -1578,59 +1576,117 @@ static const struct mrs_field_value id_aa64zfr0_f64mm[] = { MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_f64mm_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEF64MM, ID_AA64ZFR0_F64MM_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_f32mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, F32MM, NONE, IMPL), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_f32mm_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEF32MM, ID_AA64ZFR0_F32MM_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_i8mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, I8MM, NONE, IMPL), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_i8mm_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEI8MM, ID_AA64ZFR0_I8MM_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_sm4[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, SM4, NONE, IMPL), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_sm4_caps[] = { + MRS_HWCAP(2, HWCAP2_SVESM4, ID_AA64ZFR0_SM4_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_sha3[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, SHA3, NONE, IMPL), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_sha3_caps[] = { + MRS_HWCAP(2, HWCAP2_SVESHA3, ID_AA64ZFR0_SHA3_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_bf16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, BF16, NONE, BASE), MRS_FIELD_VALUE(ID_AA64ZFR0_BF16_EBF, "BF16+EBF"), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_bf16_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEBF16, ID_AA64ZFR0_BF16_BASE), + MRS_HWCAP(2, HWCAP2_SVE_EBF16, ID_AA64ZFR0_BF16_EBF), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_bitperm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, BitPerm, NONE, IMPL), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_bitperm_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEBITPERM, ID_AA64ZFR0_BitPerm_IMPL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_aes[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, AES, NONE, BASE), MRS_FIELD_VALUE(ID_AA64ZFR0_AES_PMULL, "AES+PMULL"), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_aes_caps[] = { + MRS_HWCAP(2, HWCAP2_SVEAES, ID_AA64ZFR0_AES_BASE), + MRS_HWCAP(2, HWCAP2_SVEPMULL, ID_AA64ZFR0_AES_PMULL), + MRS_HWCAP_END, +}; + static const struct mrs_field_value id_aa64zfr0_svever[] = { MRS_FIELD_VALUE(ID_AA64ZFR0_SVEver_SVE1, "SVE1"), MRS_FIELD_VALUE(ID_AA64ZFR0_SVEver_SVE2, "SVE2"), + MRS_FIELD_VALUE(ID_AA64ZFR0_SVEver_SVE2P1, "SVE2P1"), MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64zfr0_svever_caps[] = { + MRS_HWCAP(2, HWCAP2_SVE2, ID_AA64ZFR0_SVEver_SVE2), + MRS_HWCAP(2, HWCAP2_SVE2P1, ID_AA64ZFR0_SVEver_SVE2P1), + MRS_HWCAP_END, +}; + static const struct mrs_field id_aa64zfr0_fields[] = { - MRS_FIELD(ID_AA64ZFR0, F64MM, false, MRS_EXACT, id_aa64zfr0_f64mm), - MRS_FIELD(ID_AA64ZFR0, F32MM, false, MRS_EXACT, id_aa64zfr0_f32mm), - MRS_FIELD(ID_AA64ZFR0, I8MM, false, MRS_EXACT, id_aa64zfr0_i8mm), - MRS_FIELD(ID_AA64ZFR0, SM4, false, MRS_EXACT, id_aa64zfr0_sm4), - MRS_FIELD(ID_AA64ZFR0, SHA3, false, MRS_EXACT, id_aa64zfr0_sha3), - MRS_FIELD(ID_AA64ZFR0, BF16, false, MRS_EXACT, id_aa64zfr0_bf16), - MRS_FIELD(ID_AA64ZFR0, BitPerm, false, MRS_EXACT, id_aa64zfr0_bitperm), - MRS_FIELD(ID_AA64ZFR0, AES, false, MRS_EXACT, id_aa64zfr0_aes), - MRS_FIELD(ID_AA64ZFR0, SVEver, false, MRS_EXACT, id_aa64zfr0_svever), + MRS_FIELD_HWCAP(ID_AA64ZFR0, F64MM, false, MRS_LOWER, + id_aa64zfr0_f64mm, id_aa64zfr0_f64mm_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, F32MM, false, MRS_LOWER, + id_aa64zfr0_f32mm, id_aa64zfr0_f32mm_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, I8MM, false, MRS_LOWER, id_aa64zfr0_i8mm, + id_aa64zfr0_i8mm_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, SM4, false, MRS_LOWER, id_aa64zfr0_sm4, + id_aa64zfr0_sm4_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, SHA3, false, MRS_LOWER, id_aa64zfr0_sha3, + id_aa64zfr0_sha3_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, BF16, false, MRS_LOWER, id_aa64zfr0_bf16, + id_aa64zfr0_bf16_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, BitPerm, false, MRS_LOWER, + id_aa64zfr0_bitperm, id_aa64zfr0_bitperm_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, AES, false, MRS_LOWER, id_aa64zfr0_aes, + id_aa64zfr0_aes_caps), + MRS_FIELD_HWCAP(ID_AA64ZFR0, SVEver, false, MRS_LOWER, + id_aa64zfr0_svever, id_aa64zfr0_svever_caps), MRS_FIELD_END, }; diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 35defef90837..fa0b46111a34 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -639,8 +639,10 @@ do_el0_sync(struct thread *td, struct trapframe *frame) #endif break; case EXCP_SVE: - call_trapsignal(td, SIGILL, ILL_ILLTRP, (void *)frame->tf_elr, - exception); + /* Returns true if this thread can use SVE */ + if (!sve_restore_state(td)) + call_trapsignal(td, SIGILL, ILL_ILLTRP, + (void *)frame->tf_elr, exception); userret(td, frame); break; case EXCP_SVC32: diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 667353831f48..08a046762a58 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1583,6 +1583,7 @@ #define ID_AA64ZFR0_SVEver_VAL(x) ((x) & ID_AA64ZFR0_SVEver_MASK #define ID_AA64ZFR0_SVEver_SVE1 (UL(0x0) << ID_AA64ZFR0_SVEver_SHIFT) #define ID_AA64ZFR0_SVEver_SVE2 (UL(0x1) << ID_AA64ZFR0_SVEver_SHIFT) +#define ID_AA64ZFR0_SVEver_SVE2P1 (UL(0x2) << ID_AA64ZFR0_SVEver_SHIFT) #define ID_AA64ZFR0_AES_SHIFT 4 #define ID_AA64ZFR0_AES_MASK (UL(0xf) << ID_AA64ZFR0_AES_SHIFT) #define ID_AA64ZFR0_AES_VAL(x) ((x) & ID_AA64ZFR0_AES_MASK From nobody Mon Sep 30 12:23:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxC0txcz5YD2f; Mon, 30 Sep 2024 12:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKxB6W87z4Lqg; Mon, 30 Sep 2024 12:23:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwrG8a4N72euxXXJuW1Gjt4s/QEqazfy/vvK+5Hhcmo=; b=aVFogh+FG3OzzwgNG8GFUxm55OwM1X57exFs41REJ7THrEBXXUgM5OuLfg/bVxcYiGniSh DfX5X5kc9xmTH9qjed0TqHCPQ8la7SwexWAImMaOApFrEG86h3hAVS/H6Er2YqZ7BPQ+aw qJV8RdMxNjJD6rco/lA2QUxDsxvCXMrp33DotNrN67d8J900MS/8cZRUze6HECbT7LxoKl OmErXDNkIt/GrH5oDA0NSf+u9GFHZsB78ItS3hsJwHIzhLZau2pDBlUs8fjKatNfz1PLw5 cDf1q7UwdRWl9am4TG7vv8YwAvfbggAU/jNOoSx5E+Gokd/Tq13mPec1rGganQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwrG8a4N72euxXXJuW1Gjt4s/QEqazfy/vvK+5Hhcmo=; b=cUpHLq+6PoF4y9nyU9PhKwPruZroMMTEKTLyl1ZJhOvA4qQp3AGmE4MREfkGUuaHJcBpVh g8o5HknOsSpDv8i5GIuyoHlxcfnttrBvL9FgNRNDX1+7risJTQaoEOfD9jcUly2XbxWWdQ ni6NtD86SyCnahNCebsSq4WeUnEHwaEI6fSpz8GSGHrovFZOsokgCcZhbx+3MASGNFUup8 ZfQkf9SFBPKCVrWIQaoptobB2MFWHuJ9jP7OROlu+jTwz86kf/ENl6T8PmA+8eXwcGp94p CCQsggPr79lSmBRpVP8/fYBaL3ASdoeTbl61dn53WqrD7N5HK1bfR382pY0mnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699022; a=rsa-sha256; cv=none; b=TEQ88GLzF2G90Zaax7VA97GJqc4tbV3XGlJrEJdLuBwBhA92QWjJu6Wvx/igWEgDS7IPpm n3dCOpmlAhpgXcJnNGhJBQgjXzD8MlOiMWQoiCnBp4Zh1kTg5DAcYJr8EOcLbBLj/queIR K48uOLHAGllg4pb6IbseQduRzAnnZrFvKGa7/4bR/9+4gMDaef+3WpA+L71txp+rZbOht+ +xdM81OxexYeUNr0c2g2yRxnB95DMkzEUwzgq+LGMRuejEPpBzTZSxx41YyKrTqDb5lqwA 6NS+02TUPHSJkLaH/z2OpM7frN49Kl/A2vwabumKaIyzdI/F4scjfvY4HjsDlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKxB5rllzsZq; Mon, 30 Sep 2024 12:23:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNgCU071163; Mon, 30 Sep 2024 12:23:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNgSJ071160; Mon, 30 Sep 2024 12:23:42 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:42 GMT Message-Id: <202409301223.48UCNgSJ071160@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: 33f2cf4ad460 - main - arm64: Switch to ACPI by default List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 33f2cf4ad460ca46bdc77ae50914c76e76fe0e0f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=33f2cf4ad460ca46bdc77ae50914c76e76fe0e0f commit 33f2cf4ad460ca46bdc77ae50914c76e76fe0e0f Author: Andrew Turner AuthorDate: 2024-09-27 15:12:13 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 arm64: Switch to ACPI by default When the FreeBSD/arm64 port was created we only supported FDT. We now also support ACPI, and have for many years. When this support was added we kept FDT as the default. There are some setups where both ACPI tables and a FDT DTB are passed into the kernel. In most of these cases the DTB is only used to pass in minimal information. To handle the cases where both are passed in prefer ACPI over FDT. Reviewed by: bz, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46750 --- sys/arm64/arm64/machdep.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index f9885f4d4e0a..b61fec3fdd11 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -801,10 +801,10 @@ bus_probe(void) } /* If no order or an invalid order was set use the default */ if (arm64_bus_method == ARM64_BUS_NONE) { - if (has_fdt) - arm64_bus_method = ARM64_BUS_FDT; - else if (has_acpi) + if (has_acpi) arm64_bus_method = ARM64_BUS_ACPI; + else if (has_fdt) + arm64_bus_method = ARM64_BUS_FDT; } /* From nobody Mon Sep 30 12:23:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxD4TQrz5YCs3; Mon, 30 Sep 2024 12:23:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKxD0Rd2z4LYJ; Mon, 30 Sep 2024 12:23:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMS2ks4TAjIM5hDICj6ulTdRKiTwKHZJjM/g3OI4siY=; b=Wm482MnD+dr1qkKcbRF8iSIsat7G2yfNiDia84R99/FJnR0tANKXk8MRMyrC0GEG66Ulfs ygonRkJ8harrmhfwlagUzCPFSo2xUiXKnB/9NYktDjEu3tcubPS+pniuZEzSwvH72nFiyK RJp+Gxe1S8hIDl4b0x/CuFLIAER1P1Fdh2ujrHMTtrspfgK40DyIDc6aTjH+i0xeOz8hf4 AkqZNleGd5IZD5IPlCWaGletOmFt1NQBXBnx2CdOItgmNde6fEcYO0Hwt32kTHNoNHrAMA Z+efiOdTMcDXSkzhR4YULBj4yGSQ6NSRkbs849mLJ/1eqZQG+DiLTwjzQsf5oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMS2ks4TAjIM5hDICj6ulTdRKiTwKHZJjM/g3OI4siY=; b=gN3/dZsRaNtlw7ExdbPEqUSOalQClgQIBQfLlXa348MAvP0YC3lVCsw3Xblo4aFYJoJw8J WINa/D0ehbDUlMXHPq3xr3GYJw20KcTlU4jRpx2d4agkUft2A1QcQfvMKoYThKEq7pLKRe 0JqJ3nL6yTX5vSqv+n10AkJtWqUP4uWZzr3fZRsC498/2SECzBkxKGacl6EOT+NIHVIAJD 2cZPksOoUhTTfeMaK7M0X+HJ+AMeEDizYnu12sMnVsUlpwwzh3pXXsEyTczgMVISqgTlj8 51poxzf6pfUP054In9Xf6v+vezcHgZaKdqazvR+cLKdxo7jU40Sz6hInsfp8rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699024; a=rsa-sha256; cv=none; b=uTu7fQbcrNjgV4j7MnqVvgQ202m9gnB3HYgalOcoWUmRRUMmSvL/6MJ0cvRKvzTy9OQZhn lpcqjWH03ZPHOmPKj9n1sdXsuxooSFpMd8CSqkY+uW3pKSJwLd/ym7K0ol/Nx3uZoZDXhm nq+pyt/Gyf5AR00xWwM+Hz351ttu5LRrrw73DEc6klJ3dcsodK+klnDs6MDtionePRA/mi y5judHtUNT3mVLlHGe62gJ50AT+d0GZNk1wSK84osDksejIcHMWcpKrtAON44GdQriEOYx F3BZXbHPrP0nVUEI0VQSyW6R77oD+AN2TClGRbC0Wr0zBYHxHWuI+M89Eb997Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKxD01x8ztBx; Mon, 30 Sep 2024 12:23:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNhvm071206; Mon, 30 Sep 2024 12:23:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNhil071203; Mon, 30 Sep 2024 12:23:43 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:43 GMT Message-Id: <202409301223.48UCNhil071203@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: a707b81ccb31 - main - tests: Add a buf_ring 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a707b81ccb31e621f2e0325de150d730ed717419 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a707b81ccb31e621f2e0325de150d730ed717419 commit a707b81ccb31e621f2e0325de150d730ed717419 Author: Andrew Turner AuthorDate: 2024-09-27 15:13:25 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:23 +0000 tests: Add a buf_ring test Add a simple test for sys/buf_ring.h. This enqueues and dequeues items in the buf_ring to ensure the simple operations are correct. There are no checks for multiple threads operating on buf_ring_enqueue or buf_ring_dequeue_mc as they can be probabilistic and depend on the architecture memory model. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46147 --- tests/sys/sys/Makefile | 1 + tests/sys/sys/buf_ring_test.c | 126 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) diff --git a/tests/sys/sys/Makefile b/tests/sys/sys/Makefile index 8d9cd552d9d2..40060911856f 100644 --- a/tests/sys/sys/Makefile +++ b/tests/sys/sys/Makefile @@ -5,6 +5,7 @@ TESTSDIR= ${TESTSBASE}/sys/sys ATF_TESTS_C= arb_test \ bitset_test \ bitstring_test \ + buf_ring_test \ qmath_test \ rb_test \ splay_test \ diff --git a/tests/sys/sys/buf_ring_test.c b/tests/sys/sys/buf_ring_test.c new file mode 100644 index 000000000000..5ee1b1cc094b --- /dev/null +++ b/tests/sys/sys/buf_ring_test.c @@ -0,0 +1,126 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Arm Ltd + */ + +#include + +#include +#include + +#include + +#include + +static void critical_enter(void); +static void critical_exit(void); + +#include + +static void +critical_enter(void) +{ +} + +static void +critical_exit(void) +{ +} + +static void * +buf_ring_dequeue_peek(struct buf_ring *br) +{ + void *val; + + val = buf_ring_peek(br); + if (val != NULL) + buf_ring_advance_sc(br); + return (val); +} + +static void * +buf_ring_dequeue_peek_clear_sc(struct buf_ring *br) +{ + void *val; + + val = buf_ring_peek_clear_sc(br); + if (val != NULL) + buf_ring_advance_sc(br); + return (val); +} + +#define MC_SC_TEST(dequeue_func) \ +ATF_TC_WITHOUT_HEAD(dequeue_func); \ +ATF_TC_BODY(dequeue_func, tc) \ +{ \ + struct buf_ring *br; \ + \ + br = buf_ring_alloc(4); \ + ATF_REQUIRE_MSG(br != NULL, "buf_ring_alloc returned NULL"); \ + \ + ATF_REQUIRE(dequeue_func(br) == NULL); \ + ATF_REQUIRE(buf_ring_count(br) == 0); \ + ATF_REQUIRE(!buf_ring_full(br)); \ + ATF_REQUIRE(buf_ring_empty(br)); \ + \ + /* Try filling the buf_ring */ \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)1) == 0); \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)2) == 0); \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)3) == 0); \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)4) == ENOBUFS); \ + \ + ATF_REQUIRE(buf_ring_count(br) == 3); \ + ATF_REQUIRE(buf_ring_full(br)); \ + ATF_REQUIRE(!buf_ring_empty(br)); \ + \ + /* Partially empty it */ \ + ATF_REQUIRE(dequeue_func(br) == (void *)1); \ + ATF_REQUIRE(dequeue_func(br) == (void *)2); \ + \ + ATF_REQUIRE(buf_ring_count(br) == 1); \ + ATF_REQUIRE(!buf_ring_full(br)); \ + ATF_REQUIRE(!buf_ring_empty(br)); \ + \ + /* Add more items */ \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)5) == 0); \ + ATF_REQUIRE(buf_ring_count(br) == 2); \ + \ + /* Finish emptying it */ \ + ATF_REQUIRE(dequeue_func(br) == (void *)3); \ + ATF_REQUIRE(dequeue_func(br) == (void *)5); \ + ATF_REQUIRE(dequeue_func(br) == NULL); \ + \ + ATF_REQUIRE(buf_ring_count(br) == 0); \ + ATF_REQUIRE(!buf_ring_full(br)); \ + ATF_REQUIRE(buf_ring_empty(br)); \ + \ + for (uintptr_t i = 0; i < 8; i++) { \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)(i + 100)) == 0); \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)(i + 200)) == 0); \ + ATF_REQUIRE(buf_ring_enqueue(br, (void *)(i + 300)) == 0); \ + ATF_REQUIRE(buf_ring_count(br) == 3); \ + ATF_REQUIRE(dequeue_func(br) == (void *)(i + 100)); \ + ATF_REQUIRE(dequeue_func(br) == (void *)(i + 200)); \ + ATF_REQUIRE(dequeue_func(br) == (void *)(i + 300)); \ + \ + ATF_REQUIRE(!buf_ring_full(br)); \ + ATF_REQUIRE(buf_ring_empty(br)); \ + } \ + \ + buf_ring_free(br); \ +} + +MC_SC_TEST(buf_ring_dequeue_sc) +MC_SC_TEST(buf_ring_dequeue_mc) +MC_SC_TEST(buf_ring_dequeue_peek) +MC_SC_TEST(buf_ring_dequeue_peek_clear_sc) + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, buf_ring_dequeue_sc); + ATF_TP_ADD_TC(tp, buf_ring_dequeue_mc); + ATF_TP_ADD_TC(tp, buf_ring_dequeue_peek); + ATF_TP_ADD_TC(tp, buf_ring_dequeue_peek_clear_sc); + return (atf_no_error()); +} From nobody Mon Sep 30 12:23:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxF2DZcz5YD7P; Mon, 30 Sep 2024 12:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKxF1Q9Yz4Lw2; Mon, 30 Sep 2024 12:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xRIDa2cBiev/qLK0YWVB6ywFoYCkp1MS64opzDSnj0o=; b=qCz5oc6r4719bt8iPKT8gSf7mq1up+lk9VR/ARaCHmprRUb71if+IvAUnltVMr81Yp9pPT eBsxesFiJIjW5wWDNpQIWgzc9mExzbaLqyd3DkqWmG2rslJPYe77KeTHk/SC+P8+DBK0Cs fXp8k/2CSZ06YzqNHsAUcNOByUjIpgqQTmE53fZOSFJH3bfOfzDcfugLQMn6RYVjtBV1T/ wmrnlDYLpTggqltN/7cntY2B4ab4GkZkmc/MdqCDbFjtU83sfTCh0nyIuV6CaOLPXdgiSs O72dcqaz7iWRGkEQ/NLnUULPVl3xwQlqNtSd0mqpPNcVNHuAuQ+CRR+fZTOBSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xRIDa2cBiev/qLK0YWVB6ywFoYCkp1MS64opzDSnj0o=; b=FcfalCgAlQOQBpteCTjKvIhI8XxPi038g5UJ3d1dH2a0dSpc2ryuCTjk7oQaXBMztxJcZw bETTbCvLyl5z9pIXCkDR04yziwW4ubvzvMolPNZnIiqgaJ1nlJ7o588dEtLpaOpw3i2yHz UbfdLrkJRsSsNBDab3fJcelS9qGcdCP08It6o9mnlHACapDIpZ4vLggTiBYgYiRnwCkRTn QvOa85mDBQ48IoQHLaIaXRHVVDftEn4UBUt2L94fMv+ZSNumim4/LuQjuaCG5/ceVFZse1 +h7KfhnhFNvOnl7ZasBv42BbEESLjxtiwg1kSNNILTbbP16y8RF1EY5j2Hen6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699025; a=rsa-sha256; cv=none; b=yrTEyOFIh5vWB+kEKMvmJGACBKxUTBGcEWuD/Bvs0Y/9Za1Q+IG7o16Tc3YqS+75Ujl9jD e7YnmFMef7li6XI20renhnPOZqoJFKuvTOjZamFSI0dNXPnKAER6LyW0f4sM1Ff2iYf2bt 8paXIIHdPtapg6fBWwmRgDq+xYcQEcw/YLbZNzukbkA+hpT1dh6k7v5SggG6Lktr4mJslH PZw4aOqT8bdjYJHp6rVQJkTZWZiInzurUbjWzxdOx26IkMHJwr4kVnuw2BYJzfzNXFlkQD PI5OWkVc0EHOxEODordrzliPwZnuY5VOHSDv9IfIZ6yb5uybquN7guvXFSJ8iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKxF0jwPztBy; Mon, 30 Sep 2024 12:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNiXC071249; Mon, 30 Sep 2024 12:23:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNis9071246; Mon, 30 Sep 2024 12:23:44 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:44 GMT Message-Id: <202409301223.48UCNis9071246@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: e189296153a2 - main - tests: Add buf_ring overflow checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e189296153a232e6066af7e4ddab0430d3b6677d Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e189296153a232e6066af7e4ddab0430d3b6677d commit e189296153a232e6066af7e4ddab0430d3b6677d Author: Andrew Turner AuthorDate: 2024-09-27 15:13:53 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:24 +0000 tests: Add buf_ring overflow checks Check enqueue works correctly when the offsets overflow Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46156 --- tests/sys/sys/buf_ring_test.c | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/tests/sys/sys/buf_ring_test.c b/tests/sys/sys/buf_ring_test.c index 5ee1b1cc094b..611fb23788cc 100644 --- a/tests/sys/sys/buf_ring_test.c +++ b/tests/sys/sys/buf_ring_test.c @@ -10,6 +10,7 @@ #include #include +#include #include @@ -116,11 +117,64 @@ MC_SC_TEST(buf_ring_dequeue_mc) MC_SC_TEST(buf_ring_dequeue_peek) MC_SC_TEST(buf_ring_dequeue_peek_clear_sc) +ATF_TC_WITHOUT_HEAD(overflow); +ATF_TC_BODY(overflow, tc) +{ + struct buf_ring *br; + + br = buf_ring_alloc(4); + ATF_REQUIRE_MSG(br != NULL, "buf_ring_alloc returned NULL"); + + br->br_prod_head = br->br_cons_head = br->br_prod_tail = + br->br_cons_tail = UINT32_MAX - 1; + ATF_REQUIRE(buf_ring_count(br) == 0); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(buf_ring_empty(br)); + + ATF_REQUIRE(buf_ring_enqueue(br, (void *)1) == 0); + ATF_REQUIRE(buf_ring_count(br) == 1); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(!buf_ring_empty(br)); + + ATF_REQUIRE(buf_ring_enqueue(br, (void *)2) == 0); + ATF_REQUIRE(buf_ring_count(br) == 2); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(!buf_ring_empty(br)); + + ATF_REQUIRE(buf_ring_enqueue(br, (void *)3) == 0); + ATF_REQUIRE(buf_ring_count(br) == 3); + ATF_REQUIRE(buf_ring_full(br)); + ATF_REQUIRE(!buf_ring_empty(br)); + + ATF_REQUIRE(br->br_prod_head == 1); + ATF_REQUIRE(br->br_prod_tail == 1); + ATF_REQUIRE(br->br_cons_head == UINT32_MAX - 1); + ATF_REQUIRE(br->br_cons_tail == UINT32_MAX - 1); + + ATF_REQUIRE(buf_ring_dequeue_sc(br) == (void *)1); + ATF_REQUIRE(buf_ring_count(br) == 2); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(!buf_ring_empty(br)); + + ATF_REQUIRE(buf_ring_dequeue_sc(br) == (void *)2); + ATF_REQUIRE(buf_ring_count(br) == 1); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(!buf_ring_empty(br)); + + ATF_REQUIRE(buf_ring_dequeue_sc(br) == (void *)3); + ATF_REQUIRE(buf_ring_count(br) == 0); + ATF_REQUIRE(!buf_ring_full(br)); + ATF_REQUIRE(buf_ring_empty(br)); + + buf_ring_free(br); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, buf_ring_dequeue_sc); ATF_TP_ADD_TC(tp, buf_ring_dequeue_mc); ATF_TP_ADD_TC(tp, buf_ring_dequeue_peek); ATF_TP_ADD_TC(tp, buf_ring_dequeue_peek_clear_sc); + ATF_TP_ADD_TC(tp, overflow); return (atf_no_error()); } From nobody Mon Sep 30 12:23:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxG647zz5YDHg; Mon, 30 Sep 2024 12:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKxG2DdLz4LYb; Mon, 30 Sep 2024 12:23:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bEPkZnzjz52nZcxwn3JdrdIUTYppHUK19qUX90Jc7PM=; b=U5WMU8Zu0qwXTtafbpFqRDLdT3bKG+EdvyamCaYy7A8BjoE6vL8QT/c7CQCnwMzOFRovxz 4mU5pbXeqW1wYv4VLT9QKiYFO7kJg0sAcR/NI5g7T5eN+zGtZU/YNB16GSqGbV5vGasWKO 5ho/Q/MAqrcogEL9/62jwpAVrnkmVKsU0pFtn9OXnejxU3nxZNzm/SP6VVIO2vhiWv5uwk DhgiwndajBTJwYyEKyc9eQgZuZZMtHyILkrzpUhIUdPfYiqhll1Bfak+sSCfJ5uKm4M0ae ckGyTHl40XAyEcpt5yAUrq211JL9jV/Z0LwMPD3nkIRM+Tkdi5QC8mpuQPdO+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bEPkZnzjz52nZcxwn3JdrdIUTYppHUK19qUX90Jc7PM=; b=vdvnER9xg3vsVCElLRnE1vUVA2vgFdVsHmcKkwp68PS2MCDXCDC0PlLuKqMwykO3O47oFQ 8sMRwwIYMUiVXwNRztvuGwRr/gMCE900OH/ltaxL3tt5zn3k6ZwViIjV9zz3OBNJtZvUlw FdQAhzJldfjWsM+V5FwAt1jVWUZDwS2eJUgLrwoqPgZk/E5s4OCSc2dN8NbTsAXdK3Ai2s skcJw3DXw435/OOD3mX2iq3LGx5wLn/O1LsY0CmJsjPlQfAG1VmHEKaqfmFRuwpmA1oZZ9 X90ugNPp6Ucx5YEkCuNrC9ICRbyhNNi1TyhQzRve0Yi5uxSCmoK9o5u/TZIrRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699026; a=rsa-sha256; cv=none; b=XLTSnhb8JzDIsdI6Yj7F5wsL8Gh0LJ1BbGLeA28d9uVtlQot5GnErz52pDYZfK2yklfrJJ k59+ByJMxR287lBpzStmHpkr2wbiLt5fDekaZR/gtNjAV6sXgoMhX0iyV9rNpPTZKxjxYC s7oSHRU9qcdrr749ZxI9aHNJFCTCeCONJzwbnYPWd64GCV7X0VV9hypFaMZakNNevKCL9z oODXgg6reHjTgmGcaezmfoh0imS2OXTIk9pst+qpmDr3HOE0KkSHeylAjAEyBC/UMa03dn 0mHpCcNTKmOnrAKqhY9m2x68+OXxteft/OzD4BJbTcMEFdR4XJcFxids5fOeMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKxG1qv0zsxw; Mon, 30 Sep 2024 12:23:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNkrx071292; Mon, 30 Sep 2024 12:23:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNkkK071289; Mon, 30 Sep 2024 12:23:46 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:46 GMT Message-Id: <202409301223.48UCNkkK071289@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: 8e95079e1758 - main - buf_ring: Add a threaded 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8e95079e175854b84e57c521b34b4b52f7ae9cb1 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8e95079e175854b84e57c521b34b4b52f7ae9cb1 commit 8e95079e175854b84e57c521b34b4b52f7ae9cb1 Author: Andrew Turner AuthorDate: 2024-09-27 15:14:32 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:24 +0000 buf_ring: Add a threaded test Add a threaded test for buf_ring.h used to help find issues with it on architectures with a weak memory order. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46158 --- tools/test/buf_ring/Makefile | 7 + tools/test/buf_ring/buf_ring_test.c | 322 ++++++++++++++++++++++++++++++++++++ tools/test/buf_ring/run.sh | 16 ++ 3 files changed, 345 insertions(+) diff --git a/tools/test/buf_ring/Makefile b/tools/test/buf_ring/Makefile new file mode 100644 index 000000000000..a94a1044f04e --- /dev/null +++ b/tools/test/buf_ring/Makefile @@ -0,0 +1,7 @@ +PROG= buf_ring_test +WARNS= 6 +MAN= + +LDFLAGS+=-pthread + +.include diff --git a/tools/test/buf_ring/buf_ring_test.c b/tools/test/buf_ring/buf_ring_test.c new file mode 100644 index 000000000000..6f12aa9dfea1 --- /dev/null +++ b/tools/test/buf_ring/buf_ring_test.c @@ -0,0 +1,322 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Arm Ltd. + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* #define DEBUG_BUFRING */ + +#ifdef DEBUG_BUFRING +static void +panic(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + fprintf(stderr, "\n"); + exit(1); +} +#endif + +static void +critical_enter(void) +{ +} + +static void +critical_exit(void) +{ +} + +#include "../../../sys/sys/buf_ring.h" + +#define PROD_ITERATIONS 100000000 + +static enum { + CT_UNKNOWN, + CT_MC, + CT_MC_MT, + CT_SC, + CT_PEEK, + CT_PEEK_CLEAR, +} cons_type = CT_UNKNOWN; + +static unsigned int prod_count; + +static struct buf_ring *br; +static _Atomic bool prod_done = false; +static _Atomic int prod_done_count = 0; +static _Atomic size_t total_cons_count = 0; + +static uint64_t *mt_seen; + +static void * +producer(void *arg) +{ + int id, rv; + + id = (int)(uintptr_t)arg; + + for (size_t i = 0; i < PROD_ITERATIONS;) { + rv = buf_ring_enqueue(br, (void *)(i * prod_count + 1 + id)); + if (rv == 0) { + i++; + } + } + if ((unsigned int)atomic_fetch_add(&prod_done_count, 1) == + (prod_count - 1)) + atomic_store(&prod_done, true); + + return (NULL); +} + +static void * +consumer(void *arg) +{ + void *val; + size_t *max_vals; + size_t consume_count, curr; + int id; + + (void)arg; + + max_vals = calloc(prod_count, sizeof(*max_vals)); + assert(max_vals != NULL); + + /* Set the initial value to be the expected value */ + for (unsigned int i = 1; i < prod_count; i++) { + max_vals[i] = (int)(i - prod_count); + } + + consume_count = 0; + while (!atomic_load(&prod_done) || !buf_ring_empty(br)) { + switch(cons_type) { + case CT_MC: + case CT_MC_MT: + val = buf_ring_dequeue_mc(br); + break; + case CT_SC: + val = buf_ring_dequeue_sc(br); + break; + case CT_PEEK: + val = buf_ring_peek(br); + if (val != NULL) + buf_ring_advance_sc(br); + break; + case CT_PEEK_CLEAR: + val = buf_ring_peek_clear_sc(br); + if (val != NULL) + buf_ring_advance_sc(br); + break; + case CT_UNKNOWN: + __unreachable(); + } + if (val != NULL) { + consume_count++; + curr = (size_t)(uintptr_t)val; + id = curr % prod_count; + if (cons_type != CT_MC_MT) { + if (curr != max_vals[id] + prod_count) + printf("Incorrect val: %zu Expect: %zu " + "Difference: %zd\n", curr, + max_vals[id] + prod_count, + curr - max_vals[id] - prod_count); + } else { + size_t idx, bit; + + idx = ((size_t)(uintptr_t)val - 1) / + (sizeof(*mt_seen) * NBBY); + bit = ((size_t)(uintptr_t)val - 1) % + (sizeof(*mt_seen) * NBBY); + + if (atomic_testandset_64(&mt_seen[idx], bit)) + printf("Repeat ID: %zx\n", (size_t)(uintptr_t)val); + } + + max_vals[id] = (uintptr_t)val; + } + } + + atomic_fetch_add(&total_cons_count, consume_count); + + for (unsigned int i = 0; i < prod_count; i++) + printf("max[%d] = %zu\n", i, max_vals[i]); + + return (NULL); +} + +static struct option longopts[] = { + { "buf-size", required_argument, NULL, 'b' }, + { "cons-type", required_argument, NULL, 'c' }, + { "prod-count", required_argument, NULL, 'p' }, + { "help", no_argument, NULL, 'h' }, + { NULL, 0, NULL, 0 }, +}; + +static void +usage(void) +{ + errx(1, "test --cons-type= --prod-count= [--buf-size=]"); +} + +static uint32_t +next_power_of_2(uint32_t x) +{ + x--; + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + x++; + return (x); +} + +int +main(int argc, char *argv[]) +{ + pthread_t *prod; + pthread_t cons[2]; + const char *errstr; + uint32_t size; + int ch, ret; + + size = 0; + while ((ch = getopt_long(argc, argv, "bf:", longopts, NULL)) != -1) { + switch(ch) { + case 'b': + errstr = NULL; + size = strtonum(optarg, 1, UINT_MAX, &errstr); + if (errstr != NULL) { + errx(1, "--bufsize=%s: %s", optarg, errstr); + } + if (!powerof2(size)) { + errx(1, "--bufsize needs a power of 2 size"); + } + break; + case 'c': + if (strcmp(optarg, "mc") == 0) { + cons_type = CT_MC; + } else if (strcmp(optarg, "mc-mt") == 0) { + cons_type = CT_MC_MT; + } else if (strcmp(optarg, "sc") == 0) { + cons_type = CT_SC; + } else if (strcmp(optarg, "peek") == 0) { + cons_type = CT_PEEK; + } else if (strcmp(optarg, "peek-clear") == 0) { + cons_type = CT_PEEK_CLEAR; + } else { + errx(1, "Unknown --cons-type: %s", optarg); + } + break; + case 'p': + errstr = NULL; + prod_count = strtonum(optarg, 1, UINT_MAX, &errstr); + if (errstr != NULL) { + errx(1, "--prod-count=%s: %s", optarg, errstr); + } + break; + case 'h': + default: + usage(); + } + } + argc -= optind; + argv += optind; + + if (cons_type == CT_UNKNOWN) + errx(1, "No cons-type set"); + + if (prod_count == 0) + errx(1, "prod-count is not set"); + + if (size == 0) + size = next_power_of_2(prod_count); + + if (cons_type == CT_MC_MT) { + size_t entries; + + entries = (size_t)PROD_ITERATIONS * prod_count; + entries = roundup2(entries, sizeof(*mt_seen)); + mt_seen = calloc(entries / (sizeof(*mt_seen) * NBBY), + sizeof(*mt_seen)); + } + + br = buf_ring_alloc(size); + + ret = pthread_create(&cons[0], NULL, consumer, NULL); + assert(ret == 0); + if (cons_type == CT_MC_MT) { + ret = pthread_create(&cons[1], NULL, consumer, NULL); + assert(ret == 0); + } + + prod = calloc(prod_count, sizeof(*prod)); + assert(prod != NULL); + for (unsigned i = 0; i < prod_count; i++) { + ret = pthread_create(&prod[i], NULL, producer, + (void *)(uintptr_t)i); + assert(ret == 0); + } + + for (unsigned int i = 0; i < prod_count; i++) { + ret = pthread_join(prod[i], NULL); + assert(ret == 0); + } + ret = pthread_join(cons[0], NULL); + assert(ret == 0); + if (cons_type == CT_MC_MT) { + ret = pthread_join(cons[1], NULL); + assert(ret == 0); + } + + printf("Expected: %zu\n", (size_t)PROD_ITERATIONS * prod_count); + printf("Received: %zu\n", total_cons_count); + + buf_ring_free(br); + + return (0); +} diff --git a/tools/test/buf_ring/run.sh b/tools/test/buf_ring/run.sh new file mode 100755 index 000000000000..5bd033150362 --- /dev/null +++ b/tools/test/buf_ring/run.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +run() { + kind=$1 + echo Testing ${kind} + buf_ring_test --cons-type=${kind} --prod-count=2 --buf-size=4 +} + +OBJDIR=$(make -V.OBJDIR) +export PATH=${OBJDIR}:${PATH} + +run mc +run sc +run peek +run peek-clear +run mc-mt From nobody Mon Sep 30 12:23:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHKxH5PDdz5YD2m; Mon, 30 Sep 2024 12:23:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHKxH3CGYz4M1c; Mon, 30 Sep 2024 12:23:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xOxOWxdkcMnpNCI3LU/nw3z05OgaVhb+mBGoTue+QaU=; b=Buvj4NhHCTn4y7z/9ThSiELkj28ZTzdXopGpXql2f0jMtBsBXsXD+nnG54fPVBj6gsgEQR zpVgprJE3Eo52SjZYbQUs+C6CTcsAUms5CZz79CDp37bS9cCwDcN5xFwSPWMfIT61LE7CG wjhI6/XD/JKCUtwg2uNs8C3ZufPEO0ijLbWv9HiYwzPeP2Pmvuv0ebCP34ogmfKG6/gD7U PnpivNnCmhZ8YpG+o0z19AF5nsWo6qAPWv0dCPcTDkT0wYfv5VDTmwrH23KxQHc16/2weZ L1mPh3CQkD5TLeDhlEfTKi16bcjMe0zjEElJm6OBtN7CAtc2JaS9BcdmjLm9GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727699027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xOxOWxdkcMnpNCI3LU/nw3z05OgaVhb+mBGoTue+QaU=; b=ZqCrpSSGfB2X4jccGtdIUFIE+S3MnenzEzwE0I48WMWwtN19h1ZLSOREPEuMdMpQtTVzZz 52GpzhmmfWW1/IqwnQRhRbd0p6pSMQYNjhXHJKsyT3F6EbVDRrSkuO7sSq6xSoGC14H7ej Qiijc6qqgUUF3Teq7FmXLYDZDvNrjFCanOSlGkelah3yKreE/6cbi4lLxccxb0fmQkVoAf pSggIiP1a1NNkTjkehcPxYM+zPOvKTBquzLmZEGZM/JrXhhad6p5jkoI4G9Uh8nyEtmD96 dKpQCEVTUxVIVYSKpW46GoJLRrsc3vg2Y0+yRN/mWj8EE9G+zm3tb1WIX59s0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727699027; a=rsa-sha256; cv=none; b=sMgG/IaUExHs7T8lRMD1RcZXMM7VdVe1KbMUmLPHYZGZaK82SEF3SQRCVnc7uFovKcK7FX 9CJcg2r9WqQ5Dv2D8CD+ub2j6KcbwgUzpeE3369aJwp16/03LlyX8fq6p/29fFjUoSiu7O hsLPFRgfXtIYf3BcdJYhKK//r+l3J1VRKTghcZDdLlGh/m1AI9Z97hI0h+jo7Webv5+bL+ WDSRJNn5K9zLOt/luLZlpFw+AqTlkZ901IZ0VVZe2rI8zW/S1O2bopElqHoeZTtid/2xdS JCdAsFOc0bMzQQv3szcsnxuCCQFoq6oHdv2D6Tb2BrjDD8R2VOg8sJolT5b/UQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHKxH2qKzzsZr; Mon, 30 Sep 2024 12:23:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UCNlq6071340; Mon, 30 Sep 2024 12:23:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UCNlhK071337; Mon, 30 Sep 2024 12:23:47 GMT (envelope-from git) Date: Mon, 30 Sep 2024 12:23:47 GMT Message-Id: <202409301223.48UCNlhK071337@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: 90cd9c203eb5 - main - buf_ring: Use atomic accesses for head/tail values List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 90cd9c203eb536581e19a6fdfe43e6dedb22089f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=90cd9c203eb536581e19a6fdfe43e6dedb22089f commit 90cd9c203eb536581e19a6fdfe43e6dedb22089f Author: Andrew Turner AuthorDate: 2024-09-27 15:15:32 +0000 Commit: Andrew Turner CommitDate: 2024-09-30 12:04:24 +0000 buf_ring: Use atomic accesses for head/tail values Use explicit atomic load/store operations for all producer and consumer head and tail accesses. This allows us to remove the volatile annotation from these variables. Reviewed by: alc, imp, kib, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46380 --- sys/sys/buf_ring.h | 59 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/sys/sys/buf_ring.h b/sys/sys/buf_ring.h index c99cf81d8b6d..9a4bfa9fb549 100644 --- a/sys/sys/buf_ring.h +++ b/sys/sys/buf_ring.h @@ -51,13 +51,13 @@ * */ struct buf_ring { - volatile uint32_t br_prod_head; - volatile uint32_t br_prod_tail; + uint32_t br_prod_head; + uint32_t br_prod_tail; int br_prod_size; int br_prod_mask; uint64_t br_drops; - volatile uint32_t br_cons_head __aligned(CACHE_LINE_SIZE); - volatile uint32_t br_cons_tail; + uint32_t br_cons_head __aligned(CACHE_LINE_SIZE); + uint32_t br_cons_tail; int br_cons_size; int br_cons_mask; #if defined(DEBUG_BUFRING) && defined(_KERNEL) @@ -83,10 +83,12 @@ buf_ring_enqueue(struct buf_ring *br, void *buf) * via drbr_peek(), and then re-added via drbr_putback() and * trigger a spurious panic. */ - for (uint32_t i = br->br_cons_head; i != br->br_prod_head; i++) + for (uint32_t i = atomic_load_32(&br->br_cons_head); + i != atomic_load_32(&br->br_prod_head); i++) if (br->br_ring[i & mask] == buf) panic("buf=%p already enqueue at %d prod=%d cons=%d", - buf, i, br->br_prod_tail, br->br_cons_tail); + buf, i, atomic_load_32(&br->br_prod_tail), + atomic_load_32(&br->br_cons_tail)); #endif critical_enter(); do { @@ -106,8 +108,8 @@ buf_ring_enqueue(struct buf_ring *br, void *buf) if ((int32_t)(cons_tail + br->br_prod_size - prod_next) < 1) { rmb(); - if (prod_head == br->br_prod_head && - cons_tail == br->br_cons_tail) { + if (prod_head == atomic_load_32(&br->br_prod_head) && + cons_tail == atomic_load_32(&br->br_cons_tail)) { br->br_drops++; critical_exit(); return (ENOBUFS); @@ -127,7 +129,7 @@ buf_ring_enqueue(struct buf_ring *br, void *buf) * that preceded us, we need to wait for them * to complete */ - while (br->br_prod_tail != prod_head) + while (atomic_load_32(&br->br_prod_tail) != prod_head) cpu_spinwait(); atomic_store_rel_32(&br->br_prod_tail, prod_next); critical_exit(); @@ -173,7 +175,7 @@ buf_ring_dequeue_mc(struct buf_ring *br) * that preceded us, we need to wait for them * to complete */ - while (br->br_cons_tail != cons_head) + while (atomic_load_32(&br->br_cons_tail) != cons_head) cpu_spinwait(); atomic_store_rel_32(&br->br_cons_tail, cons_next); @@ -195,7 +197,7 @@ buf_ring_dequeue_sc(struct buf_ring *br) void *buf; mask = br->br_cons_mask; - cons_head = br->br_cons_head; + cons_head = atomic_load_32(&br->br_cons_head); prod_tail = atomic_load_acq_32(&br->br_prod_tail); cons_next = cons_head + 1; @@ -204,7 +206,7 @@ buf_ring_dequeue_sc(struct buf_ring *br) return (NULL); cons_idx = cons_head & mask; - br->br_cons_head = cons_next; + atomic_store_32(&br->br_cons_head, cons_next); buf = br->br_ring[cons_idx]; #ifdef DEBUG_BUFRING @@ -213,9 +215,9 @@ buf_ring_dequeue_sc(struct buf_ring *br) if (!mtx_owned(br->br_lock)) panic("lock not held on single consumer dequeue"); #endif - if (br->br_cons_tail != cons_head) + if (atomic_load_32(&br->br_cons_tail) != cons_head) panic("inconsistent list cons_tail=%d cons_head=%d", - br->br_cons_tail, cons_head); + atomic_load_32(&br->br_cons_tail), cons_head); #endif atomic_store_rel_32(&br->br_cons_tail, cons_next); return (buf); @@ -235,13 +237,13 @@ buf_ring_advance_sc(struct buf_ring *br) mask = br->br_cons_mask; #endif - cons_head = br->br_cons_head; - prod_tail = br->br_prod_tail; + cons_head = atomic_load_32(&br->br_cons_head); + prod_tail = atomic_load_32(&br->br_prod_tail); cons_next = cons_head + 1; if (cons_head == prod_tail) return; - br->br_cons_head = cons_next; + atomic_store_32(&br->br_cons_head, cons_next); #ifdef DEBUG_BUFRING br->br_ring[cons_head & mask] = NULL; #endif @@ -267,12 +269,13 @@ buf_ring_advance_sc(struct buf_ring *br) static __inline void buf_ring_putback_sc(struct buf_ring *br, void *new) { - uint32_t mask; + uint32_t cons_idx, mask; mask = br->br_cons_mask; - KASSERT((br->br_cons_head & mask) != (br->br_prod_tail & mask), + cons_idx = atomic_load_32(&br->br_cons_head) & mask; + KASSERT(cons_idx != (atomic_load_32(&br->br_prod_tail) & mask), ("Buf-Ring has none in putback")) ; - br->br_ring[br->br_cons_head & mask] = new; + br->br_ring[cons_idx] = new; } /* @@ -291,7 +294,7 @@ buf_ring_peek(struct buf_ring *br) #endif mask = br->br_cons_mask; prod_tail = atomic_load_acq_32(&br->br_prod_tail); - cons_head = br->br_cons_head; + cons_head = atomic_load_32(&br->br_cons_head); if (cons_head == prod_tail) return (NULL); @@ -312,7 +315,7 @@ buf_ring_peek_clear_sc(struct buf_ring *br) mask = br->br_cons_mask; prod_tail = atomic_load_acq_32(&br->br_prod_tail); - cons_head = br->br_cons_head; + cons_head = atomic_load_32(&br->br_cons_head); if (cons_head == prod_tail) return (NULL); @@ -332,22 +335,26 @@ static __inline int buf_ring_full(struct buf_ring *br) { - return (br->br_prod_head == br->br_cons_tail + br->br_cons_size - 1); + return (atomic_load_32(&br->br_prod_head) == + atomic_load_32(&br->br_cons_tail) + br->br_cons_size - 1); } static __inline int buf_ring_empty(struct buf_ring *br) { - return (br->br_cons_head == br->br_prod_tail); + return (atomic_load_32(&br->br_cons_head) == + atomic_load_32(&br->br_prod_tail)); } static __inline int buf_ring_count(struct buf_ring *br) { + uint32_t cons_tail, prod_tail; - return ((br->br_prod_size + br->br_prod_tail - br->br_cons_tail) - & br->br_prod_mask); + cons_tail = atomic_load_32(&br->br_cons_tail); + prod_tail = atomic_load_32(&br->br_prod_tail); + return ((br->br_prod_size + prod_tail - cons_tail) & br->br_prod_mask); } #ifdef _KERNEL From nobody Mon Sep 30 14:22:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHNZm6HmRz5X9mt; Mon, 30 Sep 2024 14:22:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHNZm4J9Hz4RKL; Mon, 30 Sep 2024 14:22:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727706176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C3Hvnq6L8uHm6LLjNJbjvZTiKHsottqxGl0pCHrHBMY=; b=FVqD1l6m2Qp5R/OmCKofyn9bDV/Rk9bFQ8DOXWgDDR6z1c2uJB4YhnzqscKT0CjmT0vTjm 7nDoKziLIs1yvbUicKO4SeNZvQuKI7RiDPeLjyk+IssghORz1ftmQlYmIiInewR8koaoPv SSGVMenTCPpJewpcROzgJ5O7aAGU1+h12rmpNEA5PcrF5dThXVulivuKyybVZKvjHdLUs6 /FD+dWqZFC5LvRXzffYVKJDk3lmnYyteVNRxxcmJSul6FhdaJggoxeX2UvdbMpJoojd3F6 sxYBqT3RIYLJmevvcl+oHlref2ZybpIa5bPets0qYGS2x4PHch7NXoJ1+AgWwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727706176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C3Hvnq6L8uHm6LLjNJbjvZTiKHsottqxGl0pCHrHBMY=; b=aUySjtw27aI8NmSOaLMlHEXcy+Yd60m3jGc2OdYCFhgl1+LVogPwb82qtC78MduJONGG3h oXgBizolbcO8KhEYJSCLG+kXa4dZ52jRJuMscqAZDexHVeYf+eXk1imK/5bDFPSqquF4XC iNh36mLwjRzRLsNqPVz6tkTVXLjh7np6Y4ApXRylQvEUnXfmXAYYuvXNftSasxACadhXvK ZFQSJx6uqd40OlRH5ebbSuzvHqpGa2/EiRj7viWUTFUINEO4KCCT+3qpKH9ZeZncURD0ZS 9GfpF0xBgBaTWYYBLRR8NhVYuWpSuGhEEa6FZ5ktt6clZHwvtMR7c5iyh+dCuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727706176; a=rsa-sha256; cv=none; b=St0Bqq0CESt4qmTXqiOJ0raeP1nwmgvtqEIZHW57J9MdlM9VBaNfVticfIMy1aKn7BSm9b caO/rv3qjGSxYnf1rKza+xqm665YRI74CNoNZ7ByC2bW5Bug68kQpLgNO3KILKQ5PexT0u sv2Kz/sDB7G8hFPbhJESbYUgaQAP5A0+OmtjyWGbBL3P/bIAS+qhWPuqRudazVyGHx0mea uiwLV1cH0nXSSLHKYelu6+21e+XFWOeL9XhnT9tfz99+29aE/sXgzasVFh8hrpMMl7dxoy ZyadygyqJJaYJ2giduIpUMk9CqOsq9+kzpgHPbS4o+jGq7G8xxmYTZCmNIQXpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHNZm3vSXzxB3; Mon, 30 Sep 2024 14:22:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UEMu3u005511; Mon, 30 Sep 2024 14:22:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UEMuHU005508; Mon, 30 Sep 2024 14:22:56 GMT (envelope-from git) Date: Mon, 30 Sep 2024 14:22:56 GMT Message-Id: <202409301422.48UEMuHU005508@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: 030c387f5d74 - main - tzsetup: correct timezone symlink target List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 030c387f5d74a66d0d5950e3450d6da24237fb2e Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=030c387f5d74a66d0d5950e3450d6da24237fb2e commit 030c387f5d74a66d0d5950e3450d6da24237fb2e Author: Ed Maste AuthorDate: 2024-09-21 11:13:27 +0000 Commit: Ed Maste CommitDate: 2024-09-30 14:22:34 +0000 tzsetup: correct timezone symlink target In chroot mode tzsetup prepended the chroot path to the symlink target, which is not correct. Use the same path for the symlink regardless of chroot mode. PR: 281332 Reported by: scf, Herbert J. Skuhra Reviewed by: olce Fixes: 5e16809c953f ("tzsetup: symlink /etc/localtime instead of co...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46725 --- usr.sbin/tzsetup/tzsetup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 617de4efb765..914eeb145a09 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -877,19 +877,19 @@ main(int argc, char **argv) else strlcpy(path_zonetab, dztpath, sizeof(path_zonetab)); strcpy(path_iso3166, _PATH_ISO3166); - strcpy(path_zoneinfo, _PATH_ZONEINFO); strcpy(path_localtime, _PATH_LOCALTIME); strcpy(path_db, _PATH_DB); strcpy(path_wall_cmos_clock, _PATH_WALL_CMOS_CLOCK); } else { sprintf(path_zonetab, "%s/%s", chrootenv, _PATH_ZONETAB); sprintf(path_iso3166, "%s/%s", chrootenv, _PATH_ISO3166); - sprintf(path_zoneinfo, "%s/%s", chrootenv, _PATH_ZONEINFO); sprintf(path_localtime, "%s/%s", chrootenv, _PATH_LOCALTIME); sprintf(path_db, "%s/%s", chrootenv, _PATH_DB); sprintf(path_wall_cmos_clock, "%s/%s", chrootenv, _PATH_WALL_CMOS_CLOCK); } + /* Symlink target is the same regardless of chroot */ + strcpy(path_zoneinfo, _PATH_ZONEINFO); /* Override the user-supplied umask. */ (void)umask(S_IWGRP | S_IWOTH); From nobody Mon Sep 30 15:53:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHQZk1Y38z5XHXL; Mon, 30 Sep 2024 15:53:02 +0000 (UTC) (envelope-from brooks@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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHQZk12H1z4ZpR; Mon, 30 Sep 2024 15:53:02 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727711582; 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=RzfaYgC32uB7Ls0sANtwQ6kcNIs4a+BeDMGeu3+ALpc=; b=Xc/bM0vWMfZ9cKyc6XozeZJV9a+kqBIsZ4/j9DwF5BxXmMvGoDylmte99WAxGOAaszhtXc PQAEFmSE3zEJyv7xPndnVMTkskUQoZz5SMMhnBZp98p+5gGMN9bd8nfdVKa9hkj/moK0sQ 7qbtUopbPoI/+nfc/D79N09uKUcnSUnGQjdOy3ztrA5/z0HQrTy/PttjZ0VCj8fWS1J93k zr4a8npy5Ov1WidDZB/vWDZVrS/viND8+xbM3XeM0+64HGUj8eoEE3MXm+a61jLx1y5A2s /fELZew/6jAKy2IFHrdrXvfjSRySsf3rL7wALHLKHjk1dGai/hyXE9j3YL32IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727711582; 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=RzfaYgC32uB7Ls0sANtwQ6kcNIs4a+BeDMGeu3+ALpc=; b=ksQtcntZRAW0BuW+dYA/+0Y9kMTspWBzw9DinneMztSrqK2GaukblowOV69wBY9FMvAJDX JVy2xZNk054rIiF9pEZ+VD4vTLmjArExC5gJa7ntCZLciKYC+CIwxRyiTShTLId1Kula7k N094NICQCUR6MJcT+C01h7RyqKeOa75jP7FaHZzs8h3KDoCVjUin9YvsJd7AAJZ3OcSild u4uhOipslKmDkLbEhnhlqXccoifMVnmd9+CnKjS3lkM0OIsE00cOjzPiXC3b+sNWfU00kL gYL8bBldZPthnC73uUy14+Wft0PMw9pdx+efPFVexlP3XUhSjOMquznNB8yPug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727711582; a=rsa-sha256; cv=none; b=cRyio/17l93fY+sKhN3qC2NjlgQSq+gKHTkQ2uh3czBnLYuuB7/b0m2OSQDNaYs75GEGXC KWh9qJoZADNshKnuxBCXwBLVPxu5JFKpGeE4afyMlZaThihmHumiAKNzSu/pCPZbAI35dy l8sLAbvj5TOknsf6Hbs9VGjfB05a7vWwvUtnhIO87/L1o2aIG4/tWXt2WRX6gN4wilgyns ybdUgPaIBShsXbdrksiHKCbnImC5hFhU+X+L4c1n7VgYx2maHM3h6cG53M5OMQpXD7/kIn Sy8FGWO9kNsQcTXUk2ilI9u5wCAPGYQPQnSMXx+2yN4ze/J757L0EIE9xB12Nw== 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) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4XHQZk0MwTzNrs; Mon, 30 Sep 2024 15:53:02 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 5101D3C019B; Mon, 30 Sep 2024 15:53:01 +0000 (UTC) Date: Mon, 30 Sep 2024 15:53:01 +0000 From: Brooks Davis To: Antoine Brodin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 1235d276b78a - main - lib{c,sys}: stop exposing errno symbol Message-ID: References: <202409271933.48RJX0dH066668@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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Sep 30, 2024 at 08:33:18AM +0200, Antoine Brodin wrote: > On Fri, Sep 27, 2024 at 9:33???PM Brooks Davis wrote: > > > > The branch main has been updated by brooks: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=1235d276b78a769bded01d51c9bf3cdc480db9fb > > > > commit 1235d276b78a769bded01d51c9bf3cdc480db9fb > > Author: Brooks Davis > > AuthorDate: 2024-09-27 19:27:46 +0000 > > Commit: Brooks Davis > > CommitDate: 2024-09-27 19:27:46 +0000 > > > > lib{c,sys}: stop exposing errno symbol > > > > Officially since C11 (and in reality FreeBSD since 3.0 with commit > > 1b46cb523df3) errno has been defined to be a macro. Rename the symbol > > to __libsys_errno and move it to FBSDprivate_1.0 and confine it entierly > > to libsys for use by libthr. Add a FBSD_1.0 compat symbol for existing > > binaries that were incorrectly linked to the errno symbol during > > libc.so.7's lifetime. > > > > This deliberately breaks linking software that directly links to errno. > > Such software is broken and will fail in surprising ways if it becomes > > threaded (e.g., if it triggers loading of a pam or nss module that > > uses threads.) > > > > Reviewed by: kib > > Differential Revision: https://reviews.freebsd.org/D46780 > > --- > > lib/libsys/Makefile | 2 ++ > > lib/libsys/Symbol.map | 1 + > > lib/libsys/Symbol.sys.map | 1 - > > lib/libsys/__error.c | 10 +++++----- > > lib/libthr/sys/thr_error.c | 5 ++--- > > lib/libthr/thread/thr_rtld.c | 7 +++---- > > 6 files changed, 13 insertions(+), 13 deletions(-) > > Hello, > > This breaks some ports: Thank you for the list (that's more than I expected). I'll work on updates. The fix is to replace extern int errno; with #include -- Brooks > > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/cdb-0.75.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/checkpassword-0.90.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/clockspeed-0.62_6.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/copytape-1.0_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/daemontools-0.76_19.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/dot-forward-0.71_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/faces-1.7.7_13.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/fastforward-0.51_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/gkermit-1.0_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/ja-edict-19990714_6.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/ja-mh-6.8.4.j3.05_7.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/mess822-0.58_3.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/mpeg_encode-1.5b.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/pbasic-2.1_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/qlogtools-3.1_4.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/qmail-contrib-0.1_3.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/qmail-dk-0.54_2.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/qmail-rblchk-2.4.1_2.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/qmailanalog-0.70_4.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/queue-fix-1.4_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/serialmail-0.75_4.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/sliderule-1.0_11.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/socket-1.2_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/viz-1.1.1_2.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/xml-format-0.2_1.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/xspread-3.1.1c_5.log > https://pkg-status.freebsd.org/gohan05/data/maini386PR281667-default-foo/2024-09-27_21h05m12s/logs/errors/xtrojka-1.2.3_4.log > > Cheers, > > Antoine > From nobody Mon Sep 30 17:56:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHTJm4F9sz5XQXD; Mon, 30 Sep 2024 17:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHTJm3d06z4nFT; Mon, 30 Sep 2024 17:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727718968; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/MGS9W+viEjTEB34dNppqh6wI57/pZZTFrvbnzP5tS0=; b=tEZS63RWweHl08/h7PJWpVdFuIkSP/tZaxy6Ruec5ZTtFDtR5fBeqdumkdXGPPoRLmNNLp IXVrnQ0+7mf/YFv/jYp5wr6L+Nt/FBCH/LpiW+vTY5o2QU46IZVh2oQWuoY+MiRuI45b+5 TIiWoyemsMIlP/lS/RyN7JuZxL0vPNpXFq4hx/mjx9Lwb0Ys1VzKE6ewdbkp5Baq3IboNv kDZ2LBCiqgOXLk6y17pJYyvMDLuyI5v5lk4EWEfr0gbPcdWxonQUOFb3yW1q12QJ7wQ2Au hVlgnwlCPJvpbAJ9XcCuZHN//a1q0tdKtBoHWfRdRM6tEP73TNXDktmAttQ/xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727718968; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/MGS9W+viEjTEB34dNppqh6wI57/pZZTFrvbnzP5tS0=; b=wk7OGsNAAIHTCLr54AD/1Swvepn8C/PJohe+uyCHACSgkVwkS584GKPzeGJV8t4VRPhOtj u937f3zRtucmqJCFrVYvTMI1NLbFfUA/wyg8yw8Av744GrCfUzng0wZXoO4d5z5gwpJ+Cy Rnxl8ThrFe7LrshuT2r9ggPPu8j859Hg47J4BLXG3xCdTd7ZGVX2Wotd/fmZXZ8ZVfMJII HHxVYlnX13sIQ7HfBNObvMmwYctBimWlaLMGcYNTF23WlEhzjJI3YKUXAmEPi9K8loVl8T Fss7sdwHlnt/EjcWe4cjSmkb4jzzu1DIrhAOlStXwtMVX7cV2uhPYDWS+gVMfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727718968; a=rsa-sha256; cv=none; b=mDdwuzRm0BDvpc59ped28bveI6X59QsFz2WWmo/EATro/hSEqfWMCh6f/WSKp7E8RQNWiI XjTzrPoGkOsOS6oTRUD/EBZkAmopO2rgI5JW+bmazujMPhVF4nB00gCKjdCv/ouKuQFkSu BRQUGojkCTXf0wzkMipvbmo11JY3m90Xt4CJrpiagBRYwqGYLq9YhdkgGue5wbJfs/Fvhw 1eeM/Hw/scZnd5b/u/y8reJTH+SgtaQ/SQpnfLUIKNeep5HUUWblTXKn0KsfdxLfkhiBM1 /OQbKIgo+A4qmfYqld9O0XIquEV6BmFrfivX7OE7ryXNgIVUrPFs/g8hko7H2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHTJm37Vxz130q; Mon, 30 Sep 2024 17:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UHu8ia064882; Mon, 30 Sep 2024 17:56:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UHu8q9064879; Mon, 30 Sep 2024 17:56:08 GMT (envelope-from git) Date: Mon, 30 Sep 2024 17:56:08 GMT Message-Id: <202409301756.48UHu8q9064879@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: a2e4f45480c2 - main - tcp: whitespace 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a2e4f45480c248036b002904ddbceef20ba7c523 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a2e4f45480c248036b002904ddbceef20ba7c523 commit a2e4f45480c248036b002904ddbceef20ba7c523 Author: Michael Tuexen AuthorDate: 2024-09-30 17:53:57 +0000 Commit: Michael Tuexen CommitDate: 2024-09-30 17:53:57 +0000 tcp: whitespace cleanup No functional change intended. Reported by: markj MFC after: 1 week Sponsored by: Netflix, Inc. --- sys/netinet/tcp_syncache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 19145446988e..04a964cf40cc 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -229,7 +229,7 @@ syncache_free(struct syncache *sc) { if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); if (sc->sc_cred) crfree(sc->sc_cred); #ifdef MAC @@ -1520,7 +1520,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, * forget it and use the new one we've been given. */ if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); sc->sc_ipopts = ipopts; } /* @@ -1605,7 +1605,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, __func__)); SCH_UNLOCK(sch); if (ipopts) - (void) m_free(ipopts); + (void)m_free(ipopts); goto done; } } From nobody Mon Sep 30 18:03:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHTSn6J4Jz5XRWB; Mon, 30 Sep 2024 18:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHTSn5fg9z4pKn; Mon, 30 Sep 2024 18:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727719385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2U8awywpzZnZcYzNyzM6jIBGCoJtjB7IAkPEJwNX4c=; b=FcdAzLi8V2+Sn0n2Ptqphmy8p0YXKN7DTGcQ0hrrdF5UDZRsbPnUziJRs57QVvReTQ/G28 9JJEo1mkxUM84ziHTXk624Mc3ZZEJppUW575kYyEbSKkqcjvlNZ5IelUUdWartPpwNiOFj yLI8bzDixmuSKFdgvj67h3A1r6YKvCm41umIYIyzxhMmuKzu66VdkJc46x9qhwJO5MiLQZ sPCvtFEhnPNeoKvoFhzFwFWLhM11tQ7FY81cQ2lWoWcIyw4JKGciGS+nMUppUXQhIOQRYD kd1PNprCkrFu84SgFoARkWq9Tf8TSOLJ9NSleETj4sN7UFTW6i41ZaH/5U5/Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727719385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2U8awywpzZnZcYzNyzM6jIBGCoJtjB7IAkPEJwNX4c=; b=u6PGdlzYw3pOIlocLldqGWvG6AbGqZrEXXBioy2wG9IT5msQRF4nDKWSFESvqm3P3fP+JH nSOoAowi4FID8/zY21jP4uSAG8a/P5iRyc60hgtuAsIeDVfdCjcrQTK1b19djYClivcxcm DjG0JY6IoGsSyjwvlajuWwh7x03wk+0nvS+nA10tfeIoaOK105QeXNjDGrPoKUJ6vMBzSP mdl2CGGsVITve76ejs34pAixfiCb2hjrDdVd7XCIeLuWSH/KQDWtCABDGb+enzbUU3fOYh iQvF7iG0CURqIbFlV9+nbtyhrDMw9WyDCTSSQxykueaYbRVX3dmgDvXnvSIQUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727719385; a=rsa-sha256; cv=none; b=Zgh0uwfQejZitrkhL3wHGd+XASNZWO2azJh0Bp0YRTLH6mBsmw5Y7YORGUiGhLx9FZDknF T5JVsfcujKCyZc7RW5Bp71Q9r8Xav87L2e1dvFH8k66zMhZ53dcJ+/1l3q69stxAtiBZe1 AtRvbUgGJIEpba3a5BAWIUY/2Mfm58jXmscw17qiUlj/iLAIbgL6ej/bZd0wqcJ5mW1xFA 9R020fGEU3jHtMacmOPK5JCUgtI0baUC9LQ0zuZLRY1cTTdJ7xekAvqHuaxBwDc9tFRio4 wuywZYJWu0FQAgxKmqKZvl7sg+qPZsvY+pLFyE1MMni58ARjvpsGsEe+mexWyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHTSn5FdSz13mh; Mon, 30 Sep 2024 18:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UI35eF082492; Mon, 30 Sep 2024 18:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UI35ii082489; Mon, 30 Sep 2024 18:03:05 GMT (envelope-from git) Date: Mon, 30 Sep 2024 18:03:05 GMT Message-Id: <202409301803.48UI35ii082489@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: 01eb635d1295 - main - tcp: improve mbuf handling when processing SYN segments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 01eb635d12953e24ee5fae69692c28e4aab4f0f6 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=01eb635d12953e24ee5fae69692c28e4aab4f0f6 commit 01eb635d12953e24ee5fae69692c28e4aab4f0f6 Author: Michael Tuexen AuthorDate: 2024-09-30 18:00:04 +0000 Commit: Michael Tuexen CommitDate: 2024-09-30 18:00:04 +0000 tcp: improve mbuf handling when processing SYN segments When the sysctl-variable net.inet.ip.accept_sourceroute is non-zero, an mbuf would be leaked when processing a SYN-segment containing an IPv4 strict or loose source routing option, when the on-stack syncache entry is used or there is an error related to processing TCP MD5 options. Fix this by freeing the mbuf whenever an error occurred or the on-stack syncache entry is used. Reviewed by: markj, rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46839 --- sys/netinet/tcp_syncache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 04a964cf40cc..cb175d07c4d2 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1604,8 +1604,6 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, ("%s: bucket unexpectedly unlocked", __func__)); SCH_UNLOCK(sch); - if (ipopts) - (void)m_free(ipopts); goto done; } } @@ -1775,6 +1773,8 @@ tfo_expanded: #ifdef MAC mac_syncache_destroy(&maclabel); #endif + if (ipopts) + (void)m_free(ipopts); } return (rv); } From nobody Mon Sep 30 18:57:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHVhL6PBlz5XW0V; Mon, 30 Sep 2024 18:58:10 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from mail.bsd4all.net (mail.bsd4all.net [94.130.200.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail.bsd4all.net", Issuer "E5" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHVhL43rgz40W4; Mon, 30 Sep 2024 18:58:10 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; none Date: Mon, 30 Sep 2024 20:57:24 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gojira.at; s=mail202005; t=1727722683; bh=h1vmoDHvBUVzHzb6Y8U0mMSsR69ye8WZ9xjzQbtXy+M=; h=Date:Message-ID:From:To:Cc:Subject:MIME-Version:Content-Type; b=dNHSAHN3Nm8nxzHP+9Y3lSsunokQZRX6sUKQLvEm5KKFX/d+afo52t43oMRzZ6Xrc bPJK2sQiIQSB4/U/9EARmqx9+ZYEzYZCHORefdfQRrD/xwM1BCARKpHz7DLYTvLZw6 tTYl+K1fsD1cOxih8kCbb3NoEzi3C9guXCqLlg//+Jc95EZnUXcBfu6jhprA2NGa1D I9VgUAxqyo3FjRGEZMS+HRafjYK8ccE4dsIxL5+tncXbcOyj6A0gzMsPd3DJ0xnYcK /HUhWA4ocNvZAnx6JUXxBUgjR7J3I0WQCL+HhYAntJoSaapygvfX4dKlKsoYFm5D5d ebWWa+Oj3nyRQ== Message-ID: <87wmit2cmj.wl-herbert@gojira.at> From: "Herbert J. Skuhra" To: Kyle Evans Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: e7a629c851d7 - main - libmd, kern, stand: consolidate md5 implementations (NFC) In-Reply-To: <202409300336.48U3a4jV066962@gitrepo.freebsd.org> References: <202409300336.48U3a4jV066962@gitrepo.freebsd.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/31.0 Mule/6.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII 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:24940, ipnet:94.130.0.0/16, country:DE] X-Rspamd-Queue-Id: 4XHVhL43rgz40W4 X-Spamd-Bar: ---- On Mon, 30 Sep 2024 05:36:04 +0200, Kyle Evans wrote: > > The branch main has been updated by kevans: > > URL: https://cgit.FreeBSD.org/src/commit/?id=e7a629c851d747772cc138efcb0418809ecdea55 > > commit e7a629c851d747772cc138efcb0418809ecdea55 > Author: Kyle Evans > AuthorDate: 2022-03-08 15:39:52 +0000 > Commit: Kyle Evans > CommitDate: 2024-09-30 03:34:18 +0000 > > libmd, kern, stand: consolidate md5 implementations (NFC) > > Reduce the number of md5c.c between the three of these from two to one > by just reaching into the kernel build for both userland builds. The > precedent for this already exists for sha2 in both cases. > > _libmd_ symbol privatization bits have been moved to sys/md5.h and > md5.h remains to #include for compatibility. > > This stops exporting MD5Pad() in the process because the kernel stopped > exporting it in 502a35d60f4c. soversion is bumped accordingly. > > This also renames the libc version of stack_protector.c; it previously > only worked by coincidence because .PATH ordering worked out such that > we got the right one, but this is not the case anymore. Remove the > landmine. > > PR: 280784 (exp-run) > Reviewed by: allanjude, delphij > Differential Revision: https://reviews.freebsd.org/D34497 > --- > ObsoleteFiles.inc | 3 + > lib/libc/Makefile | 2 +- > lib/libc/md/Makefile.inc | 2 +- > lib/libc/secure/Makefile.inc | 2 +- > .../{stack_protector.c => libc_stack_protector.c} | 0 > lib/libcrypt/Makefile | 2 +- > lib/libmd/Makefile | 3 +- > lib/libmd/md5.h | 40 --- > lib/libmd/md5c.c | 344 --------------------- > lib/libssp/Makefile | 2 +- > stand/libsa/Makefile | 4 +- > sys/kern/md5c.c | 23 +- > sys/sys/md5.h | 42 +++ > 13 files changed, 72 insertions(+), 397 deletions(-) Don't run make delete-old-libs. :-) Does this change break building ports-mgmt/pkg (on arm64)? --- pkg --- cc -o pkg add.o alias.o annotate.o audit.o autoremove.o check.o clean.o config.o create.o delete.o event.o fetch.o globals.o info.o install.o key.o lock.o main.o plugins.o query.o register.o repo.o rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o update.o updating.o upgrade.o utils.o version.o which.o -fstack-protector-strong -Wl,-Bstatic -Wl,-whole-archive -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat -Wl,-no-whole-archive -Wl,-Bdynamic -lelf -ljail -lssl -lcrypto -larchive -lbz2 -lz -llzma -lprivatezstd -lm -pthread -lutil -lmd -Wl,--export-dynamic --- pkg-static --- cc -o pkg-static add.o alias.o annotate.o audit.o autoremove.o check.o clean.o config.o create.o delete.o event.o fetch.o globals.o info.o install.o key.o lock.o main.o plugins.o query.o register.o repo.o rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o update.o updating.o upgrade.o utils.o version.o which.o -static -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat -lelf -ljail -lssl -lcrypto -larchive -lbz2 -lz -llzma -lprivatezstd -lm -pthread -lutil -lmd ld: error: duplicate symbol: SHA256_Transform >>> defined at sha256.c >>> sha256.o:(SHA256_Transform) in archive /usr/lib/libcrypto.a >>> defined at sha256c.c >>> sha256c.o:(SHA256_Transform_resolver) in archive /usr/lib/libmd.a cc: error: linker command failed with exit code 1 (use -v to see invocation) *** [pkg-static] Error code 1 -- Herbert From nobody Mon Sep 30 19:11:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHW0F6hP1z5XWjV; Mon, 30 Sep 2024 19:11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHW0F4Yzsz427F; Mon, 30 Sep 2024 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727723517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lsR/jS4KkbQJb2EUP1fK9gQgguwMKNQjxHLMj6SZrEQ=; b=pTBAcJdiA30P3yD+pb78en6b7Uz67qFJqIDVVkJCx6wiO+hI40/QTeTLyDfq2lZTLmkSG+ vTkmR2ZKaUx1WH2gczn5+pkiF5xjDU67R3h417/PWDggKQ4GWujGLLqWzbL7ytr4kDGgFg UaZd9R1BZes3gmm+I2KL5esv94Jz6xfDFVHLM4lqa+/rsuInjRi1eI36sQ8xlmarZGC1yP BmWw23VzIDnlKH29rzPdOA+ZhgtbDVhPS6cjsw7y70ljuknIa2vakR48qCQMhTF5IGEg3v B6V4tWkeUXq37S6Lg94AkUlHdN+TiOG17AkQL6U1MF8nvOO2GFHKsj5tBzlthA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727723517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lsR/jS4KkbQJb2EUP1fK9gQgguwMKNQjxHLMj6SZrEQ=; b=jZ3vn/j6cuBfDb2OlRGmWbmlAxuVMo8Qu2SbA+hvhCczofwnWrrTyoThRibV2kqlxBedoi ZSSBH/kN9LQj4LiWflWNDoUx2DPKuIJ5nvPD5sWRxY2PQSGmgiB1LqCBC0bHWlZJugzJTL rI5GbYYqDxUieJRLR6n9fXFtEor+03TfKIzdtjs21aZvni/K2X5iLRINhmjkTsg5UsXYih FrqkSXgJrVuLdvmTWJ031cQU/Ta5sJQija/HKF0ME9jmrcn5pfIr8tf7WJAaZ3xZMskTVi lO+Zi5WmdY2LKs5fhu+yAAbDQ4/Syez4gE1HC/IvjGlAWWYbqVSBRauvJGxBKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727723517; a=rsa-sha256; cv=none; b=JQVolPClkxLV/jdJHWZOnhsiOH46vrgYgoWB8pIUI3VXCyFNZIkc6M0lqnSNKEgAoBrPzp 261l0QhE/1Wse0fQtAPO/GeHbH8fWXcoQNjpiUeAuEjzeEHYLwtgpDSsZWoDgj4uYNT20a 7Gm3aj3apc9h+nnl4kVHA1JRcekkGJXEqMUyI1jAN2xK0/rUa+E5c4Buq3yYiZFQMr2bpy R4EYcDeNQWY6FvWknDoRQI1UM+6B+qPs504AogwYWtrFjOI7vlHnaGSfR6yXnhOQUlC+Kj Hl4bTuJamSxHT9KqWDrc5RvokEIPgJT54Yl8altrmPQuah+j1Abrhy+EE4/WFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHW0F49fNz1552; Mon, 30 Sep 2024 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UJBvkJ001473; Mon, 30 Sep 2024 19:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UJBvAN001470; Mon, 30 Sep 2024 19:11:57 GMT (envelope-from git) Date: Mon, 30 Sep 2024 19:11:57 GMT Message-Id: <202409301911.48UJBvAN001470@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 57671d5ccc81 - main - tcp: further cleanup old options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 57671d5ccc8123a512b3e2f1dc2e69ff7aca828c Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=57671d5ccc8123a512b3e2f1dc2e69ff7aca828c commit 57671d5ccc8123a512b3e2f1dc2e69ff7aca828c Author: Gleb Smirnoff AuthorDate: 2024-09-30 19:11:37 +0000 Commit: Gleb Smirnoff CommitDate: 2024-09-30 19:11:37 +0000 tcp: further cleanup old options They all were experimental and some comments refer to internal Netflix versions. There is not reason to leak that into the header. Style unused options so that they have the available value aligned with really used values. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D46779 --- sys/netinet/tcp.h | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index 794bfc62eca5..613019a575e8 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -209,7 +209,7 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_CONGESTION 64 /* get/set congestion control algorithm */ #define TCP_CCALGOOPT 65 /* get/set cc algorithm specific options */ #define TCP_MAXUNACKTIME 68 /* maximum time without making progress (sec) */ - /* unused; was TCP_MAXPEAKRATE */ +/* unused 69 */ #define TCP_IDLE_REDUCE 70 /* Reduce cwnd on idle input */ #define TCP_REMOTE_UDP_ENCAPS_PORT 71 /* Enable TCP over UDP tunneling via the specified port */ #define TCP_DELACK 72 /* socket option for delayed ack */ @@ -231,53 +231,52 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) /* Options for Rack and BBR */ #define TCP_REUSPORT_LB_NUMA 1026 /* set listen socket numa domain */ #define TCP_RACK_MBUF_QUEUE 1050 /* Do we allow mbuf queuing if supported */ - /* unused; was TCP_RACK_PROP */ +/* unused 1051 */ #define TCP_RACK_TLP_REDUCE 1052 /* RACK TLP cwnd reduction (bool) */ - /* unused; was TCP_RACK_PACE_REDUCE */ +/* unused 1053 */ #define TCP_RACK_PACE_MAX_SEG 1054 /* Max TSO size we will send */ #define TCP_RACK_PACE_ALWAYS 1055 /* Use the always pace method */ - /* unused; was TCP_RACK_PROP_RATE */ +/* unused 1056 */ #define TCP_RACK_PRR_SENDALOT 1057 /* Allow PRR to send more than one seg */ #define TCP_RACK_MIN_TO 1058 /* Minimum time between rack t-o's in ms */ - /* unused; was TCP_RACK_EARLY_RECOV */ +/* unused 1059 */ #define TCP_RACK_EARLY_SEG 1060 /* If early recovery max segments */ #define TCP_RACK_REORD_THRESH 1061 /* RACK reorder threshold (shift amount) */ #define TCP_RACK_REORD_FADE 1062 /* Does reordering fade after ms time */ #define TCP_RACK_TLP_THRESH 1063 /* RACK TLP theshold i.e. srtt+(srtt/N) */ #define TCP_RACK_PKT_DELAY 1064 /* RACK added ms i.e. rack-rtt + reord + N */ - /* unused; was TCP_RACK_TLP_INC_VAR */ - /* unused */ +/* unused 1065 */ +/* unused 1066 */ #define TCP_BBR_IWINTSO 1067 /* Initial TSO window for BBRs first sends */ - /* unused; was TCP_BBR_RECFORCE */ +/* unused 1068 */ #define TCP_BBR_STARTUP_PG 1069 /* Startup pacing gain */ #define TCP_BBR_DRAIN_PG 1070 /* Drain pacing gain */ - /* unused; was TCP_BBR_RWND_IS_APP */ +/* unused 1071 */ #define TCP_BBR_PROBE_RTT_INT 1072 /* How long in useconds between probe-rtt */ - /* unused; was TCP_BBR_ONE_RETRAN */ +/* unused 1073 */ #define TCP_BBR_STARTUP_LOSS_EXIT 1074 /* Do we exit a loss during startup if not 20% incr */ - /* unused; was TCP_BBR_USE_LOWGAIN */ +/* unused 1075 */ #define TCP_BBR_TSLIMITS 1076 /* Do we use experimental Timestamp limiting for our algo */ -#define TCP_BBR_PACE_OH 1077 /* Reused in 4.2 for pacing overhead setting */ - /* unused; was TCP_BBR_HOLD_TARGET */ +#define TCP_BBR_PACE_OH 1077 /* pacing overhead setting */ +/* unused 1078 */ #define TCP_BBR_USEDEL_RATE 1079 /* Enable use of delivery rate for loss recovery */ #define TCP_BBR_MIN_RTO 1080 /* Min RTO in milliseconds */ #define TCP_BBR_MAX_RTO 1081 /* Max RTO in milliseconds */ - /* unused; was TCP_BBR_REC_OVER_HPTS */ +/* unused 1082 */ #define TCP_BBR_ALGORITHM 1083 /* What measurement algo does BBR use netflix=0, google=1 */ - /* unused; was TCP_BBR_DRAIN_INC_EXTRA */ - /* unused; was TCP_BBR_STARTUP_EXIT_EPOCH */ +/* unused 1084 */ +/* unused 1085 */ #define TCP_BBR_PACE_PER_SEC 1086 #define TCP_BBR_PACE_DEL_TAR 1087 #define TCP_BBR_PACE_SEG_MAX 1088 #define TCP_BBR_PACE_SEG_MIN 1089 #define TCP_BBR_PACE_CROSS 1090 - /* unused */ - /* unused; was TCP_RACK_IDLE_REDUCE_HIGH */ - /* unused; was TCP_RACK_MIN_PACE */ - /* unused; was TCP_RACK_GP_INCREASE */ +/* unused 1091 */ +/* unused 1092 */ +/* unused 1093 */ +/* unused 1094 */ #define TCP_RACK_TLP_USE 1095 -#define TCP_BBR_TMR_PACE_OH 1096 /* Recycled in 4.2 */ - /* unused; was TCP_BBR_EXTRA_GAIN */ +#define TCP_BBR_TMR_PACE_OH 1096 /* ??? */ #define TCP_RACK_DO_DETECTION 1097 /* Recycle of extra gain for rack, attack detection */ #define TCP_BBR_RACK_RTT_USE 1098 /* what RTT should we use 0, 1, or 2? */ #define TCP_BBR_RETRAN_WTSO 1099 @@ -318,7 +317,7 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_REC_ABC_VAL 1134 /* Do we use the ABC value for recovery or the override one from sysctl */ #define TCP_RACK_MEASURE_CNT 1135 /* How many measurements are required in GP pacing */ #define TCP_DEFER_OPTIONS 1136 /* Defer options until the proper number of measurements occur, does not defer TCP_RACK_MEASURE_CNT */ - /* unused; was TCP_FAST_RSM_HACK */ +/* unused 1137 */ #define TCP_RACK_PACING_BETA 1138 /* Changing the beta for pacing */ #define TCP_RACK_PACING_BETA_ECN 1139 /* Changing the beta for ecn with pacing */ #define TCP_RACK_TIMER_SLOP 1140 /* Set or get the timer slop used */ @@ -330,7 +329,7 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_RACK_PACING_DIVISOR 1146 /* Pacing divisor given to rate-limit code for burst sizing */ #define TCP_RACK_PACE_MIN_SEG 1147 /* Pacing min seg size rack will use */ #define TCP_RACK_DGP_IN_REC 1148 /* Do we use full DGP in recovery? */ - /* unused; was TCP_POLICER_DETECT */ +/* unused 1149 */ #define TCP_HYBRID_PACING 1150 /* Hybrid pacing enablement */ #define TCP_PACING_DND 1151 /* When pacing with rr_config=3 can sacks disturb us */ #define TCP_SS_EEXIT 1152 /* Do we do early exit from slowtart if no b/w growth */ @@ -340,7 +339,7 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_REC_IS_DYN 1156 /* Do we allow timely to change recovery multiplier? */ #define TCP_SIDECHAN_DIS 1157 /* Disable/enable the side-channel */ #define TCP_FILLCW_RATE_CAP 1158 /* Set a cap for DGP's fillcw */ - /* unused; was TCP_POLICER_MSS */ +/* unused 1159 */ #define TCP_STACK_SPEC_INFO 1160 /* Get stack specific information (if present) */ #define RACK_CSPR_IS_FCC 1161 #define TCP_GP_USE_LTBW 1162 /* how we use lt_bw 0=not, 1=min, 2=max */ From nobody Mon Sep 30 19:44:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHWk01WZWz5XZ2s; Mon, 30 Sep 2024 19:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHWk00nFQz47Zm; Mon, 30 Sep 2024 19:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727725480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nqAKdUVIBSII+S+hLXiGT01l/Pj/P547JZRXhjvL7Q=; b=WJpxMYkKGpolSzTwcQf+FlFpd7K7Ep5SAM2B7dUbOy+rgbabtcLxe6uQno/N4pb/OVrsBV dB314a35BF3tfYWzBTlPDs+8RGYRLkbB4FGp0t4vO1xkRgofMiSAFBHSTKO1SSOgmIaR0k Ym7rSM8JMHu7tTd1gvWKC3DIdpO/VFWW2OC5hVSP4i2iVE687b1MvxEGOtS6ncOuqtTSK8 ragLCNIKKl87/BPjOADXOaPDrW+Jo3Hpw5BFMnc5tOxLSiyGp866hzjd+hBeB2tQ5scPfG N0ldkXd3WmuKTmtmQoRwJeoHErOfoT0+os+pIn+PfH2jovN3MdJ0kQ1vkPvDZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727725480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nqAKdUVIBSII+S+hLXiGT01l/Pj/P547JZRXhjvL7Q=; b=elLdFo/ZGXSRz66Jc6RcLg8PlWG/jhRuGsjVPKiFFi4i7uUrxyrk4oUJvp9tUCjVr3n1Xg GdyHwA1mcbXH7KCNDUBfGg51wYzjl+XiEAf/+9jyd3I5s6kNi7pFIhxqC++bMzydbrRExk 8ZWkbCGm9b62qXHzWBrQYGq83vdAPdG1J4+kguUXUnjNKj5fXO0VMREKJ5vk+qijnzpX6O Of9cIGvtVMT1/jwirXfFfqNJXylBTyyPFz8IYRL40X/fVY6ptPdzC7plT6GKTMTpsjPVzt i5gu2+7PkaAGWjoxDMrT1/fp2fKB41kyzMu/i9tFLkUH0NI7Iv40IBXOwrdoHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727725480; a=rsa-sha256; cv=none; b=hsbQ02xHZZM2pcYrlCZEdvu2SUHVpHB2cYa2gfGh15SKfkddaXzJJa2aQiyRvfrVI6ls2j 1D34YuDJIidNxKvwl9cQOkHnPBU0mBjuc3uuIAKPkcyrTNJjLT2UDRUfJtI0G90ZN0UZvQ GSM3wNhJZ+dokW8k1jK3eLkQkyAYCHio5pU6HfZX8Dl3G7zrUIp0JsMzW2TCOuaEYbAH4I GpmeMTr6fV9y+btANwwN8MjCPsIZsjc508uRDpgj1d1Xt4K9z9KcfVKKOl07zeXYQb1sMD +MOFvZKkbCfnfUNHBomge+Ma65Yt8JYQJgevcjHcsTrhdaOJa2K1j7xVHhhvNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHWk00PDgz15pK; Mon, 30 Sep 2024 19:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UJidt9055222; Mon, 30 Sep 2024 19:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UJidGL055220; Mon, 30 Sep 2024 19:44:39 GMT (envelope-from git) Date: Mon, 30 Sep 2024 19:44:39 GMT Message-Id: <202409301944.48UJidGL055220@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: 4fa4693dcdd8 - main - btx: Align the PXE prompt with other options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4fa4693dcdd8176f1d12cce5f026eb2052036dfc Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4fa4693dcdd8176f1d12cce5f026eb2052036dfc commit 4fa4693dcdd8176f1d12cce5f026eb2052036dfc Author: Tatsuki Makino AuthorDate: 2024-09-30 19:41:42 +0000 Commit: John Baldwin CommitDate: 2024-09-30 19:41:42 +0000 btx: Align the PXE prompt with other options To fit within in the same space, drop the newline before the PXE prompt to make room for the additional space character. PR: 281494 --- stand/i386/boot0/boot0.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/i386/boot0/boot0.S b/stand/i386/boot0/boot0.S index 80c7702840c1..6c48e380a32b 100644 --- a/stand/i386/boot0/boot0.S +++ b/stand/i386/boot0/boot0.S @@ -581,7 +581,7 @@ intx13: # Prepare CHS parameters */ prompt: #ifdef PXE - .ascii "\nF6 PXE\r" + .ascii "F6 PXE\r" #endif .ascii "\nBoot:" item: .ascii " "; .byte ' '|0x80 From nobody Mon Sep 30 19:48:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHWpS3fChz5XZgx; Mon, 30 Sep 2024 19:48:32 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHWpS0hHRz49QR; Mon, 30 Sep 2024 19:48:32 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=citron; t=1727725703; x=1728392369; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: author:from:subject:date:to:cc:resent-author:resent-date:resent-from: resent-sender:resent-to:resent-cc:resent-reply-to:resent-message-id: in-reply-to:references:mime-version:content-type: content-transfer-encoding:content-disposition:content-id: content-description:message-id:mail-followup-to:openpgp:blahblahblah; bh=q/Lo0boy7KD4RMRwngtyZedl+5Nrj6GcRZeISm7zofA=; b=HESQGc3Dm2ZxgZuilUfOguQtYG8trVjliTDYxJo6tkq67Hd9smJihMpuC0jtnaE7BASl62PJ ZAy8+KvhDAsHnkYkRHcQpBcP8liYDfR3h0rKO5G6F9IPhLkTKWhejBWrJSVCYOO46FceBD0O8g WYvKVa6syTxACVJzfspeZdGe+p/3RBeD6HhXiGHmovzYoApJsnM5+VHLL9ya8vykzqEu3K+Ddi 76J5vBotBTadYDdiwo+CMh2wJcxnnrsUbq9eG8JrrkKkQCTmSP2doUtG0C1cO7rh6MyjxWbBJJ Xp0eKCIJo0BG/ho7FEO9icsSI+ZiykiTA2QRR9hd6CaJbb1w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=orange; t=1727725703; x=1728392369; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: author:from:subject:date:to:cc:resent-author:resent-date:resent-from: resent-sender:resent-to:resent-cc:resent-reply-to:resent-message-id: in-reply-to:references:mime-version:content-type: content-transfer-encoding:content-disposition:content-id: content-description:message-id:mail-followup-to:openpgp:blahblahblah; bh=q/Lo0boy7KD4RMRwngtyZedl+5Nrj6GcRZeISm7zofA=; b=kVHln+lk0aSOqSvOE7Z9wGkrdKHgOYK0/Od5lon9oPvlVWLCA+Wo7MtLpInK0/tGHv6GOD5D yIMrEvG2gtVVCQ== Date: Mon, 30 Sep 2024 21:48:22 +0200 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Kyle Evans Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c2caf3b3313f - main - flua: lposix: add more useful functions for general purpose scripts Message-ID: <20240930194822.k7nwRuRt@steffen%sdaoden.eu> In-Reply-To: <202409300353.48U3rZM7000710@gitrepo.freebsd.org> References: <202409300353.48U3rZM7000710@gitrepo.freebsd.org> Mail-Followup-To: Kyle Evans , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org User-Agent: s-nail v14.9.25-608-ge479530e8d OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-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:15987, ipnet:217.144.128.0/20, country:DE] X-Rspamd-Queue-Id: 4XHWpS0hHRz49QR X-Spamd-Bar: ---- List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org .. i have zero idea (and only look at time), but .. Kyle Evans wrote in <202409300353.48U3rZM7000710@gitrepo.freebsd.org>: |commit c2caf3b3313fe73bfc9b4b984c21da8d571f8798 |Author: Kyle Evans |AuthorDate: 2023-03-11 06:03:02 +0000 |Commit: Kyle Evans |CommitDate: 2024-09-30 03:52:20 +0000 | | flua: lposix: add more useful functions for general purpose scripts ... |+static int |+lua_read(lua_State *L) |+{ |+ char *buf; |+ ssize_t ret; |+ size_t sz; |+ int error, fd, narg; |+ |+ narg = lua_gettop(L); |+ luaL_argcheck(L, narg == 2, 1, |+ "read takes exactly two arguments (fd, size)"); |+ |+ fd = luaL_checkinteger(L, 1); |+ sz = luaL_checkinteger(L, 2); |+ |+ if (fd < 0) { |+ error = EBADF; |+ goto err; |+ } |+ |+ buf = malloc(sz); |+ if (buf == NULL) |+ goto err; |+ |+ /* |+ * For 0-byte reads, we'll still push the empty string and let the |+ * caller deal with EOF to match lposix semantics. |+ */ |+ ret = read(fd, buf, sz); |+ if (ret >= 0) |+ lua_pushlstring(L, buf, ret); |+ else if (ret < 0) |+ error = errno; /* Save to avoid clobber by free() */ |+ |+ free(buf); |+ if (error != 0) ^ uninit in ret>=0 case. ("Even clang should get it" (stupid me).) |+ goto err; |+ /* Just the string pushed. */ |+ return (1); |+err: ... --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From nobody Mon Sep 30 19:59:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHX3L4fw2z5XZyM; Mon, 30 Sep 2024 19:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHX3L4CXhz4DR6; Mon, 30 Sep 2024 19:59:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se627TDXf+L83fZiVNSr2uoxRn/XkwTEiMTbKLHmpOo=; b=KjJqIMQ4Y8KZ5QbSv6a/R/KQ0MqBlXNL7dhiLuVzIki18wEP7tviDTA6MACqk0jNJniC6b 3+bee6E77N0wLxDIZkTHoQO/ePtUPeCA6lViy427BHat2oWqKhD8HwJVK2KmORvaqep5rM ieExNX7sSF67GtmgIDo+kxTeWwMGkFiv95uWAG4X5DMYkNVpXTAxkIVc6lNeSnHcuGIjPN OU6I9LNj5wxOqqiTWt/qrXDKp/jdL8ryhyif0qxXpJnHTcespQNI6NaJtvepV3cEXC3N4b pd7kNaiSbk2sLpyD0O7EKEeSGL8yYkCVrpY5KH3nNFmBeUi96Qhf95kjOOfZXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se627TDXf+L83fZiVNSr2uoxRn/XkwTEiMTbKLHmpOo=; b=OvAkig+irvFqOgFkWtajnv+o1AE3Zv9fqBd1jGC0akSes6qLPk718PD6R/pwQFWFBVjh4o JeacWZFgudXTbQFgn5bK2gkVF5AdCOo+aCtTPZI5itntVSpc2HhIdFKXYNBcswdycQZ10f uNLJIHpt3Q6XG/9mi2nVOBa2BdmFcBqApW/VLwChjsUQOiTHwr8v2rng8Cp63YqyTSkOmB dEzeHjR5r1jp8pxe/8i3RASXrfVS1wN+2BHndEShqGRRnjlA0JGZylOGF0zpubMyOB1+Of E28ueCLwr/OIlnhGX48UfnILkUZY7gqhV/i0Lg/q1kepVB4bPfq9noIUoKlWOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727726382; a=rsa-sha256; cv=none; b=AkKxKZJdtFHw5JY4PEDXiRVfgcKkDLkmPQkxhvXam1baDHzaPTHnRVoEdVJvidVvINEBtN HlRlT5hl0tiZtoxVcN7O4XlNQ7PUtNjZt3X+SZIw9LTU7cmfqh9UQtn6nrR+95CJKUYlb9 PiYBzx2A+fGsGK76I7ZpQhUtcG6R7ZRmtubiBoIa7uyiUlrI+l5vwULRPQPuxHM0gtwiY1 JNFC/JFz5j8uOECtrnZEKuDfnqjMswovxL4MnbXbPAJ9YLi8D6wbF6Q87ENOhWun0u4/bc QHOkJj5n5B4zDksnQmOMDIEyYnfmTq+t50B/g/3qvwNhYiQ+Kcwle47Ep3rnag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHX3L3psFz16p2; Mon, 30 Sep 2024 19:59:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UJxgIx073187; Mon, 30 Sep 2024 19:59:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UJxgug073184; Mon, 30 Sep 2024 19:59:42 GMT (envelope-from git) Date: Mon, 30 Sep 2024 19:59:42 GMT Message-Id: <202409301959.48UJxgug073184@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: c02bc0aa0b22 - main - libmd: re-apply masking of _Transform names List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c02bc0aa0b22009e4bc209efae99c877167e1161 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c02bc0aa0b22009e4bc209efae99c877167e1161 commit c02bc0aa0b22009e4bc209efae99c877167e1161 Author: Kyle Evans AuthorDate: 2024-09-30 19:54:42 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 19:59:31 +0000 libmd: re-apply masking of _Transform names Visibility can get complicated when, e.g., ifuncs are involved. In particular, SHA256/SHA512 on aarch64 use ifuncs for their _Transform implementations, which then exposes global symbols of the same name that break things trying to statically link both libcrypto and libmd. Revert this part of the _Transform removal to fix the pkg-static build on aarch64. Fixes: 81de655acd2 ("libmd: stop exporting Transform() symbols") --- lib/libmd/ripemd.h | 3 +++ lib/libmd/sha.h | 3 +++ sys/crypto/sha2/sha256.h | 3 +++ sys/crypto/sha2/sha512.h | 3 +++ sys/crypto/sha2/sha512t.h | 6 ++++++ 5 files changed, 18 insertions(+) diff --git a/lib/libmd/ripemd.h b/lib/libmd/ripemd.h index 07293dad0e5f..252483be0a17 100644 --- a/lib/libmd/ripemd.h +++ b/lib/libmd/ripemd.h @@ -109,6 +109,9 @@ __BEGIN_DECLS #ifndef RIPEMD160_Data #define RIPEMD160_Data _libmd_RIPEMD160_Data #endif +#ifndef RIPEMD160_Transform +#define RIPEMD160_Transform _libmd_RIPEMD160_Transform +#endif #ifndef ripemd160_block #define ripemd160_block _libmd_ripemd160_block diff --git a/lib/libmd/sha.h b/lib/libmd/sha.h index cd4a899bee49..3d1cd8da3ae2 100644 --- a/lib/libmd/sha.h +++ b/lib/libmd/sha.h @@ -138,6 +138,9 @@ __BEGIN_DECLS #ifndef SHA1_Data #define SHA1_Data _libmd_SHA1_Data #endif +#ifndef SHA1_Transform +#define SHA1_Transform _libmd_SHA1_Transform +#endif #ifndef sha1_block #define sha1_block _libmd_sha1_block diff --git a/sys/crypto/sha2/sha256.h b/sys/crypto/sha2/sha256.h index 77237c466bd9..150f1b63b9c2 100644 --- a/sys/crypto/sha2/sha256.h +++ b/sys/crypto/sha2/sha256.h @@ -72,6 +72,9 @@ __BEGIN_DECLS #ifndef SHA256_Data #define SHA256_Data _libmd_SHA256_Data #endif +#ifndef SHA256_Transform +#define SHA256_Transform _libmd_SHA256_Transform +#endif void SHA256_Init(SHA256_CTX *); void SHA256_Update(SHA256_CTX *, const void *, size_t); diff --git a/sys/crypto/sha2/sha512.h b/sys/crypto/sha2/sha512.h index b78fde7dc22f..206b7e63dc34 100644 --- a/sys/crypto/sha2/sha512.h +++ b/sys/crypto/sha2/sha512.h @@ -71,6 +71,9 @@ __BEGIN_DECLS #ifndef SHA512_Data #define SHA512_Data _libmd_SHA512_Data #endif +#ifndef SHA512_Transform +#define SHA512_Transform _libmd_SHA512_Transform +#endif void SHA512_Init(SHA512_CTX *); void SHA512_Update(SHA512_CTX *, const void *, size_t); diff --git a/sys/crypto/sha2/sha512t.h b/sys/crypto/sha2/sha512t.h index dc8025e4a74f..26a6909cbbac 100644 --- a/sys/crypto/sha2/sha512t.h +++ b/sys/crypto/sha2/sha512t.h @@ -68,6 +68,9 @@ __BEGIN_DECLS #ifndef SHA512_224_Data #define SHA512_224_Data _libmd_SHA512_224_Data #endif +#ifndef SHA512_224_Transform +#define SHA512_224_Transform _libmd_SHA512_224_Transform +#endif #ifndef SHA512_256_Init #define SHA512_256_Init _libmd_SHA512_256_Init @@ -96,6 +99,9 @@ __BEGIN_DECLS #ifndef SHA512_256_Data #define SHA512_256_Data _libmd_SHA512_256_Data #endif +#ifndef SHA512_256_Transform +#define SHA512_256_Transform _libmd_SHA512_256_Transform +#endif void SHA512_224_Init(SHA512_CTX *); void SHA512_224_Update(SHA512_CTX *, const void *, size_t); From nobody Mon Sep 30 19:59:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHX3M5xrLz5Xb6n; Mon, 30 Sep 2024 19:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHX3M4yQRz4DNW; Mon, 30 Sep 2024 19:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pIFeXhzJhGdTIHGt1MUGWwe/OlOYN6tNjlh3DukpTak=; b=BnfghXkVRQ3Da6jb9jJ8H+jpgaZnUimZAultSpV1/q+phUdQjAfn2/oirYIVgr71hJk3QH jejRsdYWzzbv24J/yDYrVSTs98t9vfSIIgmBrJGtclC9LyJXnURXsDoReKw4xOZsWd2eKx BvdHcfu4iv/GX6i3Q3NwRzoOWY8iljXh4LFUZCw3xIElRKbV2exaMT+mY6LrWZ68io9zxV iXEyEBMQbiJvU9IPhhmx2upHDibTU5GUNvxVR/JQ1hX1V84nutB0VDDu66Wm1UtA6CfmJT Iq6QtDClGJvsY/F89ZPH93/IKrfHmbopHxx40SmTw10dT2L3tpKc9KDgQANmcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pIFeXhzJhGdTIHGt1MUGWwe/OlOYN6tNjlh3DukpTak=; b=ZXjXQCPgrdK4kLQdLbKws1Lwd5NCISM2d98QesuI187DOA4J4MYKCpYrmJmpasEzRqS3dK zZz9jhvAlDsydqoMXr57/YuEEBBvhtRZjBDoXQcIZnOnmm+AMwKQuzGP7lI+A10ZzvMy9T kiruIJqeaze4XJjsAa4gPn0BFJiuoUgR9pGbLJcCFfAyti2dfaEvPRHqvtm/JqUYrKbqKN MIXWpJTOVk8tkiIIBMGZKi5bO7vaY/xe7ZIyVwEzjo6ieHHY1FYmTwpMfYTORIUWWDgpJb 9mqOAucBHCACbfTxNW8nMBmb1fKw09fyPiMGuKHNUoCo0VCPPUPTqQ3puo8vSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727726383; a=rsa-sha256; cv=none; b=ln59xHNEnGO0kpo5OyQO5jSYNMuHGripqae4tZFlH/QNDnAObE6nqn7uQZ18EFR7acPKK9 ZZtj4aAVk9izXOwrJA1AI8vzvAPnTRsCduSBMdMd8AItpze1LQKk+YN2o1mbyo5q/5U/Td G4Vm14pMQlTILFXQBxkc13MMYR7aNEP5TCwB3tGKDZIOo1qHU0GagH1JAwsRSPt88jxtUP zar1HgA0G9PYk5oL8CJbFC3SNgvjwsvIfrI4FHI1XuvBcSOkWj91oACA0risQO+n130f6f 2JcD/77t/6oL/5HkUzZWVU58bq8P2TOUohWEWg28t1CxRyRwrMLQcStAi/8N6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHX3M4Z42z1643; Mon, 30 Sep 2024 19:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UJxh3G073242; Mon, 30 Sep 2024 19:59:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UJxhS3073239; Mon, 30 Sep 2024 19:59:43 GMT (envelope-from git) Date: Mon, 30 Sep 2024 19:59:43 GMT Message-Id: <202409301959.48UJxhS3073239@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: c4564a47c1ad - main - ObsoleteFiles: fix the libmd.so version bump 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c4564a47c1ad9ef4c93c2ea415f7dfb771741a99 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c4564a47c1ad9ef4c93c2ea415f7dfb771741a99 commit c4564a47c1ad9ef4c93c2ea415f7dfb771741a99 Author: Kyle Evans AuthorDate: 2024-09-30 19:57:40 +0000 Commit: Kyle Evans CommitDate: 2024-09-30 19:59:37 +0000 ObsoleteFiles: fix the libmd.so version bump order This changeset started two years ago, but the entry was not tweaked upon final commit to reflect reality. Fixes: e7a629c851d7 ("libmd, kern, stand: consolidate md5 [...]") --- ObsoleteFiles.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 9ecf5a8c3ecf..01f2609353cd 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20240930: libmd bumped to version 7 +OLD_LIBS+=lib/libmd.so.6 + # 20240914 libpcap upgrade from 1.10.4 to 1.10.5 OLD_FILES+=contrib/libpcap/pcap-haiku.cpp OLD_FILES+=contrib/libpcap/pcap-rpcap-int.h @@ -3230,9 +3233,6 @@ OLD_FILES+=usr/tests/usr.bin/uudecode/regress.153276.in OLD_DIRS+=usr/tests/usr.bin/uuencode OLD_DIRS+=usr/tests/usr.bin/uudecode -# 20220308: libmd bumped to version 7 -OLD_LIBS+=lib/libmd.so.6 - # 20220318: snd_ds1 and snd_maestro drivers removed OLD_FILES+=usr/share/man/man4/snd_ds1.4.gz OLD_FILES+=usr/share/man/man4/snd_maestro.4.gz From nobody Mon Sep 30 20:04:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHX973CPHz5XbMX; Mon, 30 Sep 2024 20:04:43 +0000 (UTC) (envelope-from fluffy@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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHX972gqXz4FDw; Mon, 30 Sep 2024 20:04:43 +0000 (UTC) (envelope-from fluffy@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726683; 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:autocrypt:autocrypt; bh=H69CKAdl9tNgCFDmMq4vEatgrerbqcAZtPpX4M6hG5w=; b=GoozPE0K32uHPe4EqarniM4GHEKuK5e3B0ChPE1q+YnqWQLd5h25wwdE0cxcyt7soOpXkd 1m1zAeGjKY7wVfALvc1SW3wHyz0cg+rN211N9nnxZvzHl3sukf3Nc3XRzgxva12P/p5htC nnJrz5X8566MzpL+/NqGHmIHlGYb9WPTn8M8X1gmV6NGb3qxqelJkEgpRclJFs9DtMIMnh YXu9wS91eZKEvAiXPHWLntC4/Jh4YVuEcYA/MP3xRf2VgpBVqPU6WEHmHgntRqP0R3+xGc Co1o55y04P3tpTLSOOxatapr+nJXmRRFwTlj1/W/uXDWt4EXbzyWxpOYkRpF4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727726683; 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:autocrypt:autocrypt; bh=H69CKAdl9tNgCFDmMq4vEatgrerbqcAZtPpX4M6hG5w=; b=BwSNAG+M5bSVmsNZdmgUKa7OKjBQazd0jbJSqu7SWA7QzbgfWJ6jwWnEjX8/CdihZTILW5 c2bHz4INthHo9MlvzP9g9Kk37IaNmIjf7QEAL50Koztx/7tlkquc3Hr1peA33wx8o2Jgpq AsjF7D+6hIMUmC7PTcuKqZsFnsUG5gE4B1vORSHB9VK2JfsC7qIUI6EVTfc3mSITbCbTk1 Z3mwpB+0hW9MpEh4whycxDCYwQNA5sMKc4PbLdZZ+Dmw6KJ8jHdd02g8F9F+uGezP2Zv3O wYP9LTZ5HV8OUNdqiUaQTRHkYHz8VPVIpZ9JYYe/zmYKkIdBfnaivUejK1bpZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727726683; a=rsa-sha256; cv=none; b=kD/XB5CBr4R566WnmP+2ZLrx1VX9AHB+m4Jtu/kBLsshEroVCVqauPHrqryAEpX97RsHKt KJjttZUHzcRDfvqSPsYrEd0P8YmeoHANb29LqrEkQY70cg04BUI11f/D1gwEF50S4eE6IX M57vxvhf8vzwXqvqc+/ibOVz9JCLScC6B18C2JlQ0F6ZcFGKIxpS68tgCdJsNcF2kUnx2u FY2hDxzNwg7e0g4LRwhpYxzqlZ63KyxtykrsUTukDfJB87f5Ao1rLyvL2d0hvHdyTskYe7 khQ96AGErq9lC+2NQn9qjXFBfATFuLP5ilKkiN3yIo+vw40gbd3mi19H9prkvA== Received: from [10.216.0.105] (unknown [188.243.165.67]) (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: fluffy) by smtp.freebsd.org (Postfix) with ESMTPSA id 4XHX962y84zTBr; Mon, 30 Sep 2024 20:04:42 +0000 (UTC) (envelope-from fluffy@FreeBSD.org) Message-ID: Date: Mon, 30 Sep 2024 23:04:39 +0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: e7a629c851d7 - main - libmd, kern, stand: consolidate md5 implementations (NFC) To: "Herbert J. Skuhra" , Kyle Evans Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202409300336.48U3a4jV066962@gitrepo.freebsd.org> <87wmit2cmj.wl-herbert@gojira.at> Content-Language: ru, en-GB, en-US From: Dima Panov Autocrypt: addr=fluffy@FreeBSD.org; keydata= xsFNBEp+xiUBEAD01RkOYcyzU/Fnam2FI7PPwYqW00SwVmfUHihvVniiaMwzaYzchb+mzSha NsqRgjIN/i59OBpnS25OXMLEpQP7jDJnY2xKyJN2H4qn1HPHkF9cYuqvqkm+r5459g+2ZoGY 9Sr1PA0XSzXJMSQ1nRK3cFfqlN/L2//P36U5VuOWXGZUTwr/n2B/N0HAsYsqDOdjofLg7x9z 8p8elqwJbT/O4ltg8JBVAnof+FzqefYW4CzqkHRjq/9ORiGYh14ST9ECsCaVpfdDUTor0wgp JqzCN1HsQcHqgdMmOqigWIgN7Eg4MRQU3LDCISrNJ/45zvcKUXR0RHOjnSuflYba74q58XhZ 4eCTqHeMHjA8st4IWRzy9l0V4RunnZxjOTb806jyIhdxcb2m8o5tXwsqjf0TQ7vYowDHrQ6g XlhPg4Jvvwf+BwlB2p+w7Cs/Y9QA0YHnIOIVZAwU1wv66YSI9IDL2AbnY2gQGx+dkHiC3S5L G8HcPrMcjayyThKKIi5KQsWa3snFeK5ky+cRpVEOPQfUXFOas++91v90Xe9j+lsmRofsyvuy gzoaZE2fud0kCsOgYEg+kiLPlQicNAx5IToOs8BrVFLcxmbPKuVBfbLdWsYLjXGzbXEmzV9f NDZ1r1uNmVema8YYCiNjUDZhxIfKt8nbp6cx8UgVLGRVDEfXeQARAQABzTdEaW1hIFBhbm92 IChGcmVlQlNELk9SRyBDb21taXR0ZXIpIDxmbHVmZnlARnJlZUJTRC5PUkc+wsF2BBMBAgAg BQJKfsYlAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ+4ugndU5jyk6dhAArHclTYjw VRjDnoRfO3Zfj9Ssab9Vrbo7DNFWeAqPE3OTCmiq9Q0fzRHzmhVyedYMm9qNA3i0J1De3KTn LanXOrBIqsmmZpSqmrp/xXdZngDLW5H6hpE0f2PeAPwxrb9uBQax8WMR7Z4STSHAP4GRjve3 0wNNS0MlawGllcs9VKRxG5PsDA8k3ACTSjdpQ76RWldORN4LA8M40yHRX377SGMzO+XsCeOw ad65GKyLrx+6Gnd3PMOjVCJCrqd04Jgqg9G0xKNImchwIZ5ulx9jAt+ixfNbY6hwslleqimr 2t5+MMqo6dRrvJ+BsR8NHt9vGi2Jy4+4smg05fR18fck0Sk4vCYyVvtvnOk3qZf0F8zJu06G cjWWC2ZbDPbmksWXFIMxoJbyVxK55xOqcFs0t12sR6gbVJb8Nb88WrQub3MgePyMF6R3Tkfa OqkjvQur1xC2AXESTxtJw1FkdGSb3UopNKgvSPHSLFW8B0LbyDxdYRTRWPGGEUhFP6tdXi5R vb1210ks2EQAqF4Cm3iRIhYgtZvQqQgMSiO9fVyeJ0U6dYGDtg2Boi+NtXKRdmtL7pRSnI3n fAbVJ05Hhd7PBnJeob6R08nHRo9DdAG7o8ToM+egUAuEsEvoRV+v4f6k3mShdxE7gG/anwVy eh3n6LGwg9KHDr1X2FODsLLxgUjOwU0ESn7GJQEQAMBTMHQgb0vcPMAiRvb357ihlh/YYA22 FXj4p3XTrDlBlRL0QCRq1I8XDeQmL3mG3s3NBtDXSefnNM06jZ3XCAfHIDBdxJJvQZZCXfvL p/JK7nnEuqoeqT6/oKs1MeZVdUnvh1nZhphs+Z6dl01GIE8YDpzT1JMD2f3G9PHChGi3Ddzq m3VdXt/87khYJkPbaf6EN5+vDthKgMjba8jwbQ+7IUPqkfnNFIZS6irZ2LYb79BLNI5JSl9l ReSfEX2d8ByQlLzuf0TS4voy3nWGeCyj6BIOMiRSxg+hZmJLYxhNkyK4GQVCt/rLT7dIfBQM syBbX0Qw2NOcfba9VgdPZBgdrawwB4/xF9SA3NB0J0lUjhjpH9iG8NxlpleEg8OSUApyFZEJ q2A/flns4kKzNH7AGYDOFORytDzA3qkgCJrZ7nzQSsdtZ2qbyAoze0tl+YrShJhOcmQBtFem omhWVeJ8T/Bw1KH8M1ihrENBTSzYzLvN18YjNP6P0Dh/7Zda5yYI8fNqd84K3Uq5xBiI0S6+ qxViw84z2tJj8TxiNqFAk7Tbeo2Ximtq7uQ9UnFRSK3jw96yi19KU9rQQZs0xUjN5gn/tF5l BZWKjwuZCkcOiI0EWHAR+ATAEsFNXcuoC9CAGK5HFW4nI4WtE3pv1KYvivlGtF1wzf0Qrhye RrmxABEBAAHCwV8EGAECAAkFAkp+xiUCGwwACgkQ+4ugndU5jymgKg//RvnI7zEDKv6nQUqK RyLawPTrCKCtQ2vSoWyTNgRB6byNS1w5wNSAMnqaESx2bdhauaxe167VEJYqgQy241yFslpC 6v/xlH25Ppos+Jg6AKaQG/JABHO6Co4tHtBbNmM+14HESxAodA4NJuEU19iIPjRhUKC8F8R9 xBmW1uLpPiljU9Km0P3EIKjAdtdZNeMLhwsbSHBwJROFrxFGiTzWNREWZoZpQxgSbHYhwYbx HEbJi1cybl9IQvSGHrysctZsxD04Jxh6ogaziiT8aV6ear6BNh008yRf61FvrinfG3USLR3i JO8aHap4QGCPjZ3cyT+DEq8/zVfDdeidTeNEhSgRKk856RcA+yAE79KYdKkvmDUiC8poAJ7F GEYHMB+g/1+LczCr2g9GYkiB/53boYfU9esYYlarxCgedCrwXv6T48FZ3xxoH3XJ2KV8K6M8 CUb04jj3kEeCwq+R6Bk2ZXrnMzyQmmn223X+Zp89B/gchH32JY8y3j7BICcoZmgMu62XNMgW I/hRgfi3JlVCne6XPj3/w00JYG7vo+eTJOflqYr3WRTPYh7DxzYtshZswHmmkZtwizUQUZzF 9dX2CM8nY7cKucEmtcnUpjGwXMOufa/DmCTlk8ggRZ0ukCUZOlIA4ILxp95sS2oqyucARv+p wMWvrqJ/LfbZexSsIjI= Organization: FreeBSD.org In-Reply-To: <87wmit2cmj.wl-herbert@gojira.at> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------5hKMGnTbw1rFV4IU0isGTs0x" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------5hKMGnTbw1rFV4IU0isGTs0x Content-Type: multipart/mixed; boundary="------------Vyxt5kh9qTx0u9QdlgzUWkVz"; protected-headers="v1" From: Dima Panov To: "Herbert J. Skuhra" , Kyle Evans Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: Subject: Re: git: e7a629c851d7 - main - libmd, kern, stand: consolidate md5 implementations (NFC) References: <202409300336.48U3a4jV066962@gitrepo.freebsd.org> <87wmit2cmj.wl-herbert@gojira.at> In-Reply-To: <87wmit2cmj.wl-herbert@gojira.at> --------------Vyxt5kh9qTx0u9QdlgzUWkVz Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGVsbG8hDQoNCk9uIDMwLjA5LjIwMjQgMjE6NTcsIEhlcmJlcnQgSi4gU2t1aHJhIHdyb3Rl Og0KPiBPbiBNb24sIDMwIFNlcCAyMDI0IDA1OjM2OjA0ICswMjAwLCBLeWxlIEV2YW5zIHdy b3RlOg0KPj4NCj4+IFRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5IGtldmFu czoNCj4+DQo+PiBVUkw6IGh0dHBzOi8vY2dpdC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9p ZD1lN2E2MjljODUxZDc0Nzc3MmNjMTM4ZWZjYjA0MTg4MDllY2RlYTU1DQo+Pg0KPj4gY29t bWl0IGU3YTYyOWM4NTFkNzQ3NzcyY2MxMzhlZmNiMDQxODgwOWVjZGVhNTUNCj4+IEF1dGhv cjogICAgIEt5bGUgRXZhbnMgPGtldmFuc0BGcmVlQlNELm9yZz4NCj4+IEF1dGhvckRhdGU6 IDIwMjItMDMtMDggMTU6Mzk6NTIgKzAwMDANCj4+IENvbW1pdDogICAgIEt5bGUgRXZhbnMg PGtldmFuc0BGcmVlQlNELm9yZz4NCj4+IENvbW1pdERhdGU6IDIwMjQtMDktMzAgMDM6MzQ6 MTggKzAwMDANCj4+DQo+PiAgICAgIGxpYm1kLCBrZXJuLCBzdGFuZDogY29uc29saWRhdGUg bWQ1IGltcGxlbWVudGF0aW9ucyAoTkZDKQ0KPj4gICAgICANCj4+ICAgICAgUmVkdWNlIHRo ZSBudW1iZXIgb2YgbWQ1Yy5jIGJldHdlZW4gdGhlIHRocmVlIG9mIHRoZXNlIGZyb20gdHdv IHRvIG9uZQ0KPj4gICAgICBieSBqdXN0IHJlYWNoaW5nIGludG8gdGhlIGtlcm5lbCBidWls ZCBmb3IgYm90aCB1c2VybGFuZCBidWlsZHMuICBUaGUNCj4+ICAgICAgcHJlY2VkZW50IGZv ciB0aGlzIGFscmVhZHkgZXhpc3RzIGZvciBzaGEyIGluIGJvdGggY2FzZXMuDQo+PiAgICAg IA0KPj4gICAgICBfbGlibWRfIHN5bWJvbCBwcml2YXRpemF0aW9uIGJpdHMgaGF2ZSBiZWVu IG1vdmVkIHRvIHN5cy9tZDUuaCBhbmQNCj4+ICAgICAgbWQ1LmggcmVtYWlucyB0byAjaW5j bHVkZSA8c3lzL21kNS5oPiBmb3IgY29tcGF0aWJpbGl0eS4NCj4+ICAgICAgDQo+PiAgICAg IFRoaXMgc3RvcHMgZXhwb3J0aW5nIE1ENVBhZCgpIGluIHRoZSBwcm9jZXNzIGJlY2F1c2Ug dGhlIGtlcm5lbCBzdG9wcGVkDQo+PiAgICAgIGV4cG9ydGluZyBpdCBpbiA1MDJhMzVkNjBm NGMuICBzb3ZlcnNpb24gaXMgYnVtcGVkIGFjY29yZGluZ2x5Lg0KPj4gICAgICANCj4+ICAg ICAgVGhpcyBhbHNvIHJlbmFtZXMgdGhlIGxpYmMgdmVyc2lvbiBvZiBzdGFja19wcm90ZWN0 b3IuYzsgaXQgcHJldmlvdXNseQ0KPj4gICAgICBvbmx5IHdvcmtlZCBieSBjb2luY2lkZW5j ZSBiZWNhdXNlIC5QQVRIIG9yZGVyaW5nIHdvcmtlZCBvdXQgc3VjaCB0aGF0DQo+PiAgICAg IHdlIGdvdCB0aGUgcmlnaHQgb25lLCBidXQgdGhpcyBpcyBub3QgdGhlIGNhc2UgYW55bW9y ZS4gIFJlbW92ZSB0aGUNCj4+ICAgICAgbGFuZG1pbmUuDQo+PiAgICAgIA0KPj4gICAgICBQ UjogICAgICAgICAgICAgMjgwNzg0IChleHAtcnVuKQ0KPj4gICAgICBSZXZpZXdlZCBieTog ICAgYWxsYW5qdWRlLCBkZWxwaGlqDQo+PiAgICAgIERpZmZlcmVudGlhbCBSZXZpc2lvbjog IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMzQ0OTcNCj4+IC0tLQ0KPj4gICBPYnNv bGV0ZUZpbGVzLmluYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyAr DQo+PiAgIGxpYi9saWJjL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICstDQo+PiAgIGxpYi9saWJjL21kL01ha2VmaWxlLmluYyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstDQo+PiAgIGxpYi9saWJjL3NlY3VyZS9NYWtlZmls ZS5pbmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+PiAgIC4uLi97c3RhY2tf cHJvdGVjdG9yLmMgPT4gbGliY19zdGFja19wcm90ZWN0b3IuY30gIHwgICAwDQo+PiAgIGxp Yi9saWJjcnlwdC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICstDQo+PiAgIGxpYi9saWJtZC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAzICstDQo+PiAgIGxpYi9saWJtZC9tZDUuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDQwIC0tLQ0KPj4gICBsaWIvbGlibWQvbWQ1Yy5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM0NCAtLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4+ICAgbGliL2xpYnNzcC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0NCj4+ICAgc3RhbmQvbGlic2EvTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0NCj4+ICAgc3lzL2tlcm4vbWQ1Yy5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjMgKy0NCj4+ICAgc3lzL3N5 cy9tZDUuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDIgKysr DQo+PiAgIDEzIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDM5NyBkZWxldGlv bnMoLSkNCj4gDQo+IERvbid0IHJ1biBtYWtlIGRlbGV0ZS1vbGQtbGlicy4gOi0pDQo+IA0K PiBEb2VzIHRoaXMgY2hhbmdlIGJyZWFrIGJ1aWxkaW5nIHBvcnRzLW1nbXQvcGtnIChvbiBh cm02NCk/DQo+IA0KPiAtLS0gcGtnIC0tLQ0KPiBjYyAtbyBwa2cgYWRkLm8gYWxpYXMubyBh bm5vdGF0ZS5vIGF1ZGl0Lm8gYXV0b3JlbW92ZS5vIGNoZWNrLm8gY2xlYW4ubyBjb25maWcu byBjcmVhdGUubyBkZWxldGUubyBldmVudC5vIGZldGNoLm8gZ2xvYmFscy5vIGluZm8ubyBp bnN0YWxsLm8ga2V5Lm8gbG9jay5vIG1haW4ubyBwbHVnaW5zLm8gcXVlcnkubyByZWdpc3Rl ci5vIHJlcG8ubyBycXVlcnkubyBzZWFyY2gubyBzZXQubyBzaGVsbC5vIHNobGliLm8gc3No Lm8gc3RhdHMubyB0cmlnZ2Vycy5vIHVwZGF0ZS5vIHVwZGF0aW5nLm8gdXBncmFkZS5vIHV0 aWxzLm8gdmVyc2lvbi5vIHdoaWNoLm8gIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAgLVds LC1Cc3RhdGljICAtV2wsLXdob2xlLWFyY2hpdmUgLUwvdXNyL3BvcnRzL3BvcnRzLW1nbXQv cGtnL3dvcmsvcGtnLTEuMjEuMy9saWJwa2cgLWxwa2dfZmxhdCAtV2wsLW5vLXdob2xlLWFy Y2hpdmUgICAgLVdsLC1CZHluYW1pYyAtbGVsZiAtbGphaWwgLWxzc2wgLWxjcnlwdG8gLWxh cmNoaXZlIC1sYnoyIC1seiAtbGx6bWEgLWxwcml2YXRlenN0ZCAtbG0gLXB0aHJlYWQgLWx1 dGlsIC1sbWQgIC1XbCwtLWV4cG9ydC1keW5hbWljDQo+IC0tLSBwa2ctc3RhdGljIC0tLQ0K PiBjYyAtbyBwa2ctc3RhdGljIGFkZC5vIGFsaWFzLm8gYW5ub3RhdGUubyBhdWRpdC5vIGF1 dG9yZW1vdmUubyBjaGVjay5vIGNsZWFuLm8gY29uZmlnLm8gY3JlYXRlLm8gZGVsZXRlLm8g ZXZlbnQubyBmZXRjaC5vIGdsb2JhbHMubyBpbmZvLm8gaW5zdGFsbC5vIGtleS5vIGxvY2su byBtYWluLm8gcGx1Z2lucy5vIHF1ZXJ5Lm8gcmVnaXN0ZXIubyByZXBvLm8gcnF1ZXJ5Lm8g c2VhcmNoLm8gc2V0Lm8gc2hlbGwubyBzaGxpYi5vIHNzaC5vIHN0YXRzLm8gdHJpZ2dlcnMu byB1cGRhdGUubyB1cGRhdGluZy5vIHVwZ3JhZGUubyB1dGlscy5vIHZlcnNpb24ubyB3aGlj aC5vIC1zdGF0aWMgLUwvdXNyL3BvcnRzL3BvcnRzLW1nbXQvcGtnL3dvcmsvcGtnLTEuMjEu My9saWJwa2cgLWxwa2dfZmxhdCAgLWxlbGYgLWxqYWlsIC1sc3NsIC1sY3J5cHRvIC1sYXJj aGl2ZSAtbGJ6MiAtbHogLWxsem1hIC1scHJpdmF0ZXpzdGQgLWxtIC1wdGhyZWFkIC1sdXRp bCAtbG1kDQo+IGxkOiBlcnJvcjogZHVwbGljYXRlIHN5bWJvbDogU0hBMjU2X1RyYW5zZm9y bQ0KPj4+PiBkZWZpbmVkIGF0IHNoYTI1Ni5jDQo+Pj4+ICAgICAgICAgICAgIHNoYTI1Ni5v OihTSEEyNTZfVHJhbnNmb3JtKSBpbiBhcmNoaXZlIC91c3IvbGliL2xpYmNyeXB0by5hDQo+ Pj4+IGRlZmluZWQgYXQgc2hhMjU2Yy5jDQo+Pj4+ICAgICAgICAgICAgIHNoYTI1NmMubzoo U0hBMjU2X1RyYW5zZm9ybV9yZXNvbHZlcikgaW4gYXJjaGl2ZSAvdXNyL2xpYi9saWJtZC5h DQo+IGNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEg KHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikNCj4gKioqIFtwa2ctc3RhdGljXSBFcnJvciBj b2RlIDENCj4gDQoNCg0KYWxzbywgdGhpcyBwcmV2ZW50IHRvIHJ1biBhbnl0aGluZyBidWls ZGVkIHdpdGggbGlibWQuc28uNg0KDQokIHBrZyB1cGcNCmxkLWVsZi5zby4xOiAvdXNyL2xv Y2FsL2xpYi9jb21wYXQvcGtnL2xpYm1kLnNvLjY6IHVuc3VwcG9ydGVkIGZpbGUgbGF5b3V0 DQoNCi0tIA0KU2luY2VyZWx5LA0KRGltYSAoZmx1ZmZ5QEZyZWVCU0Qub3JnLCBodHRwczov L3QubWUvRmx1ZmZ5QlNELCBAZmx1ZmZ5Om1hdHJpeC1kZXYuZnJlZWJzZC5vcmcpDQooZGVz a3RvcCwga2RlLCB4MTEsIG9mZmljZSwgcG9ydHMtc2VjdGVhbSlARnJlZUJTRCB0ZWFtDQoN Cg== --------------Vyxt5kh9qTx0u9QdlgzUWkVz-- --------------5hKMGnTbw1rFV4IU0isGTs0x Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEELTAsy5mEEwxvh7r8+4ugndU5jykFAmb7BFcFAwAAAAAACgkQ+4ugndU5jyms ahAAuf8n+qbAcLXRQs1xI6kEwU0haRZ96d5sapiV5V1s6JioWhYx2i6CuDY9ANsCcKIpzXlKOe/g 8kU18/iZvEh8Ns7nH8c7V7CWc/j483QXO1Yn7GGPT9PznIxnDnKcqmF+ppy1DqeyVV7OJ8linl9k sfvml0fkn7E+1+rVJwFzMOa5KzbGIlHRG4oAkZDrbMuI3zH9KaJJBMz5+6gvvZQ1lfwr2tMFL24f Dsa1y7MtB0BqnhbapCC7aLOntBf2mMx0TybZwr0WFFrHG5/sU7SdIDMCHN0Q0l24Ht4YuATealZe GlUZZHlfyHdSJ9KuQRUq4OnlNCd4mEPGn1dJPjb4xjh8xQKyHnfjcL1w4adwExl42ZELQR3CI/lA g4txOB1xRpxNCeyy65eEux0aK5HsUDceub14k1m3qY3aAFpqVw5egmwUqGLHr+ceOmFyg9vJEJmm sJ/Jg3H5+BQjbS6dgn81aSGftBHpCnrBEty0TSPkdSJKFD800LhBofgIQoJAIArWK9ORvofZxTzl pOC1JI37R5XufCw7wqShCbTY/CeWx/rrzJGhebwYR9DxlafC0OIhJ3+kIYIKSLg7RFVV7MQIfqsr P1ISz2aApdbVKtBuDOWzlckd/C8/Idl6d85l3j8HGdOoZ+PA4zYpQ0LxW/Scz8E8/IVptgJXqZ5W Ics= =gdDI -----END PGP SIGNATURE----- --------------5hKMGnTbw1rFV4IU0isGTs0x-- From nobody Mon Sep 30 20:32:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHXn41pWwz5XdN4; Mon, 30 Sep 2024 20:32:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHXn41D9nz4HGD; Mon, 30 Sep 2024 20:32:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727728344; 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=v7rqxePVlmOQNdC2fDBKzQtMmixemUeOthw7K+v6dvA=; b=j9OiTm10Chs9jQ97HM9bAt35rcuXTsoVSBXLv2Bx5sbcc/Fy2ufkXpaFCdl/6NICgy2Teu 8sbZwm+Tts/fmyA5pmu4omXz/wOS46zlpu5SHzmeck8pQUxfY6SjbQ4Cbwwy6NK4v5HHdJ b/ZwpQv6+WsQAs3i5+tD2JK9v9ZssK+K+Xzldinbs9bR5K6raKcMSqJA922wJx5SfdasED LhMzGKfocr9Fo7jJtq0GoWpnPjCfvgTs1Fkgx9MJfP1tMzrPqFM4BdyKqHjE2elvjnCySP D8GhxazcJntbxG+7r7eyA9kCkdjqkptdZMs/aeCHh7frzdFCEPa9MWtYy6s7xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727728344; 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=v7rqxePVlmOQNdC2fDBKzQtMmixemUeOthw7K+v6dvA=; b=WgupIUnVH/ZA0OcoS500dt275Qo9ODSd5UI3lLva94nWRKRpjgqORNV2gZJ9GCXFz548gW e7bL0CpQZmgtGdDKY8ZJma47++vHS0IihaABtyOng4/vJXsk8VK/aUC4Ct5oVli0I9LEtx I0HGsLQrVX7uDYFOGFtlrVAHlBO9ic5RzEsgC2sQQPr0gRK96i1l49a82eoS6eDOoa4aY2 giswYOXkCJ2UWs80S4pgHcBjUoVGYAdciaeNsrxa0EUPwvwIvSzhkCC4dMGDoSQs+M9idk jxxEMTfJlOuNYqbQ92wHgCYk1KdWha8XB04IjDnCs+u2pF8TDIyVmiw/xddeNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727728344; a=rsa-sha256; cv=none; b=E5H1Ufi+Pyyq+TLlpuWUOmaenDgtlrgDFGaZmIND+XiypYNVC4PwXwLBjrBRK8vb9iIMVC j/8Ke2PJ6fC43UA5MzYz0z06hVBJJVffavrWr99dkj+5U+w7QSkNJ0hI+HK2T28YhLTHVo RfQOvAHpn9tOKK7rfQCkYz3vUJngapTRsow3KXyOTwrc7Iw/5POcdzqbaZos5n+WDeMWQk crGUOUtLSq9eVA+p3nX70qoOaA2aH5SYbf+U3V78DizULXy3Hqgx0DaC9M7EuVDLbKviXE JPmXHIInEg6OytdmhBFRLOOYzk83lgiZgZwRPqKbj962LEElW/DXlpDOS5INWg== Received: from [10.9.4.95] (unknown [209.182.120.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4XHXn34PnyzSQX; Mon, 30 Sep 2024 20:32:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: Date: Mon, 30 Sep 2024 15:32:21 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: e7a629c851d7 - main - libmd, kern, stand: consolidate md5 implementations (NFC) To: Dima Panov , "Herbert J. Skuhra" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202409300336.48U3a4jV066962@gitrepo.freebsd.org> <87wmit2cmj.wl-herbert@gojira.at> Content-Language: en-US From: Kyle Evans In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 9/30/24 15:04, Dima Panov wrote: > Hello! > > On 30.09.2024 21:57, Herbert J. Skuhra wrote: >> On Mon, 30 Sep 2024 05:36:04 +0200, Kyle Evans wrote: >>> >>> The branch main has been updated by kevans: >>> >>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=e7a629c851d747772cc138efcb0418809ecdea55 >>> >>> commit e7a629c851d747772cc138efcb0418809ecdea55 >>> Author:     Kyle Evans >>> AuthorDate: 2022-03-08 15:39:52 +0000 >>> Commit:     Kyle Evans >>> CommitDate: 2024-09-30 03:34:18 +0000 >>> >>>      libmd, kern, stand: consolidate md5 implementations (NFC) >>>      Reduce the number of md5c.c between the three of these from two >>> to one >>>      by just reaching into the kernel build for both userland >>> builds.  The >>>      precedent for this already exists for sha2 in both cases. >>>      _libmd_ symbol privatization bits have been moved to sys/md5.h and >>>      md5.h remains to #include for compatibility. >>>      This stops exporting MD5Pad() in the process because the kernel >>> stopped >>>      exporting it in 502a35d60f4c.  soversion is bumped accordingly. >>>      This also renames the libc version of stack_protector.c; it >>> previously >>>      only worked by coincidence because .PATH ordering worked out >>> such that >>>      we got the right one, but this is not the case anymore.  Remove the >>>      landmine. >>>      PR:             280784 (exp-run) >>>      Reviewed by:    allanjude, delphij >>>      Differential Revision:  https://reviews.freebsd.org/D34497 >>> --- >>>   ObsoleteFiles.inc                                  |   3 + >>>   lib/libc/Makefile                                  |   2 +- >>>   lib/libc/md/Makefile.inc                           |   2 +- >>>   lib/libc/secure/Makefile.inc                       |   2 +- >>>   .../{stack_protector.c => libc_stack_protector.c}  |   0 >>>   lib/libcrypt/Makefile                              |   2 +- >>>   lib/libmd/Makefile                                 |   3 +- >>>   lib/libmd/md5.h                                    |  40 --- >>>   lib/libmd/md5c.c                                   | 344 >>> --------------------- >>>   lib/libssp/Makefile                                |   2 +- >>>   stand/libsa/Makefile                               |   4 +- >>>   sys/kern/md5c.c                                    |  23 +- >>>   sys/sys/md5.h                                      |  42 +++ >>>   13 files changed, 72 insertions(+), 397 deletions(-) >> >> Don't run make delete-old-libs. :-) >> >> Does this change break building ports-mgmt/pkg (on arm64)? >> >> --- pkg --- >> cc -o pkg add.o alias.o annotate.o audit.o autoremove.o check.o >> clean.o config.o create.o delete.o event.o fetch.o globals.o info.o >> install.o key.o lock.o main.o plugins.o query.o register.o repo.o >> rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o >> update.o updating.o upgrade.o utils.o version.o which.o >> -fstack-protector-strong  -Wl,-Bstatic  -Wl,-whole-archive >> -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat >> -Wl,-no-whole-archive    -Wl,-Bdynamic -lelf -ljail -lssl -lcrypto >> -larchive -lbz2 -lz -llzma -lprivatezstd -lm -pthread -lutil -lmd >> -Wl,--export-dynamic >> --- pkg-static --- >> cc -o pkg-static add.o alias.o annotate.o audit.o autoremove.o check.o >> clean.o config.o create.o delete.o event.o fetch.o globals.o info.o >> install.o key.o lock.o main.o plugins.o query.o register.o repo.o >> rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o >> update.o updating.o upgrade.o utils.o version.o which.o -static >> -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat  -lelf >> -ljail -lssl -lcrypto -larchive -lbz2 -lz -llzma -lprivatezstd -lm >> -pthread -lutil -lmd >> ld: error: duplicate symbol: SHA256_Transform >>>>> defined at sha256.c >>>>>             sha256.o:(SHA256_Transform) in archive >>>>> /usr/lib/libcrypto.a >>>>> defined at sha256c.c >>>>>             sha256c.o:(SHA256_Transform_resolver) in archive >>>>> /usr/lib/libmd.a >> cc: error: linker command failed with exit code 1 (use -v to see >> invocation) >> *** [pkg-static] Error code 1 >> > This one is fixed in c02bc0aa0b22009e4bc, sorry about that. I forgot that exp-runs are inherently x86, and there's some aarch64 specific bits in here that shouldn't have been missed. > > also, this prevent to run anything builded with libmd.so.6 > > $ pkg upg > ld-elf.so.1: /usr/local/lib/compat/pkg/libmd.so.6: unsupported file layout > This one doesn't seem to make any sense, though. That message in particular implies the elf header itself is damaged somehow. Thanks, Kyle Evans From nobody Mon Sep 30 22:51:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHbsq24x2z5Xp0t; Mon, 30 Sep 2024 22:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHbsq1fHpz4Zmp; Mon, 30 Sep 2024 22:51:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727736703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKs/9MxWRMfWkEl7WWUMx7+0s8DThSTQFSuEbzXwr58=; b=xSZacP05zagP+tOYlYNKJOvGrBCHlXfgKgDZLkZ8BNuPK7Gi+T89sqTAdXEqOzdB5Qd7TK Umc+mr9klhujoZJXkiwjStxuu5hIy2EZdbi53lYRgNMKzf5TbmF07+fpiazNsMf9KTmSVa swBdZVSNmtWQDobx2/H+0l4BnVSgfRNFK/3pATRAyhBTycmnhg+HXamp+q5PoKWmGWp51d GA8/ohYI99LFYAc3YdziVcZh3BDj4MBQ5BUIxpJXtqzDbfwwky2Oj+XtD6ehIrFQftoPdB xFGh9VYUXSobiUIc0uoHkrCTQNhret165AShNMUTQbc7rD3JeWfGrmGWLPXMLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727736703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKs/9MxWRMfWkEl7WWUMx7+0s8DThSTQFSuEbzXwr58=; b=GsKxhxntlq/3G5gczN6K8IwVXAuj/amJJD+gL0Rj1DE4S0nSpZRGNwUVRJti/AxL6Q39cK Vc3z9iqJ01VwW7ITOZPQwt0qIK0ldA/zIqMPgeO4Ley3DjRc18e3AjW4FDZ55q9Q3wmxph EcGYrDi6M4FQOB2bqC5NsTrR9XXUt7bcqLXAt3Xzjhch+Ts0doBrUORpwevnbFZyRDtPUU J/M5PLr3PJSQfFgurPXaS+vg+dEkladX2Oe62M4BuMjq8pG7CYBHJk/8KpQ2gc3TOiAB54 BM1aSk7sMuNprRMQnt88mBJe/QcBKuNoWfN8v9b+FNuqz7VD2/kNfv14oxeetQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727736703; a=rsa-sha256; cv=none; b=PakGzSitbIQpeoaBpChuuSbifi7DazJX62geBFIZ9fqw82pzY9ZO9/o8iCGg9XbuuuHBY+ rDcB7AjvfIOKieMMrKYVXPbvAU4ca7K3QEN0TBB83sd10TYktnIKu9QpguLy/n955D+AbN 6s+mrZplxo2k6Zy4UjEbIv7DGUagLsEGyPILcKyU6R7+sOF3iQUgVpXvFoE4kTGsvdTwxS vc4yzlbb+4de0606fMlTUlvMB3TyNc3SMhkm+7pjyhU32VY49ry8ZRhRGSr7qPMz9kGVL5 akgnj8HyGtKqUHeXVq7lhFjvM4rnkNbCsWygoqLV0TYGSPDpt7DIwXR0zYZMHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHbsq1Fm7z1C5W; Mon, 30 Sep 2024 22:51:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48UMphLV076701; Mon, 30 Sep 2024 22:51:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48UMphjP076698; Mon, 30 Sep 2024 22:51:43 GMT (envelope-from git) Date: Mon, 30 Sep 2024 22:51:43 GMT Message-Id: <202409302251.48UMphjP076698@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: eb345e05ac66 - main - nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb345e05ac6602eeef0c33fce9025bbc8ec44d0f Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=eb345e05ac6602eeef0c33fce9025bbc8ec44d0f commit eb345e05ac6602eeef0c33fce9025bbc8ec44d0f Author: Rick Macklem AuthorDate: 2024-09-30 22:49:57 +0000 Commit: Rick Macklem CommitDate: 2024-09-30 22:49:57 +0000 nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1 nfsrv_freeopen() was being called after the mutex lock was released, making it possible for other kernel threads to change the lists while nfsrv_freeopen() took the nfsstateid out of the lists. This patch moves the code around "if (nfsrv_freeopen(stp, vp, 1 p) == 0) {" into nfsrv_freeopen(), so that it can remove the nfsstateid structure from all lists before unlocking the mutex. This should avoid any race between CLOSE and other nfsd threads updating the NFSv4 state. The patch does not affect semantics when vfs.nfsd.enable_locallocks=0. PR: 280978 Tested by: Matthew L. Dailey MFC after: 1 week --- sys/fs/nfsserver/nfs_nfsdstate.c | 62 +++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 6b40e0f64141..6cd8c1c861ec 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -139,7 +139,7 @@ static void nfsrv_dumpaclient(struct nfsclient *clp, struct nfsd_dumpclients *dumpp); static void nfsrv_freeopenowner(struct nfsstate *stp, int cansleep, NFSPROC_T *p); -static int nfsrv_freeopen(struct nfsstate *stp, vnode_t vp, int cansleep, +static void nfsrv_freeopen(struct nfsstate *stp, vnode_t vp, int cansleep, NFSPROC_T *p); static void nfsrv_freelockowner(struct nfsstate *stp, vnode_t vp, int cansleep, NFSPROC_T *p); @@ -1566,7 +1566,7 @@ nfsrv_freeopenowner(struct nfsstate *stp, int cansleep, NFSPROC_T *p) while (nstp != LIST_END(&stp->ls_open)) { tstp = nstp; nstp = LIST_NEXT(nstp, ls_list); - (void) nfsrv_freeopen(tstp, NULL, cansleep, p); + nfsrv_freeopen(tstp, NULL, cansleep, p); } if (stp->ls_op) nfsrvd_derefcache(stp->ls_op); @@ -1581,12 +1581,11 @@ nfsrv_freeopenowner(struct nfsstate *stp, int cansleep, NFSPROC_T *p) * are no other opens on the file. * Returns 1 if it free'd the nfslockfile, 0 otherwise. */ -static int +static void nfsrv_freeopen(struct nfsstate *stp, vnode_t vp, int cansleep, NFSPROC_T *p) { struct nfsstate *nstp, *tstp; struct nfslockfile *lfp; - int ret; LIST_REMOVE(stp, ls_hash); LIST_REMOVE(stp, ls_list); @@ -1595,35 +1594,46 @@ nfsrv_freeopen(struct nfsstate *stp, vnode_t vp, int cansleep, NFSPROC_T *p) lfp = stp->ls_lfp; /* * Now, free all lockowners associated with this open. + * Note that, if vp != NULL, nfsrv_freelockowner() will + * not call nfsrv_freeallnfslocks(), so it needs to be called, below. */ LIST_FOREACH_SAFE(tstp, &stp->ls_open, ls_list, nstp) nfsrv_freelockowner(tstp, vp, cansleep, p); + if (vp != NULL) { + KASSERT(cansleep != 0, ("nfsrv_freeopen: cansleep == 0")); + mtx_assert(NFSSTATEMUTEXPTR, MA_OWNED); + /* + * Only called with vp != NULL for Close when + * vfs.nfsd.enable_locallocks != 0. + * Lock the lfp so that it will not go away and do the + * nfsrv_freeallnfslocks() call that was not done by + * nfsrv_freelockowner(). + */ + nfsrv_locklf(lfp); + NFSUNLOCKSTATE(); + NFSVOPUNLOCK(vp); + nfsrv_freeallnfslocks(stp, vp, cansleep, p); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); + NFSLOCKSTATE(); + nfsrv_unlocklf(lfp); + } + /* * The nfslockfile is freed here if there are no locks * associated with the open. * If there are locks associated with the open, the * nfslockfile structure can be freed via nfsrv_freelockowner(). - * Acquire the state mutex to avoid races with calls to - * nfsrv_getlockfile(). */ - if (cansleep != 0) - NFSLOCKSTATE(); if (lfp != NULL && LIST_EMPTY(&lfp->lf_open) && LIST_EMPTY(&lfp->lf_deleg) && LIST_EMPTY(&lfp->lf_lock) && LIST_EMPTY(&lfp->lf_locallock) && LIST_EMPTY(&lfp->lf_rollback) && lfp->lf_usecount == 0 && - (cansleep != 0 || nfsv4_testlock(&lfp->lf_locallock_lck) == 0)) { + nfsv4_testlock(&lfp->lf_locallock_lck) == 0) nfsrv_freenfslockfile(lfp); - ret = 1; - } else - ret = 0; - if (cansleep != 0) - NFSUNLOCKSTATE(); free(stp, M_NFSDSTATE); NFSD_VNET(nfsstatsv1_p)->srvopens--; nfsrv_openpluslock--; - return (ret); } /* @@ -1636,7 +1646,8 @@ nfsrv_freelockowner(struct nfsstate *stp, vnode_t vp, int cansleep, LIST_REMOVE(stp, ls_hash); LIST_REMOVE(stp, ls_list); - nfsrv_freeallnfslocks(stp, vp, cansleep, p); + if (vp == NULL) + nfsrv_freeallnfslocks(stp, vp, cansleep, p); if (stp->ls_op) nfsrvd_derefcache(stp->ls_op); free(stp, M_NFSDSTATE); @@ -3431,7 +3442,6 @@ nfsrv_openupdate(vnode_t vp, struct nfsstate *new_stp, nfsquad_t clientid, { struct nfsstate *stp; struct nfsclient *clp; - struct nfslockfile *lfp; u_int32_t bits; int error = 0, gotstate = 0, len = 0; u_char *clidp = NULL; @@ -3526,9 +3536,7 @@ nfsrv_openupdate(vnode_t vp, struct nfsstate *new_stp, nfsquad_t clientid, NFSBCOPY(clp->lc_id, clidp, len); gotstate = 1; } - NFSUNLOCKSTATE(); } else if (new_stp->ls_flags & NFSLCK_CLOSE) { - lfp = stp->ls_lfp; if (retwriteaccessp != NULL) { if ((stp->ls_flags & NFSLCK_WRITEACCESS) != 0) *retwriteaccessp = 1; @@ -3536,20 +3544,10 @@ nfsrv_openupdate(vnode_t vp, struct nfsstate *new_stp, nfsquad_t clientid, *retwriteaccessp = 0; } if (nfsrv_dolocallocks != 0 && !LIST_EMPTY(&stp->ls_open)) { - /* Get the lf lock */ - nfsrv_locklf(lfp); - NFSUNLOCKSTATE(); ASSERT_VOP_ELOCKED(vp, "nfsrv_openupdate"); - NFSVOPUNLOCK(vp); - if (nfsrv_freeopen(stp, vp, 1, p) == 0) { - NFSLOCKSTATE(); - nfsrv_unlocklf(lfp); - NFSUNLOCKSTATE(); - } - NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); + nfsrv_freeopen(stp, vp, 1, p); } else { - (void) nfsrv_freeopen(stp, NULL, 0, p); - NFSUNLOCKSTATE(); + nfsrv_freeopen(stp, NULL, 0, p); } } else { /* @@ -3567,8 +3565,8 @@ nfsrv_openupdate(vnode_t vp, struct nfsstate *new_stp, nfsquad_t clientid, if ((nd->nd_flag & ND_NFSV41) != 0 && stp->ls_stateid.seqid == 0) stp->ls_stateid.seqid = 1; - NFSUNLOCKSTATE(); } + NFSUNLOCKSTATE(); /* * If the client just confirmed its first open, write a timestamp From nobody Mon Sep 30 23:37:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHctX4lvpz5Xqpm; Mon, 30 Sep 2024 23:37:24 +0000 (UTC) (envelope-from brooks@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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHctX3wBRz4fDn; Mon, 30 Sep 2024 23:37:24 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727739444; 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=PCWTXA8r26Zg3msSfBDFQKZsrzpEG5vKRhLUwgSY7YU=; b=r2vFf+uYdRXFyoRfalWrrJDzZLfJPtYfPPVx77V08zgU0pZLZfKjGS99ke9x01BSA83Nd3 wDDXiGVdXl+GCXaJiFFxdPwbdiKPZEv8q743sDK2iJwucNg33V8Paid/gK33i1KwPNIXWg IOhT1YzS3wnkRNV6SfM03z2axK8q8ON2KTK20reopzq094WS3HLg5cvbcVBOVR0fReaaJW jbCCJlToc43aq3VQcis/UyjNczRC3+XdzfX4IBrKeO0Yh/akYFxIlaj6vRmuCbwoHXn0nP o3AGxuldws/Y7948QEbh+vbS3gGSas/025K7Qb3Q1jxDujkcq9eak8bahiT26w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727739444; 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=PCWTXA8r26Zg3msSfBDFQKZsrzpEG5vKRhLUwgSY7YU=; b=vBAUSPVU6dPcUTEXMwQor7+RZxUWCzGzzO3q/RrpfV8Ko8TVAcbDLmhZ3Xk1Xza6zqMPf8 5/YRzKWOSaSxleqOlDqped40xN22FVJzl7YYjoXKRUeupo3hL5j1kyVLoaqOSi3udWQD/3 rN10j7hZlNFg+WWYLzBtje+s6OOIi8k62A/rifX3lPRczaKX1XNiSgmKSuOoH9pQJIIMJG /sa9Bgqw8FD91ax3kyWC0zJDOh9JyNvgMlDoUizuqk5yx+5Np7x48qn5B+dL3Pc/GO/Wd4 ieAMeVbrlp5R3kSV1n9WrAcA5aEcpS0SXyLIT7HHZ8z//diU8gnfilMK9OSKPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727739444; a=rsa-sha256; cv=none; b=WUaYL8LjHTukLo/69IWVsp6sQRyKByBumAWNCR2ucxheczT8O+bGmEk1xjKtjYNdZ4RDMd FFmh4HPgrHs1ICnGFqBGQToagnNpG1FR6JJo0w5KozsfVyEA8MVaZ/kYPovPrnvTWjh+9Q wVqrNGmcDMoy7t4G/fdo6hvupQ5Y172254Eh4Hp/jfFy19zqCl9iGtmuDEFG6dqBxJtTAq d0WQJgSzWESZCTWZzwmTs5hpToIGsmS8ZBXIGITb3VreV7QHQQHWIvNqpexi3QbuKyIXdx e4kMdUl0Rj51FTm10C4aylkuXiiyp/0lmUXP8Ie0LMmPXU53lIk+wjvZnEH+CQ== 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) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4XHctX3FnNzXjp; Mon, 30 Sep 2024 23:37:24 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 008D93C019B; Mon, 30 Sep 2024 23:37:23 +0000 (UTC) Date: Mon, 30 Sep 2024 23:37:23 +0000 From: Brooks Davis To: Antoine Brodin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 1235d276b78a - main - lib{c,sys}: stop exposing errno symbol Message-ID: References: <202409271933.48RJX0dH066668@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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Sep 30, 2024 at 03:53:01PM +0000, Brooks Davis wrote: > On Mon, Sep 30, 2024 at 08:33:18AM +0200, Antoine Brodin wrote: > > On Fri, Sep 27, 2024 at 9:33???PM Brooks Davis wrote: > > > > > > The branch main has been updated by brooks: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=1235d276b78a769bded01d51c9bf3cdc480db9fb > > > > > > commit 1235d276b78a769bded01d51c9bf3cdc480db9fb > > > Author: Brooks Davis > > > AuthorDate: 2024-09-27 19:27:46 +0000 > > > Commit: Brooks Davis > > > CommitDate: 2024-09-27 19:27:46 +0000 > > > > > > lib{c,sys}: stop exposing errno symbol > > > > > > Officially since C11 (and in reality FreeBSD since 3.0 with commit > > > 1b46cb523df3) errno has been defined to be a macro. Rename the symbol > > > to __libsys_errno and move it to FBSDprivate_1.0 and confine it entierly > > > to libsys for use by libthr. Add a FBSD_1.0 compat symbol for existing > > > binaries that were incorrectly linked to the errno symbol during > > > libc.so.7's lifetime. > > > > > > This deliberately breaks linking software that directly links to errno. > > > Such software is broken and will fail in surprising ways if it becomes > > > threaded (e.g., if it triggers loading of a pam or nss module that > > > uses threads.) > > > > > > Reviewed by: kib > > > Differential Revision: https://reviews.freebsd.org/D46780 > > > --- > > > lib/libsys/Makefile | 2 ++ > > > lib/libsys/Symbol.map | 1 + > > > lib/libsys/Symbol.sys.map | 1 - > > > lib/libsys/__error.c | 10 +++++----- > > > lib/libthr/sys/thr_error.c | 5 ++--- > > > lib/libthr/thread/thr_rtld.c | 7 +++---- > > > 6 files changed, 13 insertions(+), 13 deletions(-) > > > > Hello, > > > > This breaks some ports: > > Thank you for the list (that's more than I expected). I'll work on > updates. The fix is to replace I've updated all the maintainer-less ports. The majority were djbware. I was quite tempted to set deprecation notices as most produce many warnings with a modern compiler. These warning are easy to fix, but it's clear no one cares. For ports with maintainers I've filed bugs with fixes and pushed them all to https://github.com/brooksdavis/freebsd-ports/tree/errno-fixes -- Brooks From nobody Tue Oct 1 04:28:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHlLM6lf6z5YBF0; Tue, 01 Oct 2024 04:28:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHlLM6DMjz4LqZ; Tue, 1 Oct 2024 04:28:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727756907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UIs5KyxQzWrtM6BDYo2d7sXFTBq//4vei7QXZvbHo2Y=; b=Q6PSoce6zCtnwfdVZ2UJO/L5NJ067e4F3AS7dzshytftIeeM8jQsJ8LN0MBnwL/ciEgKJn afmuOCHkL7nQzwWTHGooLWYy52qX8hF5HCva5TZb7vehjQZ1dXk0CqJatYTr4WyyGycLMk yNtByiLDRXiZmx9ANipQhVQmAGwoasLnjWDuEtgx3L4xeTWUnL+8OdHe+VPPkutXYEYEVz /9jPElY0Q87emS8zPLlTimMo586c9k4hFIBVIPtP+xTZ8qsj///r2wCApwGd7u0vmKrTK9 opTQdOmdkGQv2TzgendKeoGq+I/V7ZqNOTOjTo7ATp0P9ftyknMzm+TwFHw+gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727756907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UIs5KyxQzWrtM6BDYo2d7sXFTBq//4vei7QXZvbHo2Y=; b=ONxYPZ99jqabhxt/aaZjNNCB5pblcGWktanGjbXPwKn/+Nxf3z3gDFNh2AMgeOQhKGVFWx iMohT+pFJXBV+IaBIxWW6A9mKtaTkzCcfpnGpdn2Pv2h15oCbnFlQP85/REAutJOFRFFSf f9KPw9C/H1wCpBB6p181H6ZG7GOJCuE3PBI+jjrtWD4k7PX2SzHOfK/etYW7lgMVjR3t7K +WNpEaXCM2uc0BVopvbKQWX96+/lIKZbepkPRbtJyYznpX645L++WBbbKkFdHhEvMnB3ga qSz+Zf7ryAWLQX//Zxu75O3NRYYuRhwxiCnIrgDVLvUrjskvm5LXWWyCKQyyNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727756907; a=rsa-sha256; cv=none; b=txYfLL1kLZiw+s8hKdcmQNmUEsQ+B4cHvTOcZBuLS7a0j8USoNYcQXCyhAZ7Yc1Ulz7wp5 mwNwaQMDUVdkyhzmJWKw+v2K95eBQ5JX+7uMx1eNemPIWAx+TkzPkPH8hQ8kh4BbkO/fU5 vF6bi0OHXm2GSFkji5TeR3LUSEb7CGY8J06zcO8kcofecQPfmd+Qowltu5qe6JTllyyKdV /4IklRWnmWsMxGUValvDN+VxmrUNCBML6vO9ZZoKkJr948WwvgxelpKF57OxyvcIRyl1ND /6N3cN95Rmxo1hnQ/wfEA69fGm90fg4tbwu6ukZssAI2kLs2vKl0Gl3xfmiY3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHlLM5nVKzMwk; Tue, 1 Oct 2024 04:28:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4914SRHW038931; Tue, 1 Oct 2024 04:28:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4914SRP3038928; Tue, 1 Oct 2024 04:28:27 GMT (envelope-from git) Date: Tue, 1 Oct 2024 04:28:27 GMT Message-Id: <202410010428.4914SRP3038928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: b35f0aa4952c - main - stdio.h: don't expose rsize_t unless __EXT1_VISIBLE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b35f0aa4952cf03f1b2093b110607c13dd2ec991 Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=b35f0aa4952cf03f1b2093b110607c13dd2ec991 commit b35f0aa4952cf03f1b2093b110607c13dd2ec991 Author: Graham Percival AuthorDate: 2024-09-30 16:37:59 +0000 Commit: Cy Schubert CommitDate: 2024-10-01 03:07:43 +0000 stdio.h: don't expose rsize_t unless __EXT1_VISIBLE PR: 281768 Fixes: c13559d31e90 MFC after: 1 week --- include/stdio.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/stdio.h b/include/stdio.h index b0190d25eb4f..ee3ab3bfb986 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -48,10 +48,13 @@ typedef __size_t size_t; #define _SIZE_T_DECLARED #endif +#if __EXT1_VISIBLE +/* ISO/IEC 9899:2011 K.3.3.2 */ #ifndef _RSIZE_T_DEFINED #define _RSIZE_T_DEFINED typedef size_t rsize_t; #endif +#endif /* __EXT1_VISIBLE */ #if __POSIX_VISIBLE >= 200809 #ifndef _OFF_T_DECLARED From nobody Tue Oct 1 10:12:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHtz012DCz5XcX7; Tue, 01 Oct 2024 10:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHtz00g7yz4sDH; Tue, 1 Oct 2024 10:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727777532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uEx/5w50IG2UP2qWYKXZwjdubzJVlzrTGXN2eqICY9g=; b=t/jkh0/9rWkFj5+OeCAHjfuY/fdF5NWLH602S3x76JW68i+0dWTEJdnl8HQs3JBaWREQZO sT/RfhiKmhljqiFj4RGbLxsxz4MKiQ6o0i1ZuDJyR1/wdYFW2b9R5F81srKkWh3t1329KX 7tza4RqqxpFsH1jh+RlhrkplUMMZ5d+2orLKA5SjdSAI5clfga9MPnIGoYRAK80Q0qBUok ol0946T9XmmVq0XH1sTc614RaAmnsx8RFsl7LpL4qrzyWYc625UZy182SzWQyL9hISoPfp UkepnWCgk3jfk3joHRq6yAG7RA+shkdS5HHs1uIUi4rKvuxF8IdJe00uYaitYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727777532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uEx/5w50IG2UP2qWYKXZwjdubzJVlzrTGXN2eqICY9g=; b=FcNWlB855Xr5mo07JwKJi22PqQWQ20yFUkifRYIw66iIBCyCALThEoCcJ16AM/iLooBlf8 VamHnvgw4ezSAYMcYkkZgqexe52tE4KieZkpcYeNDLssuWNnmIADdpn0dZWd9+gMEkxKML Xf1HqlxLv3BHRpX5nrVSskh2InrcdsRb6XkqdIvc7ZLPyAyJJtNe5SXol60G2q96yt7pnS KWlvRgSKVnGfd+ZlMIaqni1MkAhFshqw9QJFoF/QlDf14AIurzZwqW56zL9xy1VtjXRR2f k361twO1cbzp0KkB/l0eydQT8BF4J31ekRl2l8hh9rYLDe9lIblTAagjv7v9vA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727777532; a=rsa-sha256; cv=none; b=CHhGq83yi3tCHHfVaSuoksuUwH6kLbPAQcMPcASAS4Zs0FzMMjqA5tMX+fTtnsjGsmteJS AIxDPLJROtBfrIkL8jSNPIsVxj7o/txvIJPVF+5kqvv3mU24ARA24SvSDMH1in6XNqZGUW nWxp6X1SIl1JyTLG/AsWR6qbSQTp6cpbqBORgTRSQPXzf2CuT8FLbJCr4fUTYpggC1qrIw v1XO7QBntwwrbUQHr601PrNxoy4pW/4uB+lfA2beW960CuKpLVJJln5gLSFREteI/i5vav VVueCYt1gwfBKCObg7U68+xBN1NC2jAtG2NdPvKel8hynaMn0eDMJOYKx/qFbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHtz00GRVzZJK; Tue, 1 Oct 2024 10:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491ACB5j031658; Tue, 1 Oct 2024 10:12:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491ACBJ8031655; Tue, 1 Oct 2024 10:12:11 GMT (envelope-from git) Date: Tue, 1 Oct 2024 10:12:11 GMT Message-Id: <202410011012.491ACBJ8031655@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: 288bec2b2bd1 - main - pf: fold pf_test_fragment() into pf_test_rule() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 288bec2b2bd10d80cdc35a687e8a373f5931c80d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=288bec2b2bd10d80cdc35a687e8a373f5931c80d commit 288bec2b2bd10d80cdc35a687e8a373f5931c80d Author: Kristof Provost AuthorDate: 2024-09-13 15:07:06 +0000 Commit: Kristof Provost CommitDate: 2024-10-01 07:55:13 +0000 pf: fold pf_test_fragment() into pf_test_rule() Reduces code and fixes a bunch of bugs with fragment handling not being in sync with the rest of the ruleset. Much feedback from mpf, bluhm & markus Thanks to Tony Sarendal for help with testing ok bluhm; various previous versions ok henning, claudio, mpf, markus Note that while this changes the order of src addr/src port/dst addr/dst port skips this doesn't actually affect the kernel/userspace ABI. The kernel always recalculates skip steps. As a result we have to fix one of the pfctl parser tests. Note that this is an order change that does not affect what packets are acceppted or dropped. Obtained from: OpenBSD, mcbride , 04c69899a7 Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D46705 --- sbin/pfctl/parse.y | 4 +- sbin/pfctl/pfctl_optimize.c | 2 +- sbin/pfctl/tests/files/pf0004.ok | 24 +-- sys/net/pfvar.h | 2 + sys/netpfil/pf/pf.c | 450 ++++++++++++++++----------------------- sys/netpfil/pf/pf.h | 4 +- 6 files changed, 198 insertions(+), 288 deletions(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 9d95122f9826..ad25f1996d36 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -6073,10 +6073,10 @@ expand_rule(struct pfctl_rule *r, LOOP_THROUGH(struct node_proto, proto, protos, LOOP_THROUGH(struct node_icmp, icmp_type, icmp_types, LOOP_THROUGH(struct node_host, src_host, src_hosts, - LOOP_THROUGH(struct node_port, src_port, src_ports, - LOOP_THROUGH(struct node_os, src_os, src_oses, LOOP_THROUGH(struct node_host, dst_host, dst_hosts, + LOOP_THROUGH(struct node_port, src_port, src_ports, LOOP_THROUGH(struct node_port, dst_port, dst_ports, + LOOP_THROUGH(struct node_os, src_os, src_oses, LOOP_THROUGH(struct node_uid, uid, uids, LOOP_THROUGH(struct node_gid, gid, gids, diff --git a/sbin/pfctl/pfctl_optimize.c b/sbin/pfctl/pfctl_optimize.c index 7440bf8a506d..9858f38b8671 100644 --- a/sbin/pfctl/pfctl_optimize.c +++ b/sbin/pfctl/pfctl_optimize.c @@ -249,8 +249,8 @@ static const char *skip_comparitors_names[PF_SKIP_COUNT]; { "af", PF_SKIP_AF, skip_cmp_af }, \ { "proto", PF_SKIP_PROTO, skip_cmp_proto }, \ { "saddr", PF_SKIP_SRC_ADDR, skip_cmp_src_addr }, \ - { "sport", PF_SKIP_SRC_PORT, skip_cmp_src_port }, \ { "daddr", PF_SKIP_DST_ADDR, skip_cmp_dst_addr }, \ + { "sport", PF_SKIP_SRC_PORT, skip_cmp_src_port }, \ { "dport", PF_SKIP_DST_PORT, skip_cmp_dst_port } \ } diff --git a/sbin/pfctl/tests/files/pf0004.ok b/sbin/pfctl/tests/files/pf0004.ok index 5fca4a50f7b1..87b71cdeff3d 100644 --- a/sbin/pfctl/tests/files/pf0004.ok +++ b/sbin/pfctl/tests/files/pf0004.ok @@ -15,48 +15,48 @@ block drop in proto tcp from any port >= 80 to any port 1024:2048 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = ircd block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6668 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port 6669:65535 -block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = ircd -block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668 -block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = ircd block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = 6668 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port 6669:65535 +block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = ircd +block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668 +block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = ircd block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = 6668 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 12.34.56.78 port 6669:65535 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = ircd block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6668 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port 6669:65535 -block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = ircd -block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668 -block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = ircd block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = 6668 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port 6669:65535 +block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = ircd +block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668 +block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = ircd block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = 6668 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6667 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6668 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port 6669:65535 -block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6667 -block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668 -block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = 6667 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = 6668 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port 6669:65535 +block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6667 +block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668 +block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = 6667 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = 6668 block drop in inet proto udp from 10.0.0.0/8 port = ftp to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6667 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6668 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port 6669:65535 -block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6667 -block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668 -block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = 6667 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = 6668 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port 6669:65535 +block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6667 +block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668 +block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port 6669:65535 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = 6667 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = 6668 block drop in inet proto udp from 172.16.0.0/12 port = ftp to 12.34.56.78 port 6669:65535 diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index dfc42c16547f..79dcd0d65985 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1619,6 +1619,8 @@ struct pf_pdesc { * state code. Easier than tags */ #define PFDESC_TCP_NORM 0x0001 /* TCP shall be statefully scrubbed */ #define PFDESC_IP_REAS 0x0002 /* IP frags would've been reassembled */ + u_int16_t virtual_proto; +#define PF_VPROTO_FRAGMENT 256 sa_family_t af; u_int8_t proto; u_int8_t tos; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 19e0014ce4eb..ccfe1a0fcd96 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -333,9 +333,6 @@ static int pf_create_state(struct pf_krule *, struct pf_krule *, static int pf_state_key_addr_setup(struct pf_pdesc *, struct mbuf *, int, struct pf_state_key_cmp *, int, struct pf_addr *, int, struct pf_addr *, int); -static int pf_test_fragment(struct pf_krule **, struct pfi_kkif *, - struct mbuf *, struct pf_pdesc *, - struct pf_krule **, struct pf_kruleset **); static int pf_tcp_track_full(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, struct pf_pdesc *, u_short *, int *); @@ -2962,13 +2959,13 @@ pf_calc_skip_steps(struct pf_krulequeue *rules) if (cur->src.neg != prev->src.neg || pf_addr_wrap_neq(&cur->src.addr, &prev->src.addr)) PF_SET_SKIP_STEPS(PF_SKIP_SRC_ADDR); + if (cur->dst.neg != prev->dst.neg || + pf_addr_wrap_neq(&cur->dst.addr, &prev->dst.addr)) + PF_SET_SKIP_STEPS(PF_SKIP_DST_ADDR); if (cur->src.port[0] != prev->src.port[0] || cur->src.port[1] != prev->src.port[1] || cur->src.port_op != prev->src.port_op) PF_SET_SKIP_STEPS(PF_SKIP_SRC_PORT); - if (cur->dst.neg != prev->dst.neg || - pf_addr_wrap_neq(&cur->dst.addr, &prev->dst.addr)) - PF_SET_SKIP_STEPS(PF_SKIP_DST_ADDR); if (cur->dst.port[0] != prev->dst.port[0] || cur->dst.port[1] != prev->dst.port[1] || cur->dst.port_op != prev->dst.port_op) @@ -4877,6 +4874,14 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) return (action); } +#define PF_TEST_ATTRIB(t, a)\ + do { \ + if (t) { \ + r = a; \ + goto nextrule; \ + } \ + } while (0) + static int pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, struct mbuf *m, int off, struct pf_pdesc *pd, struct pf_krule **am, @@ -4916,7 +4921,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, pd->lookup.done = 1; } - switch (pd->proto) { + switch (pd->virtual_proto) { case IPPROTO_TCP: sport = th->th_sport; dport = th->th_dport; @@ -5131,108 +5136,136 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); - if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; - else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; - else if (r->af && r->af != af) - r = r->skip[PF_SKIP_AF].ptr; - else if (r->proto && r->proto != pd->proto) - r = r->skip[PF_SKIP_PROTO].ptr; - else if (PF_MISMATCHAW(&r->src.addr, saddr, af, - r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; - /* tcp/udp only. port_op always 0 in other cases */ - else if (r->src.port_op && !pf_match_port(r->src.port_op, - r->src.port[0], r->src.port[1], sport)) - r = r->skip[PF_SKIP_SRC_PORT].ptr; - else if (PF_MISMATCHAW(&r->dst.addr, daddr, af, - r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; - /* tcp/udp only. port_op always 0 in other cases */ - else if (r->dst.port_op && !pf_match_port(r->dst.port_op, - r->dst.port[0], r->dst.port[1], dport)) - r = r->skip[PF_SKIP_DST_PORT].ptr; - /* icmp only. type always 0 in other cases */ - else if (r->type && r->type != icmptype + 1) - r = TAILQ_NEXT(r, entries); - /* icmp only. type always 0 in other cases */ - else if (r->code && r->code != icmpcode + 1) - r = TAILQ_NEXT(r, entries); - else if (r->tos && !(r->tos == pd->tos)) - r = TAILQ_NEXT(r, entries); - else if (r->rule_flag & PFRULE_FRAGMENT) - r = TAILQ_NEXT(r, entries); - else if (pd->proto == IPPROTO_TCP && - (r->flagset & th->th_flags) != r->flags) - r = TAILQ_NEXT(r, entries); - /* tcp/udp only. uid.op always 0 in other cases */ - else if (r->uid.op && (pd->lookup.done || (pd->lookup.done = - pf_socket_lookup(pd, m), 1)) && - !pf_match_uid(r->uid.op, r->uid.uid[0], r->uid.uid[1], - pd->lookup.uid)) - r = TAILQ_NEXT(r, entries); - /* tcp/udp only. gid.op always 0 in other cases */ - else if (r->gid.op && (pd->lookup.done || (pd->lookup.done = - pf_socket_lookup(pd, m), 1)) && - !pf_match_gid(r->gid.op, r->gid.gid[0], r->gid.gid[1], - pd->lookup.gid)) - r = TAILQ_NEXT(r, entries); - else if (r->prio && - !pf_match_ieee8021q_pcp(r->prio, m)) - r = TAILQ_NEXT(r, entries); - else if (r->prob && - r->prob <= arc4random()) - r = TAILQ_NEXT(r, entries); - else if (r->match_tag && !pf_match_tag(m, r, &tag, - pd->pf_mtag ? pd->pf_mtag->tag : 0)) - r = TAILQ_NEXT(r, entries); - else if (r->rcv_kif && !pf_match_rcvif(m, r)) - r = TAILQ_NEXT(r, entries); - else if (r->os_fingerprint != PF_OSFP_ANY && - (pd->proto != IPPROTO_TCP || !pf_osfp_match( + PF_TEST_ATTRIB(pfi_kkif_match(r->kif, kif) == r->ifnot, + r->skip[PF_SKIP_IFP].ptr); + PF_TEST_ATTRIB(r->direction && r->direction != pd->dir, + r->skip[PF_SKIP_DIR].ptr); + PF_TEST_ATTRIB(r->af && r->af != af, + r->skip[PF_SKIP_AF].ptr); + PF_TEST_ATTRIB(r->proto && r->proto != pd->proto, + r->skip[PF_SKIP_PROTO].ptr); + PF_TEST_ATTRIB(PF_MISMATCHAW(&r->src.addr, saddr, af, + r->src.neg, kif, M_GETFIB(m)), + r->skip[PF_SKIP_SRC_ADDR].ptr); + PF_TEST_ATTRIB(PF_MISMATCHAW(&r->dst.addr, daddr, af, + r->dst.neg, NULL, M_GETFIB(m)), + r->skip[PF_SKIP_DST_ADDR].ptr); + switch (pd->virtual_proto) { + case PF_VPROTO_FRAGMENT: + /* tcp/udp only. port_op always 0 in other cases */ + PF_TEST_ATTRIB((r->src.port_op || r->dst.port_op), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB((pd->proto == IPPROTO_TCP && r->flagset), + TAILQ_NEXT(r, entries)); + /* icmp only. type/code always 0 in other cases */ + PF_TEST_ATTRIB((r->type || r->code), + TAILQ_NEXT(r, entries)); + /* tcp/udp only. {uid|gid}.op always 0 in other cases */ + PF_TEST_ATTRIB((r->gid.op || r->uid.op), + TAILQ_NEXT(r, entries)); + break; + + case IPPROTO_TCP: + PF_TEST_ATTRIB((r->flagset & th->th_flags) != r->flags, + TAILQ_NEXT(r, entries)); + /* FALLTHROUGH */ + case IPPROTO_SCTP: + case IPPROTO_UDP: + /* tcp/udp only. port_op always 0 in other cases */ + PF_TEST_ATTRIB(r->src.port_op && !pf_match_port(r->src.port_op, + r->src.port[0], r->src.port[1], sport), + r->skip[PF_SKIP_SRC_PORT].ptr); + /* tcp/udp only. port_op always 0 in other cases */ + PF_TEST_ATTRIB(r->dst.port_op && !pf_match_port(r->dst.port_op, + r->dst.port[0], r->dst.port[1], dport), + r->skip[PF_SKIP_DST_PORT].ptr); + /* tcp/udp only. uid.op always 0 in other cases */ + PF_TEST_ATTRIB(r->uid.op && (pd->lookup.done || (pd->lookup.done = + pf_socket_lookup(pd, m), 1)) && + !pf_match_uid(r->uid.op, r->uid.uid[0], r->uid.uid[1], + pd->lookup.uid), + TAILQ_NEXT(r, entries)); + /* tcp/udp only. gid.op always 0 in other cases */ + PF_TEST_ATTRIB(r->gid.op && (pd->lookup.done || (pd->lookup.done = + pf_socket_lookup(pd, m), 1)) && + !pf_match_gid(r->gid.op, r->gid.gid[0], r->gid.gid[1], + pd->lookup.gid), + TAILQ_NEXT(r, entries)); + break; + + case IPPROTO_ICMP: + case IPPROTO_ICMPV6: + /* icmp only. type always 0 in other cases */ + PF_TEST_ATTRIB(r->type && r->type != icmptype + 1, + TAILQ_NEXT(r, entries)); + /* icmp only. type always 0 in other cases */ + PF_TEST_ATTRIB(r->code && r->code != icmpcode + 1, + TAILQ_NEXT(r, entries)); + break; + + default: + break; + } + PF_TEST_ATTRIB(r->tos && !(r->tos == pd->tos), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB(r->prio && + !pf_match_ieee8021q_pcp(r->prio, m), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB(r->prob && + r->prob <= arc4random(), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB(r->match_tag && !pf_match_tag(m, r, &tag, + pd->pf_mtag ? pd->pf_mtag->tag : 0), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB(r->rcv_kif && !pf_match_rcvif(m, r), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB((r->rule_flag & PFRULE_FRAGMENT && + pd->virtual_proto != PF_VPROTO_FRAGMENT), + TAILQ_NEXT(r, entries)); + PF_TEST_ATTRIB(r->os_fingerprint != PF_OSFP_ANY && + (pd->virtual_proto != IPPROTO_TCP || !pf_osfp_match( pf_osfp_fingerprint(pd, m, off, th), - r->os_fingerprint))) - r = TAILQ_NEXT(r, entries); - else { - if (r->tag) - tag = r->tag; - if (r->anchor == NULL) { - if (r->action == PF_MATCH) { - ri = malloc(sizeof(struct pf_krule_item), M_PF_RULE_ITEM, M_NOWAIT | M_ZERO); - if (ri == NULL) { - REASON_SET(&reason, PFRES_MEMORY); - goto cleanup; - } - ri->r = r; - SLIST_INSERT_HEAD(&match_rules, ri, entry); - pf_counter_u64_critical_enter(); - pf_counter_u64_add_protected(&r->packets[pd->dir == PF_OUT], 1); - pf_counter_u64_add_protected(&r->bytes[pd->dir == PF_OUT], pd->tot_len); - pf_counter_u64_critical_exit(); - pf_rule_to_actions(r, &pd->act); - if (r->log || pd->act.log & PF_LOG_MATCHES) - PFLOG_PACKET(kif, m, - r->action, PFRES_MATCH, r, - a, ruleset, pd, 1); - } else { - match = 1; - *rm = r; - *am = a; - *rsm = ruleset; - if (pd->act.log & PF_LOG_MATCHES) - PFLOG_PACKET(kif, m, - r->action, PFRES_MATCH, r, - a, ruleset, pd, 1); + r->os_fingerprint)), + TAILQ_NEXT(r, entries)); + /* FALLTHROUGH */ + if (r->tag) + tag = r->tag; + if (r->anchor == NULL) { + if (r->action == PF_MATCH) { + ri = malloc(sizeof(struct pf_krule_item), M_PF_RULE_ITEM, M_NOWAIT | M_ZERO); + if (ri == NULL) { + REASON_SET(&reason, PFRES_MEMORY); + goto cleanup; } - if ((*rm)->quick) - break; - r = TAILQ_NEXT(r, entries); - } else - pf_step_into_anchor(anchor_stack, &asd, - &ruleset, PF_RULESET_FILTER, &r, &a, - &match); - } + ri->r = r; + SLIST_INSERT_HEAD(&match_rules, ri, entry); + pf_counter_u64_critical_enter(); + pf_counter_u64_add_protected(&r->packets[pd->dir == PF_OUT], 1); + pf_counter_u64_add_protected(&r->bytes[pd->dir == PF_OUT], pd->tot_len); + pf_counter_u64_critical_exit(); + pf_rule_to_actions(r, &pd->act); + if (r->log || pd->act.log & PF_LOG_MATCHES) + PFLOG_PACKET(kif, m, + r->action, PFRES_MATCH, r, + a, ruleset, pd, 1); + } else { + match = 1; + *rm = r; + *am = a; + *rsm = ruleset; + if (pd->act.log & PF_LOG_MATCHES) + PFLOG_PACKET(kif, m, + r->action, PFRES_MATCH, r, + a, ruleset, pd, 1); + } + if ((*rm)->quick) + break; + r = TAILQ_NEXT(r, entries); + } else + pf_step_into_anchor(anchor_stack, &asd, + &ruleset, PF_RULESET_FILTER, &r, &a, + &match); +nextrule: if (r == NULL && pf_step_out_of_anchor(anchor_stack, &asd, &ruleset, PF_RULESET_FILTER, &r, &a, &match)) break; @@ -5252,7 +5285,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, PFLOG_PACKET(kif, m, r->action, reason, r, a, ruleset, pd, 1); } - if ((r->action == PF_DROP) && + if (pd->virtual_proto != PF_VPROTO_FRAGMENT && + (r->action == PF_DROP) && ((r->rule_flag & PFRULE_RETURNRST) || (r->rule_flag & PFRULE_RETURNICMP) || (r->rule_flag & PFRULE_RETURN))) { @@ -5270,8 +5304,9 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, if (pd->act.rtableid >= 0) M_SETFIB(m, pd->act.rtableid); - if (!state_icmp && (r->keep_state || nr != NULL || - (pd->flags & PFDESC_TCP_NORM))) { + if (pd->virtual_proto != PF_VPROTO_FRAGMENT && + (!state_icmp && (r->keep_state || nr != NULL || + (pd->flags & PFDESC_TCP_NORM)))) { int action; action = pf_create_state(r, nr, a, pd, nsn, nk, sk, m, off, sport, dport, &rewrite, kif, sm, tag, bproto_sum, bip_sum, @@ -5595,133 +5630,6 @@ drop: return (PF_DROP); } -static int -pf_test_fragment(struct pf_krule **rm, struct pfi_kkif *kif, - struct mbuf *m, struct pf_pdesc *pd, struct pf_krule **am, - struct pf_kruleset **rsm) -{ - struct pf_krule *r, *a = NULL; - struct pf_kruleset *ruleset = NULL; - struct pf_krule_slist match_rules; - struct pf_krule_item *ri; - sa_family_t af = pd->af; - u_short reason; - int tag = -1; - int asd = 0; - int match = 0; - struct pf_kanchor_stackframe anchor_stack[PF_ANCHOR_STACKSIZE]; - - PF_RULES_RASSERT(); - - r = TAILQ_FIRST(pf_main_ruleset.rules[PF_RULESET_FILTER].active.ptr); - SLIST_INIT(&match_rules); - while (r != NULL) { - pf_counter_u64_add(&r->evaluations, 1); - if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; - else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; - else if (r->af && r->af != af) - r = r->skip[PF_SKIP_AF].ptr; - else if (r->proto && r->proto != pd->proto) - r = r->skip[PF_SKIP_PROTO].ptr; - else if (PF_MISMATCHAW(&r->src.addr, pd->src, af, - r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; - else if (PF_MISMATCHAW(&r->dst.addr, pd->dst, af, - r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; - else if (r->tos && !(r->tos == pd->tos)) - r = TAILQ_NEXT(r, entries); - else if (r->os_fingerprint != PF_OSFP_ANY) - r = TAILQ_NEXT(r, entries); - else if (pd->proto == IPPROTO_UDP && - (r->src.port_op || r->dst.port_op)) - r = TAILQ_NEXT(r, entries); - else if (pd->proto == IPPROTO_TCP && - (r->src.port_op || r->dst.port_op || r->flagset)) - r = TAILQ_NEXT(r, entries); - else if ((pd->proto == IPPROTO_ICMP || - pd->proto == IPPROTO_ICMPV6) && - (r->type || r->code)) - r = TAILQ_NEXT(r, entries); - else if (r->prio && - !pf_match_ieee8021q_pcp(r->prio, m)) - r = TAILQ_NEXT(r, entries); - else if (r->prob && r->prob <= - (arc4random() % (UINT_MAX - 1) + 1)) - r = TAILQ_NEXT(r, entries); - else if (r->match_tag && !pf_match_tag(m, r, &tag, - pd->pf_mtag ? pd->pf_mtag->tag : 0)) - r = TAILQ_NEXT(r, entries); - else { - if (r->anchor == NULL) { - if (r->action == PF_MATCH) { - ri = malloc(sizeof(struct pf_krule_item), M_PF_RULE_ITEM, M_NOWAIT | M_ZERO); - if (ri == NULL) { - REASON_SET(&reason, PFRES_MEMORY); - goto cleanup; - } - ri->r = r; - SLIST_INSERT_HEAD(&match_rules, ri, entry); - pf_counter_u64_critical_enter(); - pf_counter_u64_add_protected(&r->packets[pd->dir == PF_OUT], 1); - pf_counter_u64_add_protected(&r->bytes[pd->dir == PF_OUT], pd->tot_len); - pf_counter_u64_critical_exit(); - pf_rule_to_actions(r, &pd->act); - if (r->log) - PFLOG_PACKET(kif, m, - r->action, PFRES_MATCH, r, - a, ruleset, pd, 1); - } else { - match = 1; - *rm = r; - *am = a; - *rsm = ruleset; - } - if ((*rm)->quick) - break; - r = TAILQ_NEXT(r, entries); - } else - pf_step_into_anchor(anchor_stack, &asd, - &ruleset, PF_RULESET_FILTER, &r, &a, - &match); - } - if (r == NULL && pf_step_out_of_anchor(anchor_stack, &asd, - &ruleset, PF_RULESET_FILTER, &r, &a, &match)) - break; - } - r = *rm; - a = *am; - ruleset = *rsm; - - REASON_SET(&reason, PFRES_MATCH); - - /* apply actions for last matching pass/block rule */ - pf_rule_to_actions(r, &pd->act); - - if (r->log) - PFLOG_PACKET(kif, m, r->action, reason, r, a, ruleset, pd, 1); - - if (r->action != PF_PASS) - return (PF_DROP); - - if (tag > 0 && pf_tag_packet(m, pd, tag)) { - REASON_SET(&reason, PFRES_MEMORY); - goto cleanup; - } - - return (PF_PASS); - -cleanup: - while ((ri = SLIST_FIRST(&match_rules))) { - SLIST_REMOVE_HEAD(&match_rules, entry); - free(ri, M_PF_RULE_ITEM); - } - - return (PF_DROP); -} - static int pf_tcp_track_full(struct pf_kstate **state, struct pfi_kkif *kif, struct mbuf *m, int off, struct pf_pdesc *pd, u_short *reason, @@ -8556,7 +8464,8 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s, static int pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, u_short *action, u_short *reason, struct pfi_kkif *kif, struct pf_krule **a, - struct pf_krule **r, struct pf_kruleset **ruleset, int *off, int *hdrlen, + struct pf_krule **r, struct pf_kstate **s, struct pf_kruleset **ruleset, + int *off, int *hdrlen, struct inpcb *inp, struct pf_rule_actions *default_actions) { @@ -8589,7 +8498,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, pd->sport = pd->dport = NULL; pd->ip_sum = &h->ip_sum; pd->proto_sum = NULL; - pd->proto = h->ip_p; + pd->virtual_proto = pd->proto = h->ip_p; pd->dir = dir; pd->sidx = (dir == PF_IN) ? 0 : 1; pd->didx = (dir == PF_IN) ? 1 : 0; @@ -8600,9 +8509,21 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, if (h->ip_hl > 5) /* has options */ pd->badopts++; - /* fragments not reassembled handled later */ - if (h->ip_off & htons(IP_MF | IP_OFFMASK)) - return (0); + if (h->ip_off & htons(IP_MF | IP_OFFMASK)) { + /* + * handle fragments that aren't reassembled by + * normalization + */ + pd->virtual_proto = PF_VPROTO_FRAGMENT; + if (kif == NULL || r == NULL) /* pflog */ + *action = PF_DROP; + else + *action = pf_test_rule(r, s, kif, m, *off, + pd, a, ruleset, inp, *hdrlen); + if (*action != PF_PASS) + REASON_SET(reason, PFRES_FRAG); + return (-1); + } break; } @@ -8624,17 +8545,19 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, pd->tos = IPV6_DSCP(h); pd->tot_len = ntohs(h->ip6_plen) + sizeof(struct ip6_hdr); *off = ((caddr_t)h - m->m_data) + sizeof(struct ip6_hdr); - pd->proto = h->ip6_nxt; + pd->virtual_proto = pd->proto = h->ip6_nxt; pd->act.rtableid = -1; do { switch (pd->proto) { case IPPROTO_FRAGMENT: + pd->virtual_proto = PF_VPROTO_FRAGMENT; if (kif == NULL || r == NULL) /* pflog */ *action = PF_DROP; else - *action = pf_test_fragment(r, kif, - m, pd, a, ruleset); + *action = pf_test_rule(r, s, kif, m, *off, + pd, a, ruleset, inp, + *hdrlen); if (*action == PF_DROP) REASON_SET(reason, PFRES_FRAG); return (-1); @@ -8682,7 +8605,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, *off += (opt6.ip6e_len + 2) * 4; else *off += (opt6.ip6e_len + 1) * 8; - pd->proto = opt6.ip6e_nxt; + pd->virtual_proto = pd->proto = opt6.ip6e_nxt; /* goto the next header */ break; } @@ -9000,7 +8923,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 } if (pf_setup_pdesc(af, dir, &pd, m, &action, &reason, kif, &a, &r, - &ruleset, &off, &hdrlen, default_actions) == -1) { + &s, &ruleset, &off, &hdrlen, inp, default_actions) == -1) { if (action != PF_PASS) pd.act.log |= PF_LOG_FORCE; goto done; @@ -9060,32 +8983,17 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 m_tag_delete(m, mtag); } - switch (af) { -#ifdef INET - case AF_INET: - /* handle fragments that didn't get reassembled by normalization */ - if (h->ip_off & htons(IP_MF | IP_OFFMASK)) { - action = pf_test_fragment(&r, kif, m, &pd, &a, &ruleset); - goto done; - } - break; -#endif #ifdef INET6 - case AF_INET6: - /* - * we do not support jumbogram. if we keep going, zero ip6_plen - * will do something bad, so drop the packet for now. - */ - if (htons(h6->ip6_plen) == 0) { - action = PF_DROP; - REASON_SET(&reason, PFRES_NORM); /*XXX*/ - goto done; - } - break; -#endif - default: - panic("Unknown af %d", af); + /* + * we do not support jumbogram. if we keep going, zero ip6_plen + * will do something bad, so drop the packet for now. + */ + if (af == AF_INET6 && htons(h6->ip6_plen) == 0) { + action = PF_DROP; + REASON_SET(&reason, PFRES_NORM); /*XXX*/ + goto done; } +#endif switch (pd.proto) { case IPPROTO_TCP: { diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 063abe83274b..77d4ea6c5e70 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -491,8 +491,8 @@ struct pf_rule { #define PF_SKIP_AF 2 #define PF_SKIP_PROTO 3 #define PF_SKIP_SRC_ADDR 4 -#define PF_SKIP_SRC_PORT 5 -#define PF_SKIP_DST_ADDR 6 +#define PF_SKIP_DST_ADDR 5 +#define PF_SKIP_SRC_PORT 6 #define PF_SKIP_DST_PORT 7 #define PF_SKIP_COUNT 8 union pf_rule_ptr skip[PF_SKIP_COUNT]; From nobody Tue Oct 1 10:12:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHtz13lmRz5XcRW; Tue, 01 Oct 2024 10:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHtz11j47z4s6s; Tue, 1 Oct 2024 10:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727777533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=or5LBrqkquC7Brc0v9CiaWD/4YUd25luUk2+TSRVKfc=; b=QMM4kiccNM+pjKyhwBOk680tNAjM5bxEPzz9wO9MAEtZ7Gp0sC7EJstgeEUKIIHuK3N4aE qEJf0B7GP5VFgokWWXHHpEOZAGCgT/ZMFfmyT4vXuC3ZXIvXKLuDILjkdHO1a/fRoU6sUL 3AWYcMeQiwI2aWPrhq75QzOGnU3CclcyHWr3bhjnJSUvphF6AHevLzkHUZLOFgpEkn4ldZ yuiDOfdsZkWarRLKu9rKLd8ARp248Rypnc0vP0RrphsG1h11J4RpBAvFY71cXG7WUPVdG9 7jztyDRTsM/pC0wT16VWY49+0hFWimm+8oLQU5Al7rjzJrVbumhWxShpc110xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727777533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=or5LBrqkquC7Brc0v9CiaWD/4YUd25luUk2+TSRVKfc=; b=xEItnDDS9YO19WijpUo0e6OAEmesihZhlZ7d106lPgcjDeyrt/DxIyrtuuLloBixmnJYQc DcrgSXrYVSLAPUJVW4acrCnNFK1MUvbQSmWbaYcxq6NQdwFVyfE+V5Vx4Hn4nhCYpdTJUa oMcWOzcRKPIuArQ8l1CZkpSwHE5U4fVKoMx7geWBeKrYD5M/gYJ3RlpMOhgyRie+ceZw9u P46aBAM5bfoMpCn+ZptS3TDqdCvcSMnxqd3xUvXB4qYt257AWChQiDPuwLciTMIIe11Mxh U8uvJs8HxeSaEWL4tNJxGQP8BSOvhnx1xY3lIrSzeZlnetv83xn48UmIF0VaNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727777533; a=rsa-sha256; cv=none; b=JgL1DuR3CGmw15YrLGtqTF82SjSlZlpetzdAprCk2Fom1o2zgiZPXu1UPgeBMBPXfNEAyE I2doeI58FyYPSzx9YaaPkEN7yszXCL4ZaWDZOtkDpIE9XgWPd6kHBFFYBUWcMB/t/2Us7Q pauvUGDagWTK+l4HuaXhJxeXFPmdugZJyElmgbuO7OG9l+Qf+xruKz0Axsl13M/ZzIwEFD oFovXQgxxu0ITv+gCRyvIfHCb5CVMOmtKXeI/bLLFYsiQv9mPtEh3sZ4PBLipJX/tjMgMz GOYUSubDGfYoQRcW7LNVMjo64Z0l1taz+pHC/jaYEY8WknSl5Mjdc75E0MHqjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHtz11JF3zYCN; Tue, 1 Oct 2024 10:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491ACD3E031700; Tue, 1 Oct 2024 10:12:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491ACDkj031697; Tue, 1 Oct 2024 10:12:13 GMT (envelope-from git) Date: Tue, 1 Oct 2024 10:12:13 GMT Message-Id: <202410011012.491ACDkj031697@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: 1b745d8b23e4 - main - pf: move normalisation into pf_setup_pdesc() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1b745d8b23e465872e171579cfc944bd57e5501a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1b745d8b23e465872e171579cfc944bd57e5501a commit 1b745d8b23e465872e171579cfc944bd57e5501a Author: Kristof Provost AuthorDate: 2024-09-16 11:58:49 +0000 Commit: Kristof Provost CommitDate: 2024-10-01 07:55:14 +0000 pf: move normalisation into pf_setup_pdesc() This simplifies the code slightly, and brings us closer to the OpenBSD code. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D46707 --- sys/netpfil/pf/pf.c | 111 ++++++++++++++++++++++++++++------------------------ 1 file changed, 60 insertions(+), 51 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ccfe1a0fcd96..51b4cebc88e9 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8462,12 +8462,16 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s, } static int -pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, +pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, u_short *action, u_short *reason, struct pfi_kkif *kif, struct pf_krule **a, struct pf_krule **r, struct pf_kstate **s, struct pf_kruleset **ruleset, int *off, int *hdrlen, struct inpcb *inp, struct pf_rule_actions *default_actions) { + struct mbuf *m = *m0; + + memset(pd, 0, sizeof(*pd)); + pd->dir = dir; TAILQ_INIT(&pd->sctp_multihome_jobs); if (default_actions != NULL) @@ -8486,6 +8490,22 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, case AF_INET: { struct ip *h; + if (__predict_false(m->m_len < sizeof(struct ip)) && + (m = *m0 = m_pullup(*m0, sizeof(struct ip))) == NULL) { + DPFPRINTF(PF_DEBUG_URGENT, + ("pf_test: m_len < sizeof(struct ip), pullup failed\n")); + *action = PF_DROP; + REASON_SET(reason, PFRES_SHORT); + return (-1); + } + + if (pf_normalize_ip(m0, kif, reason, pd) != PF_PASS) { + /* We do IP header normalization and packet reassembly here */ + *action = PF_DROP; + return (-1); + } + m = *m0; + h = mtod(m, struct ip *); *off = h->ip_hl << 2; if (*off < (int)sizeof(*h)) { @@ -8533,6 +8553,23 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf *m, struct ip6_hdr *h; int terminal = 0; + if (__predict_false(m->m_len < sizeof(struct ip6_hdr)) && + (m = *m0 = m_pullup(*m0, sizeof(struct ip6_hdr))) == NULL) { + DPFPRINTF(PF_DEBUG_URGENT, + ("pf_test6: m_len < sizeof(struct ip6_hdr)" + ", pullup failed\n")); + *action = PF_DROP; + REASON_SET(reason, PFRES_SHORT); + return (-1); + } + + /* We do IP header normalization and packet reassembly here */ + if (pf_normalize_ip6(m0, kif, reason, pd) != PF_PASS) { + *action = PF_DROP; + return (-1); + } + m = *m0; + h = mtod(m, struct ip6_hdr *); pd->src = (struct pf_addr *)&h->ip6_src; pd->dst = (struct pf_addr *)&h->ip6_dst; @@ -8855,65 +8892,44 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 return (PF_PASS); } +#ifdef INET6 + /* + * If we end up changing IP addresses (e.g. binat) the stack may get + * confused and fail to send the icmp6 packet too big error. Just send + * it here, before we do any NAT. + */ + if (af == AF_INET6 && dir == PF_OUT && pflags & PFIL_FWD && + IN6_LINKMTU(ifp) < pf_max_frag_size(m)) { + PF_RULES_RUNLOCK(); + *m0 = NULL; + icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, IN6_LINKMTU(ifp)); + return (PF_DROP); + } +#endif + if (__predict_false(! M_WRITABLE(*m0))) { m = *m0 = m_unshare(*m0, M_NOWAIT); if (*m0 == NULL) return (PF_DROP); } - memset(&pd, 0, sizeof(pd)); - pd.dir = dir; + if (pf_setup_pdesc(af, dir, &pd, m0, &action, &reason, kif, &a, &r, + &s, &ruleset, &off, &hdrlen, inp, default_actions) == -1) { + if (action != PF_PASS) + pd.act.log |= PF_LOG_FORCE; + goto done; + } + m = *m0; switch (af) { #ifdef INET case AF_INET: - if (__predict_false(m->m_len < sizeof(struct ip)) && - (m = *m0 = m_pullup(*m0, sizeof(struct ip))) == NULL) { - DPFPRINTF(PF_DEBUG_URGENT, - ("pf_test: m_len < sizeof(struct ip), pullup failed\n")); - PF_RULES_RUNLOCK(); - return (PF_DROP); - } - - if (pf_normalize_ip(m0, kif, &reason, &pd) != PF_PASS) { - /* We do IP header normalization and packet reassembly here */ - action = PF_DROP; - goto done; - } - m = *m0; /* pf_normalize messes with m0 */ h = mtod(m, struct ip *); ttl = h->ip_ttl; break; #endif #ifdef INET6 case AF_INET6: - /* - * If we end up changing IP addresses (e.g. binat) the stack may get - * confused and fail to send the icmp6 packet too big error. Just send - * it here, before we do any NAT. - */ - if (dir == PF_OUT && pflags & PFIL_FWD && IN6_LINKMTU(ifp) < pf_max_frag_size(m)) { - PF_RULES_RUNLOCK(); - *m0 = NULL; - icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, IN6_LINKMTU(ifp)); - return (PF_DROP); - } - - if (__predict_false(m->m_len < sizeof(struct ip6_hdr)) && - (m = *m0 = m_pullup(*m0, sizeof(struct ip6_hdr))) == NULL) { - DPFPRINTF(PF_DEBUG_URGENT, - ("pf_test6: m_len < sizeof(struct ip6_hdr)" - ", pullup failed\n")); - PF_RULES_RUNLOCK(); - return (PF_DROP); - } - - /* We do IP header normalization and packet reassembly here */ - if (pf_normalize_ip6(m0, kif, &reason, &pd) != PF_PASS) { - action = PF_DROP; - goto done; - } - m = *m0; /* pf_normalize messes with m0 */ h6 = mtod(m, struct ip6_hdr *); ttl = h6->ip6_hlim; break; @@ -8922,13 +8938,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 panic("Unknown af %d", af); } - if (pf_setup_pdesc(af, dir, &pd, m, &action, &reason, kif, &a, &r, - &s, &ruleset, &off, &hdrlen, inp, default_actions) == -1) { - if (action != PF_PASS) - pd.act.log |= PF_LOG_FORCE; - goto done; - } - if (pd.pf_mtag != NULL && (pd.pf_mtag->flags & PF_MTAG_FLAG_ROUTE_TO)) { pd.pf_mtag->flags &= ~PF_MTAG_FLAG_ROUTE_TO; From nobody Tue Oct 1 13:26:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHzHf0SmYz5XqmN; Tue, 01 Oct 2024 13:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHzHf00Ggz3xdr; Tue, 1 Oct 2024 13:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727789214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/giH4piECFVvFrzp8Hgnia0OfAwyJ/R1pi5KUHOWW8M=; b=w7TCK6bRQonJ+dvu1nR498iFOfu6fdwC5EIM5vKeAoKcK5lyBUAQKjoJbUcP6IxLM4HjiU miRTfTSjNj4Uj/pFrh38Ttp7UV4BXAYE4TUnLRKHRz2moqwjRiC++yeovi46m9F+0kfDiE yOOnnxhU/SRx9CIgu3mQLMa/Iy9eN87ePl8vPDSynj71Utc4yIgX06A7wDHJQ5Q56CNLXf hPRM6l7JMhJLjfy2kYo6gJgc2QpdEp4ECJZ4vb87UZ1XATvMXHeJr3F+pzbIfWyUS79XbO kuUI3Kx0PkXxW6CfepASJh5RIvx73i8l7RRnY9ZyBq2FNsl+TrE0YXyjkVPhBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727789214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/giH4piECFVvFrzp8Hgnia0OfAwyJ/R1pi5KUHOWW8M=; b=t+B51bYAvCivysKziMQU61elVwnhz6CRAsexuj6S7n28mgaiP1D/oxJ9JLNiuO/gifCLdY 02AnnKIkw8wnkuDEbuXSHdzKItsOtKGFH1TilyOx48Gc2kTu23lq/ljSEpUAV1WYc67z/S G2j0GRXydqy0D+rnVkNyUn+PSm223Gjoa7DZrw/R6L2XqYHkciuY6ZReaNMgnGaKe9zQjx LjLyoNS5v9DBFx9btxvZc4M1Mzjjn3bVdPdmHe6WKpBA8bphkJn2uA0AS2wQEAIDoH68F9 LH9H6COncuIAYlS9pRmzHrF6BelQP4oMBipNBvmFHlqTaZ8w7hTb1ILEBN35ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727789214; a=rsa-sha256; cv=none; b=mNxNv2eczKl6dxnJuO5Wl4XlfwVPZDNFJ4fj+Zf8BlPc2Hog1cCG2REAjFvTMgFKhIOaGl 3G1980eA8P+OGdfJ3loV8e7EU89vmM2U0CGeTvOAuL4yux4aOj/YN4Qo4/L17pd2f/nEkf 0qY/HN0UXfTbYyZmHG+Yd+VEOPgtRJFWOd9KJpMboplBqAZU4SC/FcfmFRkG2S3TdlDDQn XKkOU1VAki+JvXv6ZeeIv+kPaYJa74oM+5XNrcAUcxUWrfU93Pw+6X8nkaKfbLLaP82jQw 1ONfYRGMmSiLORyQcXUjAhl36YrMNl1XjXHcaCJgGrEB5eDG7P1WhhRXLEmmEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHzHd6ZSbzftc; Tue, 1 Oct 2024 13:26:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491DQrjk054259; Tue, 1 Oct 2024 13:26:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491DQrPu054256; Tue, 1 Oct 2024 13:26:53 GMT (envelope-from git) Date: Tue, 1 Oct 2024 13:26:53 GMT Message-Id: <202410011326.491DQrPu054256@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: c2fe7156e992 - main - amd64/mp_machdep.c: 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c2fe7156e992a295756206f59c282b9e971b8c91 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c2fe7156e992a295756206f59c282b9e971b8c91 commit c2fe7156e992a295756206f59c282b9e971b8c91 Author: Konstantin Belousov AuthorDate: 2024-10-01 11:32:19 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-01 11:32:19 +0000 amd64/mp_machdep.c: style Wrap long lines. Remove redundand declaration. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/amd64/amd64/mp_machdep.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 12abb8b6bf8b..00e99f9df192 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -102,16 +102,15 @@ void *bootpcpu; extern u_int mptramp_la57; extern u_int mptramp_nx; -smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown = &smp_targeted_tlb_shootdown_native; +smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown = + &smp_targeted_tlb_shootdown_native; + /* * Local data and functions. */ static int start_ap(int apic_id, vm_paddr_t boot_address); -void -smp_targeted_tlb_shootdown_native(pmap_t pmap, vm_offset_t addr1, vm_offset_t addr2, - smp_invl_cb_t curcpu_cb, enum invl_op_codes op); /* * Initialize the IPI handlers and start up the AP's. */ @@ -586,8 +585,8 @@ invl_scoreboard_slot(u_int cpu) * completion. */ void -smp_targeted_tlb_shootdown_native(pmap_t pmap, vm_offset_t addr1, vm_offset_t addr2, - smp_invl_cb_t curcpu_cb, enum invl_op_codes op) +smp_targeted_tlb_shootdown_native(pmap_t pmap, vm_offset_t addr1, + vm_offset_t addr2, smp_invl_cb_t curcpu_cb, enum invl_op_codes op) { cpuset_t mask; uint32_t generation, *p_cpudone; From nobody Tue Oct 1 13:26:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XHzHg1G0Vz5XrB6; Tue, 01 Oct 2024 13:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XHzHg0mRPz3xmw; Tue, 1 Oct 2024 13:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727789215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s22povjPYNM1MnZyxopGhU67QE18DCiiOMh2ZJoBdC8=; b=t0kOBCl9fdFlqtDr7KBiR9lTC77SToTrvLl2C/c+OdaVcVpfcTT4ykhqqH6IXhYXbt1M5m 4FuQLJ67b9UXMTa3Bgu8TTBlNayiQugxliwPRswCxHa1TbxG+eP+jTOBMnINb4iKL6aF62 XwWPaGMuNDiB/5TngIJv3h0//wZrTrsLetyy27CpjKYcgCXy1/xPYHnOWaeh7KieOx3Z/C F8WxEfvIW8jhtJnxKEHSsbyDnGP5EHxIawi4CWEH7t5wT10H3l0p6mgRfsVJI4mOhgSohk OAPHOiM6e4GXspIS4TBl4dLRURtwREdL7OuRRsT/u/jb93JQO9sToc4Kgsm3Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727789215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s22povjPYNM1MnZyxopGhU67QE18DCiiOMh2ZJoBdC8=; b=P/sD3pANgZnQq5EKizp5rZwSAXkk71K0M7sum++lgkCUK2z5cSuyqi8otF28uTx6BCBs93 kJc5kWbtC4HVDHYSfD7xZUShHPPP8sRuZbhwTu4zGR6KjYio/qntZlibWrsjl7TwcrAIj/ OFCQWxsP9KC1ajZwzBacXNpkaraV9Cg7Y7zYlOVI+8Uw0Uyrmo2x4Cvg71O62RMcfbxo70 PtLXfnSlaJ9joc/WWb2aDD7qeflDu7NOTBgGlVlGAWFenDQAvdqtEt0XkUAnf/PgVJ4dWo n9sOxY/AUVVCD8SAZad6qz0YdPI5RqcpK9VNIBa2cw10j0RZW7M/hyzS6u2yUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727789215; a=rsa-sha256; cv=none; b=YA20e0mzGoSaX/kDeaDPk8iuty1QPg6LMgb2hSJFH+vZHkLszVzGjUNTfZUluARRmlhiQy WQ0QloBTprEPBDXY8qNc/umS7jYK/K17Cxe6FgIEHB0ypNNG42F3jGXpcTeKmiQnCvNMCI nbEqf2e5wEXm6WE54dlxoW1GDMQ364yBzi6wbxyD1g4ySHJ8I1pkXwK/NhPmKDTsNHinJ6 6sBaLK+QrZQuoPobSdivDb5TSPJur7eVHtzjQUDx9uKXdY8PEnDFZYHgWrRkY3pBdVOG93 4Av6yvVm31g2G2OZlKl16pP1XSV/RiAXh0I72fYclbJ4Hwj5zYtzvwsaj8gVXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XHzHg0NWPzftd; Tue, 1 Oct 2024 13:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491DQsNJ054304; Tue, 1 Oct 2024 13:26:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491DQsqR054301; Tue, 1 Oct 2024 13:26:54 GMT (envelope-from git) Date: Tue, 1 Oct 2024 13:26:54 GMT Message-Id: <202410011326.491DQsqR054301@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: 6dcffb980fa3 - main - hyperv: call smp_targeted_tlb_shootdown_native() with pin List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6dcffb980fa3026092f79107ee7668918c9f5490 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6dcffb980fa3026092f79107ee7668918c9f5490 commit 6dcffb980fa3026092f79107ee7668918c9f5490 Author: Konstantin Belousov AuthorDate: 2024-10-01 11:45:23 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-01 11:45:23 +0000 hyperv: call smp_targeted_tlb_shootdown_native() with pin Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/hyperv/vmbus/hyperv_mmu.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/hyperv/vmbus/hyperv_mmu.c b/sys/dev/hyperv/vmbus/hyperv_mmu.c index 7c29fe294093..8e982974161c 100644 --- a/sys/dev/hyperv/vmbus/hyperv_mmu.c +++ b/sys/dev/hyperv/vmbus/hyperv_mmu.c @@ -241,7 +241,6 @@ do_ex_hypercall: critical_exit(); return; native: - sched_unpin(); critical_exit(); return smp_targeted_tlb_shootdown_native(pmap, addr1, addr2, curcpu_cb, op); From nobody Tue Oct 1 14:06:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ09H0hDLz5XtXw; Tue, 01 Oct 2024 14:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ09G6yr8z442G; Tue, 1 Oct 2024 14:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727791587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NZx/92qJeu8UNQiPu09V0i/tuz53j2wV6EDs8M6ahQY=; b=QjJVIFM/lajPxSGJMS/cOD14qjowFY+v6sDzp0qypdeJx2ygdNVLi9ZyXLIxU/nW+2ITWg p9cLtqS93TW/K+bBRGGo6JFMIarjYTxGCwZXh3nRzs13SX52gMXnJYjEhdnY5CyT8oq073 QzZs9rEns/xuqI3pt6ptmONMnC52iMLqmLHzJDuKLJLLSza3jS9XvTfiz9h1FpvDjudFm8 HCl047C3SixAvwR1rHcBh/XDhmjq/ygt8AltpFh3LvxN8GakvADpNZ0S4532CGoqTD6njn 8g/CaZMu5SnCJOCbskJk3WxG5Ruz68iVvQ0FaNecHxTh3/eLiuOHtj1WlGUVOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727791587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NZx/92qJeu8UNQiPu09V0i/tuz53j2wV6EDs8M6ahQY=; b=m9mibV8VUvjsQg/ksXu1P5mTdKrYl91NiL35MYcWnDDvAR/65/st2wyBOj0heQ0tDNAsll dS+xFxsJzPOCGp4/yZdSMy8iDjYI0me3NaWCUTT0lfKFHQgm9I5EycpgLZ8vpJJFdhqq9c SFg3vjp8ELYLzd7BlmWtvvh5X5Ip9IjFO6fLUB+twIqTQmi6Fo5aEcBQiUUGPHNw08c7Wv 5RxjaWztLut2RiLGtw4sey3LqW6sD/5725DbwaB5Cw0Xrh+N0mX64yn9rjiuBirzogoV4T RWMLK6dFl1IVxUzo/gfMw3e/IYRSM7J6ccPZ3gP+J4BM20xwgQYZZwdIN9p2QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727791587; a=rsa-sha256; cv=none; b=rwLrWZAgX7G4Eg4qZToGBJOZ8VJpYlWkCBGpJQfcJjm6A4CRvTDnzcnHxYP09DMjHe2CW8 //iA2LO263/vqAqUUUvu16nBVzP80QrNVlS8GkX24GzYt6wNj5TOx8/16sTOp2MuxA8sWe zDKfgObgL8SMOwzA8wlNY+LVLnP/KafpnVj/rYJoFUDEuyJxuv2MHWgrOsTRtJf49uYbUh xJFZPa2fM08uw3c2tflX6dijU7o20kwui0rHDwt5zhjNuqzMjIzqSOh8LG1MEJH/dNRt9O TeZmmKfpJReUrZelaRrfbHT0XPS6jBHEb5d0YjbLPukOkFaPZg0kg5jvbwySIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ09G6RPNzgby; Tue, 1 Oct 2024 14:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491E6Qej023782; Tue, 1 Oct 2024 14:06:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491E6Q09023780; Tue, 1 Oct 2024 14:06:26 GMT (envelope-from git) Date: Tue, 1 Oct 2024 14:06:26 GMT Message-Id: <202410011406.491E6Q09023780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: 215fd38e2915 - main - ctl: skip the test if ctladm is missing (WITHOUT_ISCSI) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 215fd38e2915d142cb4b0245f137329ef4da5a12 Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=215fd38e2915d142cb4b0245f137329ef4da5a12 commit 215fd38e2915d142cb4b0245f137329ef4da5a12 Author: Olivier Cochard AuthorDate: 2024-10-01 13:59:47 +0000 Commit: Olivier Cochard CommitDate: 2024-10-01 13:59:47 +0000 ctl: skip the test if ctladm is missing (WITHOUT_ISCSI) Reviewed by: asomers Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D46853 --- tests/sys/cam/ctl/prevent.sh | 10 +++++----- tests/sys/cam/ctl/read_buffer.sh | 10 +++++----- tests/sys/cam/ctl/start_stop_unit.sh | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/sys/cam/ctl/prevent.sh b/tests/sys/cam/ctl/prevent.sh index a5a187dad8ff..315bedc39581 100644 --- a/tests/sys/cam/ctl/prevent.sh +++ b/tests/sys/cam/ctl/prevent.sh @@ -36,7 +36,7 @@ allow_head() { atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL will prevent a CD from being ejected" atf_set "require.user" "root" - atf_set "require.progs" sg_prevent sg_start + atf_set "require.progs" "sg_prevent sg_start ctladm" } allow_body() { @@ -63,7 +63,7 @@ allow_idempotent_head() { atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL is idempotent when run from the same initiator" atf_set "require.user" "root" - atf_set "require.progs" sg_prevent sg_start + atf_set "require.progs" "sg_prevent sg_start ctladm" } allow_idempotent_body() { @@ -89,7 +89,7 @@ nonremovable_head() { atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL may not be used on non-removable media" atf_set "require.user" "root" - atf_set "require.progs" sg_prevent + atf_set "require.progs" "sg_prevent ctladm" } nonremovable_body() { @@ -108,7 +108,7 @@ prevent_head() { atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL will prevent a CD from being ejected" atf_set "require.user" "root" - atf_set "require.progs" sg_prevent sg_start + atf_set "require.progs" "sg_prevent sg_start ctladm" } prevent_body() { @@ -130,7 +130,7 @@ prevent_idempotent_head() { atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL is idempotent when run from the same initiator" atf_set "require.user" "root" - atf_set "require.progs" sg_prevent sg_start + atf_set "require.progs" "sg_prevent sg_start ctladm" } prevent_idempotent_body() { diff --git a/tests/sys/cam/ctl/read_buffer.sh b/tests/sys/cam/ctl/read_buffer.sh index e54b0dadc134..98515943dd40 100644 --- a/tests/sys/cam/ctl/read_buffer.sh +++ b/tests/sys/cam/ctl/read_buffer.sh @@ -35,7 +35,7 @@ basic_head() { atf_set "descr" "READ BUFFER can retrieve data previously written by WRITE BUFFER" atf_set "require.user" "root" - atf_set "require.progs" sg_read_buffer sg_write_buffer + atf_set "require.progs" "sg_read_buffer sg_write_buffer ctladm" } basic_body() { @@ -66,7 +66,7 @@ desc_head() { atf_set "descr" "READ BUFFER can retrieve the buffer size via the DESCRIPTOR mode" atf_set "require.user" "root" - atf_set "require.progs" sg_read_buffer + atf_set "require.progs" "sg_read_buffer ctladm" } desc_body() { @@ -84,7 +84,7 @@ length_head() { atf_set "descr" "READ BUFFER can limit its length with the LENGTH field" atf_set "require.user" "root" - atf_set "require.progs" sg_read_buffer sg_write_buffer + atf_set "require.progs" "sg_read_buffer sg_write_buffer ctladm" } length_body() { @@ -113,7 +113,7 @@ offset_head() { atf_set "descr" "READ BUFFER accepts the BUFFER OFFSET field" atf_set "require.user" "root" - atf_set "require.progs" sg_read_buffer sg_write_buffer + atf_set "require.progs" "sg_read_buffer sg_write_buffer ctladm" } offset_body() { @@ -142,7 +142,7 @@ uninitialized_head() { atf_set "descr" "READ BUFFER buffers are zero-initialized" atf_set "require.user" "root" - atf_set "require.progs" sg_read_buffer + atf_set "require.progs" "sg_read_buffer ctladm" } uninitialized_body() { diff --git a/tests/sys/cam/ctl/start_stop_unit.sh b/tests/sys/cam/ctl/start_stop_unit.sh index 163011c8f574..a1160b35e4a7 100644 --- a/tests/sys/cam/ctl/start_stop_unit.sh +++ b/tests/sys/cam/ctl/start_stop_unit.sh @@ -40,7 +40,7 @@ eject_head() { atf_set "descr" "START STOP UNIT can eject a CDROM device" atf_set "require.user" "root" - atf_set "require.progs" sg_start sg_readcap + atf_set "require.progs" "sg_start sg_readcap ctladm" } eject_body() { @@ -68,7 +68,7 @@ load_head() { atf_set "descr" "START STOP UNIT can load a CDROM device" atf_set "require.user" "root" - atf_set "require.progs" sg_start sg_readcap + atf_set "require.progs" "sg_start sg_readcap ctladm" } load_body() { @@ -97,7 +97,7 @@ start_head() { atf_set "descr" "START STOP UNIT can start a device" atf_set "require.user" "root" - atf_set "require.progs" sg_start sg_readcap + atf_set "require.progs" "sg_start sg_readcap ctladm" } start_body() { @@ -123,7 +123,7 @@ stop_head() { atf_set "descr" "START STOP UNIT can stop a device" atf_set "require.user" "root" - atf_set "require.progs" sg_start sg_readcap + atf_set "require.progs" "sg_start sg_readcap ctladm" } stop_body() { From nobody Tue Oct 1 15:30:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ22M0GYlz5Y0Hx; Tue, 01 Oct 2024 15:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ22L6m6Gz4Bsj; Tue, 1 Oct 2024 15:30:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mbYlegZVcVFqS5Dfq1QYJaCvFDY6azlIKFgNcWtejR8=; b=PAbso+ZWPHWGeaxUDg+OdzV38/JkpChncyA1o18tg/3Y4inII/snkDz8x7vafgpENJTFXR jI+DvuJMLNTiZVX+Juo05iKhNX/3n9UigBuO1a1nTXDjaJJDYO3hb+Cd+5w9kTAGJuse/C EHpxVYhTMKXMMasOs/dfBW6odHW+zxN8Mnxbz/4405RIeHuYY+7/ZNZtkJuocA/yQ6cKhG JOd+9WePrULwZ3EAZWm2VSvt7ZPDUoxPOtmrMUMSM6nPbHIdgzlbt4bEAJ3n/cNKVT6azt cLi9s+Q05MR9jiXsvuR6WeEy5SkEE2XRQN18Z8RCUeKE2WiUHhITVo9bPPyuaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mbYlegZVcVFqS5Dfq1QYJaCvFDY6azlIKFgNcWtejR8=; b=iR20QJA0h/Qa/IYEJJt32I7EO/AL0kO5xpjVmDoNW53KSC9C/HA+ArWmpCQXcX02LUkehC jdCLtWlQp+QJOENOgf56A/COPhnaISHKS9f4GhGrydhAYEgHUzU3g5rgNF6oEs7f865+fF tu5i95pBRCxIYVw6svx8IHU0bSVGpoP8oZ+FVeTmbQklhJ1epGCmSgxabTTtSKXILCOEI6 GSyQ9FoSVinU7vr8fLALZVRPo38coyaMTy1iTH1ElVQO1JQkLBuQmBZxId5MXGwKK993fj XKu+JzpD74yJSvebGjElp39gq10XWxN0dx7b+131EQWNqor1DbsCN5PV6yEV7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727796634; a=rsa-sha256; cv=none; b=A81oGFpRmBwPKBeu2wBBLYCBCPr+DFT3jZwSEiQNJussTgUqY/xqxF4iCGM3o+xgmtrkkO PEJtxEoq+m5D+tVY5m0ZAuewf0SkiDmfwyjoOxIj0A4KsuPUIxbxk9nM6ENEYJNiIuV3HT NvWXwVHKQ3FoSGqh4c52t1TyhIQ5G52F8Af8wPienw7vCD0wvZEuMiCmNokHd8yqYiuRDl Bum5xwK/kEkbeZRDPgGes9jQnL2rLlFtnkinTO47VjQpd2ANAqWDnd2+fTjrFfsxQl73Sv OlYdt7pg8Hka65P9nDbffesCvn7flkUGRAi+QJNVcRC4OzaPG5140HKNBWL4rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ22L641Yzk4n; Tue, 1 Oct 2024 15:30:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491FUYF6067211; Tue, 1 Oct 2024 15:30:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491FUYjh067208; Tue, 1 Oct 2024 15:30:34 GMT (envelope-from git) Date: Tue, 1 Oct 2024 15:30:34 GMT Message-Id: <202410011530.491FUYjh067208@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: 941f8aceac1b - main - hhook: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 941f8aceac1b6c16ca4d96b52e60ab437c4f9207 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=941f8aceac1b6c16ca4d96b52e60ab437c4f9207 commit 941f8aceac1b6c16ca4d96b52e60ab437c4f9207 Author: Zhenlei Huang AuthorDate: 2024-10-01 15:28:37 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-01 15:28:37 +0000 hhook: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 1 week --- sys/kern/kern_hhook.c | 8 ++++---- sys/sys/hhook.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_hhook.c b/sys/kern/kern_hhook.c index 602cd28990f0..7085ac717b26 100644 --- a/sys/kern/kern_hhook.c +++ b/sys/kern/kern_hhook.c @@ -127,7 +127,7 @@ hhook_run_hooks(struct hhook_head *hhh, void *ctx_data, struct osd *hosd) * Register a new helper hook function with a helper hook point. */ int -hhook_add_hook(struct hhook_head *hhh, struct hookinfo *hki, uint32_t flags) +hhook_add_hook(struct hhook_head *hhh, const struct hookinfo *hki, uint32_t flags) { struct hhook *hhk, *tmp; int error; @@ -184,7 +184,7 @@ hhook_add_hook(struct hhook_head *hhh, struct hookinfo *hki, uint32_t flags) * struct in the array. */ int -hhook_add_hook_lookup(struct hookinfo *hki, uint32_t flags) +hhook_add_hook_lookup(const struct hookinfo *hki, uint32_t flags) { struct hhook_head **heads_to_hook, *hhh; int error, i, n_heads_to_hook; @@ -242,7 +242,7 @@ tryagain: * Remove a helper hook function from a helper hook point. */ int -hhook_remove_hook(struct hhook_head *hhh, struct hookinfo *hki) +hhook_remove_hook(struct hhook_head *hhh, const struct hookinfo *hki) { struct hhook *tmp; @@ -269,7 +269,7 @@ hhook_remove_hook(struct hhook_head *hhh, struct hookinfo *hki) * virtual instances of the hook point if it is virtualised). */ int -hhook_remove_hook_lookup(struct hookinfo *hki) +hhook_remove_hook_lookup(const struct hookinfo *hki) { struct hhook_head *hhh; diff --git a/sys/sys/hhook.h b/sys/sys/hhook.h index 084023ccb546..f83389fec2e3 100644 --- a/sys/sys/hhook.h +++ b/sys/sys/hhook.h @@ -107,14 +107,14 @@ struct hhook_head { /* Public KPI functions. */ void hhook_run_hooks(struct hhook_head *hhh, void *ctx_data, struct osd *hosd); -int hhook_add_hook(struct hhook_head *hhh, struct hookinfo *hki, +int hhook_add_hook(struct hhook_head *hhh, const struct hookinfo *hki, uint32_t flags); -int hhook_add_hook_lookup(struct hookinfo *hki, uint32_t flags); +int hhook_add_hook_lookup(const struct hookinfo *hki, uint32_t flags); -int hhook_remove_hook(struct hhook_head *hhh, struct hookinfo *hki); +int hhook_remove_hook(struct hhook_head *hhh, const struct hookinfo *hki); -int hhook_remove_hook_lookup(struct hookinfo *hki); +int hhook_remove_hook_lookup(const struct hookinfo *hki); int hhook_head_register(int32_t hhook_type, int32_t hhook_id, struct hhook_head **hhh, uint32_t flags); From nobody Tue Oct 1 15:30:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ22N1rMWz5Y0Yl; Tue, 01 Oct 2024 15:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ22N1D2cz4CpG; Tue, 1 Oct 2024 15:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e7i6WNlGFjSQxOAxfaZHHe9ghity9tAn31xpY8Wph1E=; b=eWY/mnMHL8K9Da7p+++JtCXEkf6YDPbw4dxGPwEtgH+A5ddsXdteacGhUG3uHXO9G2UgWR K1pn2omOZ9dMLDNQpGUXtA4WcWhwdZcgOWsObU5xL50ppwOwxhgDTnoofv4SeqtWt8Aubk Gs0rRrNrnUdlo2phTIAXuTh7HrIYD9v8q7LpQogE/2EiQ5MCBz2dvvaX38S7Ro5gTHZdx+ 4j66X/8OXhuX5r4e9TPohl4hYrXqpNfWiMH9Gq3+9OKQL7DHS6N6Py1o3PLzKugWWslnQ2 uLocPUn7cM8QxvgDd2ztdRFGL0cXZGFzsNVKVnNgf2j4/mQWWQG8fEv534p0lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e7i6WNlGFjSQxOAxfaZHHe9ghity9tAn31xpY8Wph1E=; b=r4X6KupIOyz5ItJ/YOms7UkpOF6Tw+fPUSMKvowKxcQKz4qcoiaBc2zo/3IUQ4IUeGqyOU iSmfgF0gNrgsQQnhIHoIcgOg1igskPgxtEkmvrrdC42Ob/jG9F3JjObQD6lyIUswRHGTXg sxQjn1Z5YsSqQTRJQdPg82rrGTbKgIGTXZ1vP+bwG1EZc76gQXSfCww8hiL1htPrZJiD0x DRDjnyvCd4/6gYObkBWrMffrU5/IzBdjmDoqbHbfTFm4OAgJ6EBN5P95csFtzxLG1N+Vux ZYE9BrKT4XmEQNxsPFTaKjm5NOxHg9v/1GxZ9svLuaHxbnZkLnFRu8xJKGjqpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727796636; a=rsa-sha256; cv=none; b=J5EJdKVdDLdmt2J1/oXK9FYDcfmWVLvCq04FF06NBK2kw1FGmNtEY/Z73S0M5Nyjx4gExp szNIs+uXT4RqhS5VoRgyE9WmkzqyyNZI2m1TXcN+hR3V9pZVwdE1WMUsXdnkyTxIvsGdIU NRP/Hu14MJHuNe88tnPjIx1nB+v1wFWsRNSZXmOt2hTMBtrbJm8jtPodjXC25Ejl7Ia8yy e7lShj0oByj3FKTjKn7ILyqWQhWwCXdoGH1cQ/zQ7T570qNaVk1CdwJ70kqRu8AHXNFbU4 o4lz07MsbyN4YW66hlkhYnuXGIaVDxZ3QN9WkSqK075cW54M4NFuZLX19EbRXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ22N0LpgzjY4; Tue, 1 Oct 2024 15:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491FUZub067259; Tue, 1 Oct 2024 15:30:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491FUZrL067256; Tue, 1 Oct 2024 15:30:35 GMT (envelope-from git) Date: Tue, 1 Oct 2024 15:30:35 GMT Message-Id: <202410011530.491FUZrL067256@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: 89937323bddd - main - khelp: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 89937323bddd41fd8b92430c3ece48d3e32c2c23 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=89937323bddd41fd8b92430c3ece48d3e32c2c23 commit 89937323bddd41fd8b92430c3ece48d3e32c2c23 Author: Zhenlei Huang AuthorDate: 2024-10-01 15:28:37 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-01 15:28:37 +0000 khelp: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 1 week --- share/man/man9/khelp.9 | 6 +++--- sys/kern/kern_khelp.c | 4 ++-- sys/sys/khelp.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/share/man/man9/khelp.9 b/share/man/man9/khelp.9 index 39515eef237c..d619f385d513 100644 --- a/share/man/man9/khelp.9 +++ b/share/man/man9/khelp.9 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 15, 2011 +.Dd October 1, 2024 .Dt KHELP 9 .Os .Sh NAME @@ -48,8 +48,8 @@ .Fn "int khelp_destroy_osd" "struct osd *hosd" .Fn "int32_t khelp_get_id" "char *hname" .Fn "void * khelp_get_osd" "struct osd *hosd" "int32_t id" -.Fn "int khelp_add_hhook" "struct hookinfo *hki" "uint32_t flags" -.Fn "int khelp_remove_hhook" "struct hookinfo *hki" +.Fn "int khelp_add_hhook" "const struct hookinfo *hki" "uint32_t flags" +.Fn "int khelp_remove_hhook" "const struct hookinfo *hki" .Fn KHELP_DECLARE_MOD "hname" "hdata" "hhooks" "version" .Fn KHELP_DECLARE_MOD_UMA "hname" "hdata" "hhooks" "version" "ctor" "dtor" .Sh DESCRIPTION diff --git a/sys/kern/kern_khelp.c b/sys/kern/kern_khelp.c index 1ab56780f394..4a7e93ff69fa 100644 --- a/sys/kern/kern_khelp.c +++ b/sys/kern/kern_khelp.c @@ -253,7 +253,7 @@ khelp_get_id(char *hname) } int -khelp_add_hhook(struct hookinfo *hki, uint32_t flags) +khelp_add_hhook(const struct hookinfo *hki, uint32_t flags) { int error; @@ -267,7 +267,7 @@ khelp_add_hhook(struct hookinfo *hki, uint32_t flags) } int -khelp_remove_hhook(struct hookinfo *hki) +khelp_remove_hhook(const struct hookinfo *hki) { int error; diff --git a/sys/sys/khelp.h b/sys/sys/khelp.h index 2ef45806c35a..7aadb6a58faa 100644 --- a/sys/sys/khelp.h +++ b/sys/sys/khelp.h @@ -70,8 +70,8 @@ void * khelp_get_osd(struct osd *hosd, int32_t id); int32_t khelp_get_id(char *hname); -int khelp_add_hhook(struct hookinfo *hki, uint32_t flags); +int khelp_add_hhook(const struct hookinfo *hki, uint32_t flags); -int khelp_remove_hhook(struct hookinfo *hki); +int khelp_remove_hhook(const struct hookinfo *hki); #endif /* _SYS_KHELP_H_ */ From nobody Tue Oct 1 15:30:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ22P40qKz5Y0Yn; Tue, 01 Oct 2024 15:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ22P1zLDz4Cm7; Tue, 1 Oct 2024 15:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lyKzQ1ZOn+kHbJhM65fuPF9pzuxe33U7D6Ui8bt9IYk=; b=wIAjK69jVT4zAbUK6NPwRVdDvdTziIDoltgvVLfReIZMP4VK1mHOKaQa43j8k5QTU/zE1A Uc1Sexm4lkA116lHtt+Vka2K5DUvR3Ox5hxywdfkbMLj+0A4mP7YFLCuwKzfZJ7oMcoQo9 T7daobPwhbBSnYFLrIGbBnVCah28qI8uMGlNCq8Gah3KhjtpF6ah8yTV0Mr+2RBfIFLKbm PcquBGzFoC35g3ANDdBItHWYNM7tJnv++envmvpYydiBqHTdpsYQhvceCKj/vDrXJnBQmK LjMomSz4wUCtDLVyLLFzJ7bRVKshhGeB0xAWdMeHQk8wTQxgvmjxOHSlIIcp8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lyKzQ1ZOn+kHbJhM65fuPF9pzuxe33U7D6Ui8bt9IYk=; b=U4Y+lBINQ9hI7mwVSE2gdjjD8Zc0KPnsL3L3BhjbcRoVMnI3ZLanPYyRgHQYqSdY+pYAcz WJmeiABMicAznoryvRq5yN2PZ0vP9i75i/ovNawkN6HM4srFmF3HDYV2lsMr3zPMmdIItY ZIjezksQKqmThXZ55K8lyk5sIW3nX5CVXhbvl3s+HzH4X3mB+SygnvEZIzKXPfdFuwV/c2 bEyNF81Cy82ariGDKyWYEfruK1MM2O+qgHWYC4P8P7Fa0MSwNbi/rkeSaBcdeTdhmCTEML zQy5KBnbSwQ76+iLcPX0RIHfQ0sqB63inMfCAB1QJgnh/kfLM1O2LSfHP3gnjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727796637; a=rsa-sha256; cv=none; b=gjGc1VlSPbnuA0mVzpx3eeJ2lYctwL5Jr5/cusqrIIaugIwIDuKCxDG9NFEER86BEJRlAg 60qYZigCwf8zML0a+NS4lLIT+jS6d9AETeYIjeZjYr7BjRBzP/n1/0QZwuM62T4pVw2jB9 +u4+5XodlDPoSMI1dEikoXxuywR/F2KY2CDLhsQVHl3DmirtcYv5F13HE2Vh0ysGs3dj3x v0lz3j4wskxYxmDe/hMfCwriY9exf70JlG9JvnCBcCIFrscDM2eHqFnixeVPlJaZrfog84 Jw+J0T5KBwuu8Mp9xvpenArr9gKEMsh8AI99Ot1Q7VNKAe+vJ912QY19zuMmiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ22P1HWZzk4p; Tue, 1 Oct 2024 15:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491FUboM067301; Tue, 1 Oct 2024 15:30:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491FUb7V067298; Tue, 1 Oct 2024 15:30:37 GMT (envelope-from git) Date: Tue, 1 Oct 2024 15:30:37 GMT Message-Id: <202410011530.491FUb7V067298@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: 7643141e9314 - main - if_enc(4): Make enc_add_hhooks() void List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7643141e9314f1eac0d9ac08457410509e6829ad Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7643141e9314f1eac0d9ac08457410509e6829ad commit 7643141e9314f1eac0d9ac08457410509e6829ad Author: Zhenlei Huang AuthorDate: 2024-10-01 15:28:37 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-01 15:28:37 +0000 if_enc(4): Make enc_add_hhooks() void As for the consumer `enc_add_hhooks()`, `hhook_add_hook()` will never fail for the given parameters. Meanwhile, to build the module if_enc(4), at least option INET or INET6 is required, so no need for the error EPFNOSUPPORT. No functional change intended. Reviewed by: ae MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46770 --- sys/net/if_enc.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/sys/net/if_enc.c b/sys/net/if_enc.c index 18587dc1cb46..3c7ae38324c3 100644 --- a/sys/net/if_enc.c +++ b/sys/net/if_enc.c @@ -96,7 +96,7 @@ static int enc_output(struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *); static int enc_clone_create(struct if_clone *, int, caddr_t); static void enc_clone_destroy(struct ifnet *); -static int enc_add_hhooks(struct enc_softc *); +static void enc_add_hhooks(struct enc_softc *); static void enc_remove_hhooks(struct enc_softc *); static const char encname[] = "enc"; @@ -315,13 +315,12 @@ enc_hhook(int32_t hhook_type, int32_t hhook_id, void *udata, void *ctx_data, return (0); } -static int +static void enc_add_hhooks(struct enc_softc *sc) { struct hookinfo hki; - int error; + int error __diagused; - error = EPFNOSUPPORT; hki.hook_func = enc_hhook; hki.hook_helper = NULL; hki.hook_udata = sc; @@ -330,28 +329,23 @@ enc_add_hhooks(struct enc_softc *sc) hki.hook_type = HHOOK_TYPE_IPSEC_IN; error = hhook_add_hook(V_ipsec_hhh_in[HHOOK_IPSEC_INET], &hki, HHOOK_WAITOK); - if (error != 0) - return (error); + MPASS(error == 0); hki.hook_type = HHOOK_TYPE_IPSEC_OUT; error = hhook_add_hook(V_ipsec_hhh_out[HHOOK_IPSEC_INET], &hki, HHOOK_WAITOK); - if (error != 0) - return (error); + MPASS(error == 0); #endif #ifdef INET6 hki.hook_id = AF_INET6; hki.hook_type = HHOOK_TYPE_IPSEC_IN; error = hhook_add_hook(V_ipsec_hhh_in[HHOOK_IPSEC_INET6], &hki, HHOOK_WAITOK); - if (error != 0) - return (error); + MPASS(error == 0); hki.hook_type = HHOOK_TYPE_IPSEC_OUT; error = hhook_add_hook(V_ipsec_hhh_out[HHOOK_IPSEC_INET6], &hki, HHOOK_WAITOK); - if (error != 0) - return (error); + MPASS(error == 0); #endif - return (error); } static void @@ -394,8 +388,7 @@ vnet_enc_init_proto(void *unused __unused) { KASSERT(V_enc_sc != NULL, ("%s: V_enc_sc is %p\n", __func__, V_enc_sc)); - if (enc_add_hhooks(V_enc_sc) != 0) - enc_clone_destroy(V_enc_sc->sc_ifp); + enc_add_hhooks(V_enc_sc); } VNET_SYSINIT(vnet_enc_init_proto, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, vnet_enc_init_proto, NULL); From nobody Tue Oct 1 15:34:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ2772Ttgz5Y0sB; Tue, 01 Oct 2024 15:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ2771lbkz4Fkc; Tue, 1 Oct 2024 15:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuB1cSxMXAUm6x1t2cGNMwrRz2dOZHtdjSfI7v7ksFM=; b=dIk3kP+tGRjXWEcKLpPGyPw8vReDJj0CcuWsRtgI9KFYo+XK0BgpwRN7KiaOwmxMxHPkFZ nnFD+0NRe23h+dIw0p+qmAOigXhOIVGcWFrHInNrHA3O1oTgpUUQTwh7Bs/QebDzZcMjWR Jg7qJAL4PJvpU32tVkwPByqg0jJWRgVmgCZDkzsJpvW1VX8qW6CYg/YB+uNht6kp5n71vR 6FqqFYKCAwk9uPMHelyF93KzTvMnCcBmtpflMN/Fyewz2fyVsNdXieeczqQXTe//wAp4db jqlTH2IQCt2k84BS5GFxFllfQJmAiB5EZyk/GETqA0a+6TT5KQc084XsD50EvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727796883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuB1cSxMXAUm6x1t2cGNMwrRz2dOZHtdjSfI7v7ksFM=; b=UEN1Eye7UveajmE53bzMMdRXF7oNhmdUQEuiATw8sIN1UYJ2UjSuOZizdKTKQrCG014ye+ FgspVX3vbg624vImKTs3tANfrvnAPJjEugaNEjuUJwr78loUBGfUFQwbca1D9VcJUFLIXy e/oqqTwGCIJsNuAjpVUxMa0Yoch9f9bOlP9WZHjFwdttZrCsZIX+AkHnYpyXpjus7Wl0/z eUA2aaVD7dvhIlBNjFGFu52BeYZmCJEJnDl7X30ydHhvZjwVbBqinhwVduhQbZxyfJU9wN pEKFglB/hwKjkW8PCNMXF8heXG0V8Fcag8zZMVEN/i8XaR5gvqoBmL3pZ6bzxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727796883; a=rsa-sha256; cv=none; b=HQjGz1pvNnwG5nHqf/2WBFlXlUCzHZ1au4yGzOiEHBWb+G8EbiI+D9mROiXqlAluSMVkIH 5Uw5h+QiQtClCuxDzfW+f4+AOBVpB1Nz1ICcLsxoq7uEwLEoopV/XZEmivJinPXPVdQCgj LPxRGiEPc4/eOALmRtE7YEqTFVO2PSEQXh9gzqdSLV5PETc6q8vEHmD2GIb2zPTs3D+4g9 iG10sGkLNlnkCDFRB9O4h3vkWZP+ARWyxdWflLYNhpWBpqzcWXcT91BU76Jd8Kx3RVA1vY XFLV8eUP3lmqryKuSBpkJ3nCsbpbUqNL5uASn5ZY3FwlkWwMkEKmnBo6c/rZHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ27710lCzjxN; Tue, 1 Oct 2024 15:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491FYhYE074344; Tue, 1 Oct 2024 15:34:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491FYhdV074341; Tue, 1 Oct 2024 15:34:43 GMT (envelope-from git) Date: Tue, 1 Oct 2024 15:34:43 GMT Message-Id: <202410011534.491FYhdV074341@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: 2eacb0841c7d - main - tcp: small 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2eacb0841c7dfc92030abc433e53cd31383a0648 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=2eacb0841c7dfc92030abc433e53cd31383a0648 commit 2eacb0841c7dfc92030abc433e53cd31383a0648 Author: Michael Tuexen AuthorDate: 2024-10-01 15:32:18 +0000 Commit: Michael Tuexen CommitDate: 2024-10-01 15:34:35 +0000 tcp: small cleanup No functional change intended. Reviewed by: cc, glebius, markj, rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46850 --- sys/netinet/tcp_syncache.c | 59 ++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index cb175d07c4d2..d0068a9d313b 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1567,49 +1567,46 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, goto donenoprobe; } - if (tfo_cookie_valid) { - bzero(&scs, sizeof(scs)); - sc = &scs; - goto skip_alloc; - } - + KASSERT(sc == NULL, ("sc(%p) != NULL", sc)); /* * Skip allocating a syncache entry if we are just going to discard * it later. */ - if (!locked) { + if (!locked || tfo_cookie_valid) { bzero(&scs, sizeof(scs)); sc = &scs; - } else - sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); - if (sc == NULL) { - /* - * The zone allocator couldn't provide more entries. - * Treat this as if the cache was full; drop the oldest - * entry and insert the new one. - */ - TCPSTAT_INC(tcps_sc_zonefail); - if ((sc = TAILQ_LAST(&sch->sch_bucket, sch_head)) != NULL) { - sch->sch_last_overflow = time_uptime; - syncache_drop(sc, sch); - syncache_pause(inc); - } + } else { sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); if (sc == NULL) { - if (V_tcp_syncookies) { - bzero(&scs, sizeof(scs)); - sc = &scs; - } else { - KASSERT(locked, - ("%s: bucket unexpectedly unlocked", - __func__)); - SCH_UNLOCK(sch); - goto done; + /* + * The zone allocator couldn't provide more entries. + * Treat this as if the cache was full; drop the oldest + * entry and insert the new one. + */ + TCPSTAT_INC(tcps_sc_zonefail); + sc = TAILQ_LAST(&sch->sch_bucket, sch_head); + if (sc != NULL) { + sch->sch_last_overflow = time_uptime; + syncache_drop(sc, sch); + syncache_pause(inc); + } + sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); + if (sc == NULL) { + if (V_tcp_syncookies) { + bzero(&scs, sizeof(scs)); + sc = &scs; + } else { + KASSERT(locked, + ("%s: bucket unexpectedly unlocked", + __func__)); + SCH_UNLOCK(sch); + goto done; + } } } } -skip_alloc: + KASSERT(sc != NULL, ("sc == NULL")); if (!tfo_cookie_valid && tfo_response_cookie_valid) sc->sc_tfo_cookie = &tfo_response_cookie; From nobody Tue Oct 1 16:11:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ2y46VF4z5Y2jD; Tue, 01 Oct 2024 16:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ2y461H1z4JFd; Tue, 1 Oct 2024 16:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727799116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PaTZtMXtdAHBuotKu/s8JT/e+Pu094GCrgBt+mEIYfE=; b=W33xaLbLyembGvT6V5xuUza5m6WmwfjuWUlcRqGWSW1ACwJP+5f5iblz5VNXwR7sI3mQpK nNHCpoL0CyVl3Cewtf49nEPgZWCoDzhXYxhqYpm0VWhFzmC8aFSY28ILcEB3CeVoM7B/yy ztL6Ih/O4KCB6Ni/JEb+V3a8l29Xiz/Lqk8m23BSyxibrtJanDNJzohPyfCdn/MsJWnRw8 GRUAPhgQW6o3MW5QaZo9riFK1ydxQDqVspV0vYoh+oBAqcMtU6Xbsbe+Fb7cb5p8fl3hhI PyshWbRIr1ro+Ay/SLZzUQjR5CNbVMetGbh6i8kRVkF22X6cQF9oPB3EFRhOPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727799116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PaTZtMXtdAHBuotKu/s8JT/e+Pu094GCrgBt+mEIYfE=; b=oqzvxivlGzsw1Vaj0VGgeu1lo7tCUXhGQe1jXnDmNs5BJzRgMQr3BLcY06+kXSYJiTimCF kDx/VAtHb4ZhlyM/7+3IcnoKDXqr9wwlYirVPgrbnNFK3rsSm3/SsRL55m1dbEYvCDvCYX 0wTtWI2lmesD9E89QCMno/XNfS9PPsmr0bG58r5RrTSiil1CpqnB1XdFhxMzZjZKmc2oCY 25WGIbHMWo6Akdm/29GZyCZ+1sa3sj54bNPOj3yajo80uFr/N5PBATLfJBWL+skEm6FqAD 64n2jRYmjHvI645yl78yqc0UkN4Xfk2U/GMCB+gkTf6pzkg5QmDb/43CiK2ifw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727799116; a=rsa-sha256; cv=none; b=gKKplz+wGjiRXWjD84Jo9NUsjw0mEwMwf/NMTMjBZaf4pWZkxVm9BuUTxUiis53AV4w1Xx KGZQfwm+2nNUZGCjlRB8dliYtOueBSWG6FKzIiz3E7O/b9T7KS/59BBK5gFfP5Iuz8Jxcx kUDQVCm5tDbfdRPs4JR24JOQ2z4oaDDQyLi+A98LAd4tluB7alKTMhgnaOscd5mt6tehoO WSnaKLF9gTQ10F4aEk9PC+eYrWOVcF3HhJnhFEr8w14DYoMkeZs7OfvV4JSY62oDtcM79d paHv9GUpAGKkfoTyYAtSkZZSSVs2TIVqcFL42kPYKCdYwiFfqzaNs8MveZzCsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ2y45dMNzkYd; Tue, 1 Oct 2024 16:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491GBuNQ037539; Tue, 1 Oct 2024 16:11:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491GBuXs037536; Tue, 1 Oct 2024 16:11:56 GMT (envelope-from git) Date: Tue, 1 Oct 2024 16:11:56 GMT Message-Id: <202410011611.491GBuXs037536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: e668866c82f4 - main - sysent: Remove comment aligning List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e668866c82f487fe36c4e732e3ce18ae9c44260f Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=e668866c82f487fe36c4e732e3ce18ae9c44260f commit e668866c82f487fe36c4e732e3ce18ae9c44260f Author: agge3 AuthorDate: 2024-09-25 10:49:04 +0000 Commit: Brooks Davis CommitDate: 2024-10-01 16:08:41 +0000 sysent: Remove comment aligning Comment aligning was inconsistent and required a ton of book-keeping. Replaced comment aligning with a simple, single tab out. Pull Request: https://github.com/freebsd/freebsd-src/pull/1441 Signed-off-by: agge3 --- sys/tools/makesyscalls.lua | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua index a87c8c421313..fcabe8e5e284 100644 --- a/sys/tools/makesyscalls.lua +++ b/sys/tools/makesyscalls.lua @@ -637,15 +637,6 @@ local function get_mask_pat(pflags) return mask end -local function align_sysent_comment(col) - write_line("sysent", "\t") - col = col + 8 - col % 8 - while col < 56 do - write_line("sysent", "\t") - col = col + 8 - end -end - local function strip_arg_annotations(arg) arg = arg:gsub("_Contains_[^ ]*[_)] ?", "") arg = arg:gsub("_In[^ ]*[_)] ?", "") @@ -888,20 +879,17 @@ local function handle_noncompat(sysnum, thr_flag, flags, sysflags, rettype, write_line("sysent", string.format("\t{ .sy_narg = %s, .sy_call = (sy_call_t *)", argssize)) - local column = 8 + 2 + #argssize + 15 if flags & known_flags.SYSMUX ~= 0 then write_line("sysent", string.format( "nosys, .sy_auevent = AUE_NULL, " .. ".sy_flags = %s, .sy_thrcnt = SY_THR_STATIC },", sysflags)) - column = column + #"nosys" + #"AUE_NULL" + 3 elseif flags & known_flags.NOSTD ~= 0 then write_line("sysent", string.format( "lkmressys, .sy_auevent = AUE_NULL, " .. ".sy_flags = %s, .sy_thrcnt = SY_THR_ABSENT },", sysflags)) - column = column + #"lkmressys" + #"AUE_NULL" + 3 else if funcname == "nosys" or funcname == "lkmnosys" or funcname == "sysarch" or funcname:find("^freebsd") or @@ -909,17 +897,14 @@ local function handle_noncompat(sysnum, thr_flag, flags, sysflags, rettype, write_line("sysent", string.format( "%s, .sy_auevent = %s, .sy_flags = %s, .sy_thrcnt = %s },", funcname, auditev, sysflags, thr_flag)) - column = column + #funcname + #auditev + #sysflags + 3 else write_line("sysent", string.format( "sys_%s, .sy_auevent = %s, .sy_flags = %s, .sy_thrcnt = %s },", funcname, auditev, sysflags, thr_flag)) - column = column + #funcname + #auditev + #sysflags + 7 end end - align_sysent_comment(column) - write_line("sysent", string.format("/* %d = %s */\n", + write_line("sysent", string.format("\t/* %d = %s */\n", sysnum, funcalias)) write_line("sysnames", string.format("\t\"%s\",\t\t\t/* %d = %s */\n", funcalias, sysnum, funcalias)) @@ -987,9 +972,8 @@ local function handle_obsol(sysnum, funcname, comment) write_line("sysent", "\t{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, " .. ".sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },") - align_sysent_comment(34) - write_line("sysent", string.format("/* %d = obsolete %s */\n", + write_line("sysent", string.format("\t/* %d = obsolete %s */\n", sysnum, comment)) write_line("sysnames", string.format( "\t\"obs_%s\",\t\t\t/* %d = obsolete %s */\n", @@ -1058,17 +1042,13 @@ local function handle_compat(sysnum, thr_flag, flags, sysflags, rettype, ".sy_auevent = %s, .sy_flags = 0, " .. ".sy_thrcnt = SY_THR_ABSENT },", "0", "lkmressys", "AUE_NULL")) - align_sysent_comment(8 + 2 + #"0" + 15 + #"lkmressys" + - #"AUE_NULL" + 3) else write_line("sysent", string.format( "\t{ %s(%s,%s), .sy_auevent = %s, .sy_flags = %s, .sy_thrcnt = %s },", wrap, argssize, funcname, auditev, sysflags, thr_flag)) - align_sysent_comment(8 + 9 + #argssize + 1 + #funcname + - #auditev + #sysflags + 4) end - write_line("sysent", string.format("/* %d = %s %s */\n", + write_line("sysent", string.format("\t/* %d = %s %s */\n", sysnum, descr, funcalias)) write_line("sysnames", string.format( "\t\"%s.%s\",\t\t/* %d = %s %s */\n", @@ -1098,7 +1078,7 @@ local function handle_unimpl(sysnum, sysstart, sysend, comment) write_line("sysent", string.format( "\t{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, " .. ".sy_auevent = AUE_NULL, .sy_flags = 0, " .. - ".sy_thrcnt = SY_THR_ABSENT },\t\t\t/* %d = %s */\n", + ".sy_thrcnt = SY_THR_ABSENT },\t/* %d = %s */\n", sysnum, comment)) write_line("sysnames", string.format( "\t\"#%d\",\t\t\t/* %d = %s */\n", From nobody Tue Oct 1 16:11:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ2y62z5vz5Y2KP; Tue, 01 Oct 2024 16:11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ2y60jKSz4JM9; Tue, 1 Oct 2024 16:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727799118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AcBpQZULalJ26OioWP2SojQuTxszLcO4MJdnAuVWLq8=; b=MCqIJKy7RgMtFePn9uKofkKfbWGdASLv0FwtDvnqHefne/KwqZlB6Wama2t52ZWip8NkVP 9H2JzrPIsu0XXwicWv9S9Ajy8vIvU5c3ggoBPc7OKYFO/a55xhBQK6PtXXnZ06h1jxuX6p Q3T90/JkLNcFlcrBPydbOZuhvRBsFEvmYC4HSVpGHoIPzmIlvai9bh/15aMf03S23n+eq/ NkXK8yHQCuJGY0uOQ8sXU87+pAKN9fYxO5e8AiKX+boaXba+PkaI+W/gcT1/npvIbRdJ7W A/ERkobRmzz4NRUfH/fKIrY/TRiQHR/xzRaslCOAS5T7Pzt+7Qqthg8iiIDtvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727799118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AcBpQZULalJ26OioWP2SojQuTxszLcO4MJdnAuVWLq8=; b=DOVmzTDxM7/FIY/CvT8Q8SegbURBPG1dLb07hQ+7XITCubvPM3MsUF+ASBK9YLrL4lM53h PU9TauJnrdafOsU1nkQ0alVUgnMd4TNL5OjGeJ1zHZc0RvenXhEw6W0mGGlL5aVC6cP7rD IKVHa/oGJTmJbX0MK2VKMnnRwXyq/LMphAdqxmFImt/ssRFY5FT1KQZUqZqz90SKwpJSdV JgPzw6JTxxhRppejZosBT/JvPTHx97ya7WZfM/nR7XiQH3HSP8ZB3Ff+M3d603pH0wsBCq E6KUqjK9BhLy7KNrTr36Mq6dTR9BLLtaio4eQbUKQylPCiNmOwfAD7i+lPaIaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727799118; a=rsa-sha256; cv=none; b=b/DBCV/EidmcQMuZBXryY9y8g0lF7DiPVajVY6jE5Cx6f7+yDfBXp0z0EFhZSAxHMRx74+ g5LaU1oqVgN/LS/jtMvFNhJeOSiZuoYFhocA2fS7iM1PhnOT+N/6iJF9/WfDqC1+1jAyci zO2Am5V9iN+il3JGcOltL3kk5BPySEckbJg6EgsNshevALQh/nUx3x7Ui5I3AOX5yRdkzU 1bx8xozO/xwZdetlQbpCYAaN11Gb28Gf+Q1v3bBCl0OW1yoanPG8rlxCXCB89DuhyAN+Z2 uTU23XlVSEnKVDlBh+H00G+t6vVHWcx0vGnb0nl3Z/dFHX2e/+ZcicgL3gBepg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ2y575B7zkss; Tue, 1 Oct 2024 16:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491GBvvH037585; Tue, 1 Oct 2024 16:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491GBvGg037582; Tue, 1 Oct 2024 16:11:57 GMT (envelope-from git) Date: Tue, 1 Oct 2024 16:11:57 GMT Message-Id: <202410011611.491GBvGg037582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 13227efc5b03 - main - sysent: regen removing comment alignment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13227efc5b034bfa31c90a3b75f9d006c77c6c90 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=13227efc5b034bfa31c90a3b75f9d006c77c6c90 commit 13227efc5b034bfa31c90a3b75f9d006c77c6c90 Author: Brooks Davis AuthorDate: 2024-10-01 16:10:08 +0000 Commit: Brooks Davis CommitDate: 2024-10-01 16:10:08 +0000 sysent: regen removing comment alignment --- sys/amd64/linux/linux_sysent.c | 212 ++++++++++----------- sys/amd64/linux32/linux32_sysent.c | 90 ++++----- sys/arm64/linux/linux_sysent.c | 314 ++++++++++++++++---------------- sys/compat/freebsd32/freebsd32_sysent.c | 242 ++++++++++++------------ sys/i386/linux/linux_sysent.c | 78 ++++---- sys/kern/init_sysent.c | 204 ++++++++++----------- 6 files changed, 570 insertions(+), 570 deletions(-) diff --git a/sys/amd64/linux/linux_sysent.c b/sys/amd64/linux/linux_sysent.c index e5a0ff377de5..8413d2723551 100644 --- a/sys/amd64/linux/linux_sysent.c +++ b/sys/amd64/linux/linux_sysent.c @@ -148,7 +148,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_sigaltstack_args), .sy_call = (sy_call_t *)linux_sigaltstack, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 131 = linux_sigaltstack */ { .sy_narg = AS(linux_utime_args), .sy_call = (sy_call_t *)linux_utime, .sy_auevent = AUE_UTIME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 132 = linux_utime */ { .sy_narg = AS(linux_mknod_args), .sy_call = (sy_call_t *)linux_mknod, .sy_auevent = AUE_MKNOD, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 133 = linux_mknod */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 134 = uselib */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 134 = uselib */ { .sy_narg = AS(linux_personality_args), .sy_call = (sy_call_t *)linux_personality, .sy_auevent = AUE_PERSONALITY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 135 = linux_personality */ { .sy_narg = AS(linux_ustat_args), .sy_call = (sy_call_t *)linux_ustat, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 136 = linux_ustat */ { .sy_narg = AS(linux_statfs_args), .sy_call = (sy_call_t *)linux_statfs, .sy_auevent = AUE_STATFS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 137 = linux_statfs */ @@ -176,7 +176,7 @@ struct sysent linux_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_adjtimex, .sy_auevent = AUE_ADJTIME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 159 = linux_adjtimex */ { .sy_narg = AS(linux_setrlimit_args), .sy_call = (sy_call_t *)linux_setrlimit, .sy_auevent = AUE_SETRLIMIT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 160 = linux_setrlimit */ { .sy_narg = AS(chroot_args), .sy_call = (sy_call_t *)sys_chroot, .sy_auevent = AUE_CHROOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 161 = chroot */ - { .sy_narg = 0, .sy_call = (sy_call_t *)sys_sync, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 162 = sync */ + { .sy_narg = 0, .sy_call = (sy_call_t *)sys_sync, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 162 = sync */ { .sy_narg = AS(acct_args), .sy_call = (sy_call_t *)sys_acct, .sy_auevent = AUE_ACCT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 163 = acct */ { .sy_narg = AS(settimeofday_args), .sy_call = (sy_call_t *)sys_settimeofday, .sy_auevent = AUE_SETTIMEOFDAY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 164 = settimeofday */ { .sy_narg = AS(linux_mount_args), .sy_call = (sy_call_t *)linux_mount, .sy_auevent = AUE_MOUNT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 165 = linux_mount */ @@ -188,18 +188,18 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_setdomainname_args), .sy_call = (sy_call_t *)linux_setdomainname, .sy_auevent = AUE_SYSCTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 171 = linux_setdomainname */ { .sy_narg = AS(linux_iopl_args), .sy_call = (sy_call_t *)linux_iopl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 172 = linux_iopl */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_ioperm, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 173 = linux_ioperm */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 174 = create_module */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 174 = create_module */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_init_module, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 175 = linux_init_module */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_delete_module, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 176 = linux_delete_module */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 177 = get_kernel_syms */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 178 = query_module */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 177 = get_kernel_syms */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 178 = query_module */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_quotactl, .sy_auevent = AUE_QUOTACTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 179 = linux_quotactl */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 180 = nfsservctl */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 181 = getpmsg */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 182 = putpmsg */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 183 = afs_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 184 = tuxcall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 185 = security */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 180 = nfsservctl */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 181 = getpmsg */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 182 = putpmsg */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 183 = afs_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 184 = tuxcall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 185 = security */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_gettid, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 186 = linux_gettid */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_readahead, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 187 = linux_readahead */ { .sy_narg = AS(linux_setxattr_args), .sy_call = (sy_call_t *)linux_setxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 188 = linux_setxattr */ @@ -219,17 +219,17 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_sys_futex_args), .sy_call = (sy_call_t *)linux_sys_futex, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 202 = linux_sys_futex */ { .sy_narg = AS(linux_sched_setaffinity_args), .sy_call = (sy_call_t *)linux_sched_setaffinity, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 203 = linux_sched_setaffinity */ { .sy_narg = AS(linux_sched_getaffinity_args), .sy_call = (sy_call_t *)linux_sched_getaffinity, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 204 = linux_sched_getaffinity */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 205 = set_thread_area */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 205 = set_thread_area */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_setup, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 206 = linux_io_setup */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_destroy, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 207 = linux_io_destroy */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_getevents, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 208 = linux_io_getevents */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_submit, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 209 = linux_io_submit */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_cancel, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 210 = linux_io_cancel */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 211 = get_thread_area */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 211 = get_thread_area */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_lookup_dcookie, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 212 = linux_lookup_dcookie */ { .sy_narg = AS(linux_epoll_create_args), .sy_call = (sy_call_t *)linux_epoll_create, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 213 = linux_epoll_create */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 214 = epoll_ctl_old */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 215 = epoll_wait_old */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 214 = epoll_ctl_old */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 215 = epoll_wait_old */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_remap_file_pages, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 216 = linux_remap_file_pages */ { .sy_narg = AS(linux_getdents64_args), .sy_call = (sy_call_t *)linux_getdents64, .sy_auevent = AUE_GETDIRENTRIES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 217 = linux_getdents64 */ { .sy_narg = AS(linux_set_tid_address_args), .sy_call = (sy_call_t *)linux_set_tid_address, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 218 = linux_set_tid_address */ @@ -250,7 +250,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_epoll_ctl_args), .sy_call = (sy_call_t *)linux_epoll_ctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 233 = linux_epoll_ctl */ { .sy_narg = AS(linux_tgkill_args), .sy_call = (sy_call_t *)linux_tgkill, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 234 = linux_tgkill */ { .sy_narg = AS(linux_utimes_args), .sy_call = (sy_call_t *)linux_utimes, .sy_auevent = AUE_UTIMES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 235 = linux_utimes */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 236 = vserver */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 236 = vserver */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_mbind, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 237 = linux_mbind */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_set_mempolicy, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 238 = linux_set_mempolicy */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_get_mempolicy, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 239 = linux_get_mempolicy */ @@ -290,7 +290,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_set_robust_list_args), .sy_call = (sy_call_t *)linux_set_robust_list, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 273 = linux_set_robust_list */ { .sy_narg = AS(linux_get_robust_list_args), .sy_call = (sy_call_t *)linux_get_robust_list, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 274 = linux_get_robust_list */ { .sy_narg = AS(linux_splice_args), .sy_call = (sy_call_t *)linux_splice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 275 = linux_splice */ - { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 276 = linux_tee */ + { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 276 = linux_tee */ { .sy_narg = AS(linux_sync_file_range_args), .sy_call = (sy_call_t *)linux_sync_file_range, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 277 = linux_sync_file_range */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vmsplice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 278 = linux_vmsplice */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_move_pages, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 279 = linux_move_pages */ @@ -349,95 +349,95 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_statx_args), .sy_call = (sy_call_t *)linux_statx, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 332 = linux_statx */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_pgetevents, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 333 = linux_io_pgetevents */ { .sy_narg = AS(linux_rseq_args), .sy_call = (sy_call_t *)linux_rseq, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 334 = linux_rseq */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 335 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 336 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 337 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 338 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 339 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 340 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 341 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 342 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 343 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 344 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 345 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 346 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 347 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 348 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 349 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 350 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 351 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 352 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 353 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 354 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 355 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 356 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 357 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 358 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 359 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 360 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 361 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 362 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 363 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 364 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 365 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 366 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 367 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 368 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 369 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 370 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 371 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 372 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 373 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 374 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 375 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 376 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 377 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 378 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 379 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 380 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 381 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 382 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 383 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 384 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 385 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 386 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 393 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 394 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 395 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 396 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 397 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 398 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 399 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 400 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 401 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 402 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 403 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 404 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 405 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 406 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 407 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 408 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 409 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 410 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 411 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 412 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 413 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 414 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 416 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 417 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 418 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 419 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 420 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 421 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 422 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 423 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 335 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 336 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 337 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 338 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 339 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 340 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 341 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 342 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 343 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 344 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 345 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 346 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 347 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 348 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 349 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 350 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 351 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 352 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 353 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 354 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 355 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 356 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 357 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 358 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 359 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 360 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 361 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 362 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 363 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 364 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 365 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 366 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 367 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 368 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 369 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 370 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 371 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 372 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 373 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 374 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 375 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 376 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 377 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 378 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 379 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 380 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 381 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 382 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 383 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 384 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 385 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 386 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 393 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 394 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 395 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 396 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 397 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 398 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 399 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 400 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 401 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 402 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 403 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 404 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 405 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 406 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 407 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 408 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 409 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 410 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 411 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 412 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 413 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 414 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 416 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 417 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 418 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 419 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 420 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 421 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 422 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 423 = nosys */ { .sy_narg = AS(linux_pidfd_send_signal_args), .sy_call = (sy_call_t *)linux_pidfd_send_signal, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 424 = linux_pidfd_send_signal */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_uring_setup, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 425 = linux_io_uring_setup */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_uring_enter, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 426 = linux_io_uring_enter */ diff --git a/sys/amd64/linux32/linux32_sysent.c b/sys/amd64/linux32/linux32_sysent.c index 024bca613c11..add9844254ce 100644 --- a/sys/amd64/linux32/linux32_sysent.c +++ b/sys/amd64/linux32/linux32_sysent.c @@ -15,7 +15,7 @@ /* The casts are bogus but will do for now. */ struct sysent linux32_sysent[] = { - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 0 = setup */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 0 = setup */ { .sy_narg = AS(linux_exit_args), .sy_call = (sy_call_t *)linux_exit, .sy_auevent = AUE_EXIT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 1 = linux_exit */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_fork, .sy_auevent = AUE_FORK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 2 = linux_fork */ { .sy_narg = AS(read_args), .sy_call = (sy_call_t *)sys_read, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 3 = read */ @@ -32,7 +32,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_mknod_args), .sy_call = (sy_call_t *)linux_mknod, .sy_auevent = AUE_MKNOD, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 14 = linux_mknod */ { .sy_narg = AS(linux_chmod_args), .sy_call = (sy_call_t *)linux_chmod, .sy_auevent = AUE_CHMOD, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 15 = linux_chmod */ { .sy_narg = AS(linux_lchown16_args), .sy_call = (sy_call_t *)linux_lchown16, .sy_auevent = AUE_LCHOWN, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 16 = linux_lchown16 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 17 = break */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 17 = break */ { .sy_narg = AS(linux_stat_args), .sy_call = (sy_call_t *)linux_stat, .sy_auevent = AUE_STAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 18 = linux_stat */ { .sy_narg = AS(linux_lseek_args), .sy_call = (sy_call_t *)linux_lseek, .sy_auevent = AUE_LSEEK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 19 = linux_lseek */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_getpid, .sy_auevent = AUE_GETPID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 20 = linux_getpid */ @@ -43,15 +43,15 @@ struct sysent linux32_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_stime, .sy_auevent = AUE_SETTIMEOFDAY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 25 = linux_stime */ { .sy_narg = AS(linux_ptrace_args), .sy_call = (sy_call_t *)linux_ptrace, .sy_auevent = AUE_PTRACE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 26 = linux_ptrace */ { .sy_narg = AS(linux_alarm_args), .sy_call = (sy_call_t *)linux_alarm, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 27 = linux_alarm */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 28 = fstat */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 28 = fstat */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_pause, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 29 = linux_pause */ { .sy_narg = AS(linux_utime_args), .sy_call = (sy_call_t *)linux_utime, .sy_auevent = AUE_UTIME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 30 = linux_utime */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 31 = stty */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 32 = gtty */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 31 = stty */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 32 = gtty */ { .sy_narg = AS(linux_access_args), .sy_call = (sy_call_t *)linux_access, .sy_auevent = AUE_ACCESS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 33 = linux_access */ { .sy_narg = AS(linux_nice_args), .sy_call = (sy_call_t *)linux_nice, .sy_auevent = AUE_NICE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 34 = linux_nice */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 35 = ftime */ - { .sy_narg = 0, .sy_call = (sy_call_t *)sys_sync, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 36 = sync */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 35 = ftime */ + { .sy_narg = 0, .sy_call = (sy_call_t *)sys_sync, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 36 = sync */ { .sy_narg = AS(linux_kill_args), .sy_call = (sy_call_t *)linux_kill, .sy_auevent = AUE_KILL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 37 = linux_kill */ { .sy_narg = AS(linux_rename_args), .sy_call = (sy_call_t *)linux_rename, .sy_auevent = AUE_RENAME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 38 = linux_rename */ { .sy_narg = AS(linux_mkdir_args), .sy_call = (sy_call_t *)linux_mkdir, .sy_auevent = AUE_MKDIR, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 39 = linux_mkdir */ @@ -59,7 +59,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(dup_args), .sy_call = (sy_call_t *)sys_dup, .sy_auevent = AUE_DUP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 41 = dup */ { .sy_narg = AS(linux_pipe_args), .sy_call = (sy_call_t *)linux_pipe, .sy_auevent = AUE_PIPE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 42 = linux_pipe */ { .sy_narg = AS(linux_times_args), .sy_call = (sy_call_t *)linux_times, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 43 = linux_times */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 44 = prof */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 44 = prof */ { .sy_narg = AS(linux_brk_args), .sy_call = (sy_call_t *)linux_brk, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 45 = linux_brk */ { .sy_narg = AS(linux_setgid16_args), .sy_call = (sy_call_t *)linux_setgid16, .sy_auevent = AUE_SETGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 46 = linux_setgid16 */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_getgid16, .sy_auevent = AUE_GETGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 47 = linux_getgid16 */ @@ -68,12 +68,12 @@ struct sysent linux32_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_getegid16, .sy_auevent = AUE_GETEGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 50 = linux_getegid16 */ { .sy_narg = AS(acct_args), .sy_call = (sy_call_t *)sys_acct, .sy_auevent = AUE_ACCT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 51 = acct */ { .sy_narg = AS(linux_umount_args), .sy_call = (sy_call_t *)linux_umount, .sy_auevent = AUE_UMOUNT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 52 = linux_umount */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 53 = lock */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 53 = lock */ { .sy_narg = AS(linux_ioctl_args), .sy_call = (sy_call_t *)linux_ioctl, .sy_auevent = AUE_IOCTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 54 = linux_ioctl */ { .sy_narg = AS(linux_fcntl_args), .sy_call = (sy_call_t *)linux_fcntl, .sy_auevent = AUE_FCNTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 55 = linux_fcntl */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 56 = mpx */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 56 = mpx */ { .sy_narg = AS(setpgid_args), .sy_call = (sy_call_t *)sys_setpgid, .sy_auevent = AUE_SETPGRP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 57 = setpgid */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 58 = ulimit */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 58 = ulimit */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_olduname, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 59 = linux_olduname */ { .sy_narg = AS(umask_args), .sy_call = (sy_call_t *)sys_umask, .sy_auevent = AUE_UMASK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 60 = umask */ { .sy_narg = AS(chroot_args), .sy_call = (sy_call_t *)sys_chroot, .sy_auevent = AUE_CHROOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 61 = chroot */ @@ -101,7 +101,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_symlink_args), .sy_call = (sy_call_t *)linux_symlink, .sy_auevent = AUE_SYMLINK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 83 = linux_symlink */ { .sy_narg = AS(linux_lstat_args), .sy_call = (sy_call_t *)linux_lstat, .sy_auevent = AUE_LSTAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 84 = linux_lstat */ { .sy_narg = AS(linux_readlink_args), .sy_call = (sy_call_t *)linux_readlink, .sy_auevent = AUE_READLINK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 85 = linux_readlink */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 86 = linux_uselib */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 86 = linux_uselib */ { .sy_narg = AS(swapon_args), .sy_call = (sy_call_t *)sys_swapon, .sy_auevent = AUE_SWAPON, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 87 = swapon */ { .sy_narg = AS(linux_reboot_args), .sy_call = (sy_call_t *)linux_reboot, .sy_auevent = AUE_REBOOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 88 = linux_reboot */ { .sy_narg = AS(linux_readdir_args), .sy_call = (sy_call_t *)linux_readdir, .sy_auevent = AUE_GETDIRENTRIES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 89 = linux_readdir */ @@ -113,10 +113,10 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(fchown_args), .sy_call = (sy_call_t *)sys_fchown, .sy_auevent = AUE_FCHOWN, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 95 = fchown */ { .sy_narg = AS(linux_getpriority_args), .sy_call = (sy_call_t *)linux_getpriority, .sy_auevent = AUE_GETPRIORITY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 96 = linux_getpriority */ { .sy_narg = AS(setpriority_args), .sy_call = (sy_call_t *)sys_setpriority, .sy_auevent = AUE_SETPRIORITY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 97 = setpriority */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 98 = profil */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 98 = profil */ { .sy_narg = AS(linux_statfs_args), .sy_call = (sy_call_t *)linux_statfs, .sy_auevent = AUE_STATFS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 99 = linux_statfs */ { .sy_narg = AS(linux_fstatfs_args), .sy_call = (sy_call_t *)linux_fstatfs, .sy_auevent = AUE_FSTATFS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 100 = linux_fstatfs */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 101 = ioperm */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 101 = ioperm */ { .sy_narg = AS(linux_socketcall_args), .sy_call = (sy_call_t *)linux_socketcall, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 102 = linux_socketcall */ { .sy_narg = AS(linux_syslog_args), .sy_call = (sy_call_t *)linux_syslog, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 103 = linux_syslog */ { .sy_narg = AS(linux_setitimer_args), .sy_call = (sy_call_t *)linux_setitimer, .sy_auevent = AUE_SETITIMER, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 104 = linux_setitimer */ @@ -127,8 +127,8 @@ struct sysent linux32_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_uname, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 109 = linux_uname */ { .sy_narg = AS(linux_iopl_args), .sy_call = (sy_call_t *)linux_iopl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 110 = linux_iopl */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vhangup, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 111 = linux_vhangup */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 112 = idle */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 113 = vm86old */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 112 = idle */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 113 = vm86old */ { .sy_narg = AS(linux_wait4_args), .sy_call = (sy_call_t *)linux_wait4, .sy_auevent = AUE_WAIT4, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 114 = linux_wait4 */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_swapoff, .sy_auevent = AUE_SWAPOFF, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 115 = linux_swapoff */ { .sy_narg = AS(linux_sysinfo_args), .sy_call = (sy_call_t *)linux_sysinfo, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 116 = linux_sysinfo */ @@ -138,21 +138,21 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_clone_args), .sy_call = (sy_call_t *)linux_clone, .sy_auevent = AUE_RFORK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 120 = linux_clone */ { .sy_narg = AS(linux_setdomainname_args), .sy_call = (sy_call_t *)linux_setdomainname, .sy_auevent = AUE_SYSCTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 121 = linux_setdomainname */ { .sy_narg = AS(linux_newuname_args), .sy_call = (sy_call_t *)linux_newuname, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 122 = linux_newuname */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 123 = modify_ldt */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 123 = modify_ldt */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_adjtimex, .sy_auevent = AUE_ADJTIME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 124 = linux_adjtimex */ { .sy_narg = AS(linux_mprotect_args), .sy_call = (sy_call_t *)linux_mprotect, .sy_auevent = AUE_MPROTECT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 125 = linux_mprotect */ { .sy_narg = AS(linux_sigprocmask_args), .sy_call = (sy_call_t *)linux_sigprocmask, .sy_auevent = AUE_SIGPROCMASK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 126 = linux_sigprocmask */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 127 = create_module */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 127 = create_module */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_init_module, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 128 = linux_init_module */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_delete_module, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 129 = linux_delete_module */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 130 = get_kernel_syms */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 130 = get_kernel_syms */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_quotactl, .sy_auevent = AUE_QUOTACTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 131 = linux_quotactl */ { .sy_narg = AS(getpgid_args), .sy_call = (sy_call_t *)sys_getpgid, .sy_auevent = AUE_GETPGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 132 = getpgid */ { .sy_narg = AS(fchdir_args), .sy_call = (sy_call_t *)sys_fchdir, .sy_auevent = AUE_FCHDIR, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 133 = fchdir */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_bdflush, .sy_auevent = AUE_BDFLUSH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 134 = linux_bdflush */ { .sy_narg = AS(linux_sysfs_args), .sy_call = (sy_call_t *)linux_sysfs, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 135 = linux_sysfs */ { .sy_narg = AS(linux_personality_args), .sy_call = (sy_call_t *)linux_personality, .sy_auevent = AUE_PERSONALITY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 136 = linux_personality */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 137 = afs_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 137 = afs_syscall */ { .sy_narg = AS(linux_setfsuid16_args), .sy_call = (sy_call_t *)linux_setfsuid16, .sy_auevent = AUE_SETFSUID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 138 = linux_setfsuid16 */ { .sy_narg = AS(linux_setfsgid16_args), .sy_call = (sy_call_t *)linux_setfsgid16, .sy_auevent = AUE_SETFSGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 139 = linux_setfsgid16 */ { .sy_narg = AS(linux_llseek_args), .sy_call = (sy_call_t *)linux_llseek, .sy_auevent = AUE_LSEEK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 140 = linux_llseek */ @@ -181,10 +181,10 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_mremap_args), .sy_call = (sy_call_t *)linux_mremap, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 163 = linux_mremap */ { .sy_narg = AS(linux_setresuid16_args), .sy_call = (sy_call_t *)linux_setresuid16, .sy_auevent = AUE_SETRESUID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 164 = linux_setresuid16 */ { .sy_narg = AS(linux_getresuid16_args), .sy_call = (sy_call_t *)linux_getresuid16, .sy_auevent = AUE_GETRESUID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 165 = linux_getresuid16 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 166 = vm86 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 167 = query_module */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 166 = vm86 */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 167 = query_module */ { .sy_narg = AS(linux_poll_args), .sy_call = (sy_call_t *)linux_poll, .sy_auevent = AUE_POLL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 168 = linux_poll */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 169 = nfsservctl */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 169 = nfsservctl */ { .sy_narg = AS(linux_setresgid16_args), .sy_call = (sy_call_t *)linux_setresgid16, .sy_auevent = AUE_SETRESGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 170 = linux_setresgid16 */ { .sy_narg = AS(linux_getresgid16_args), .sy_call = (sy_call_t *)linux_getresgid16, .sy_auevent = AUE_GETRESGID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 171 = linux_getresgid16 */ { .sy_narg = AS(linux_prctl_args), .sy_call = (sy_call_t *)linux_prctl, .sy_auevent = AUE_PRCTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 172 = linux_prctl */ @@ -203,8 +203,8 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_capset_args), .sy_call = (sy_call_t *)linux_capset, .sy_auevent = AUE_CAPSET, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 185 = linux_capset */ { .sy_narg = AS(linux_sigaltstack_args), .sy_call = (sy_call_t *)linux_sigaltstack, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 186 = linux_sigaltstack */ { .sy_narg = AS(linux_sendfile_args), .sy_call = (sy_call_t *)linux_sendfile, .sy_auevent = AUE_SENDFILE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 187 = linux_sendfile */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 188 = getpmsg */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 189 = putpmsg */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 188 = getpmsg */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 189 = putpmsg */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vfork, .sy_auevent = AUE_VFORK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 190 = linux_vfork */ { .sy_narg = AS(linux_getrlimit_args), .sy_call = (sy_call_t *)linux_getrlimit, .sy_auevent = AUE_GETRLIMIT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 191 = linux_getrlimit */ { .sy_narg = AS(linux_mmap2_args), .sy_call = (sy_call_t *)linux_mmap2, .sy_auevent = AUE_MMAP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 192 = linux_mmap2 */ @@ -237,10 +237,10 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_madvise_args), .sy_call = (sy_call_t *)linux_madvise, .sy_auevent = AUE_MADVISE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 219 = linux_madvise */ { .sy_narg = AS(linux_getdents64_args), .sy_call = (sy_call_t *)linux_getdents64, .sy_auevent = AUE_GETDIRENTRIES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 220 = linux_getdents64 */ { .sy_narg = AS(linux_fcntl64_args), .sy_call = (sy_call_t *)linux_fcntl64, .sy_auevent = AUE_FCNTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 221 = linux_fcntl64 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 222 = */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 223 = */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 222 = */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 223 = */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_gettid, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 224 = linux_gettid */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 225 = linux_readahead */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 225 = linux_readahead */ { .sy_narg = AS(linux_setxattr_args), .sy_call = (sy_call_t *)linux_setxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 226 = linux_setxattr */ { .sy_narg = AS(linux_lsetxattr_args), .sy_call = (sy_call_t *)linux_lsetxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 227 = linux_lsetxattr */ { .sy_narg = AS(linux_fsetxattr_args), .sy_call = (sy_call_t *)linux_fsetxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 228 = linux_fsetxattr */ @@ -259,14 +259,14 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_sched_setaffinity_args), .sy_call = (sy_call_t *)linux_sched_setaffinity, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 241 = linux_sched_setaffinity */ { .sy_narg = AS(linux_sched_getaffinity_args), .sy_call = (sy_call_t *)linux_sched_getaffinity, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 242 = linux_sched_getaffinity */ { .sy_narg = AS(linux_set_thread_area_args), .sy_call = (sy_call_t *)linux_set_thread_area, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 243 = linux_set_thread_area */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 244 = linux_get_thread_area */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 245 = linux_io_setup */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 246 = linux_io_destroy */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 247 = linux_io_getevents */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 248 = linux_io_submit */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 249 = linux_io_cancel */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 244 = linux_get_thread_area */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 245 = linux_io_setup */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 246 = linux_io_destroy */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 247 = linux_io_getevents */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 248 = linux_io_submit */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 249 = linux_io_cancel */ { .sy_narg = AS(linux_fadvise64_args), .sy_call = (sy_call_t *)linux_fadvise64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 250 = linux_fadvise64 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 251 = */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 251 = */ { .sy_narg = AS(linux_exit_group_args), .sy_call = (sy_call_t *)linux_exit_group, .sy_auevent = AUE_EXIT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 252 = linux_exit_group */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_lookup_dcookie, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 253 = linux_lookup_dcookie */ { .sy_narg = AS(linux_epoll_create_args), .sy_call = (sy_call_t *)linux_epoll_create, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 254 = linux_epoll_create */ @@ -288,7 +288,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_tgkill_args), .sy_call = (sy_call_t *)linux_tgkill, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 270 = linux_tgkill */ { .sy_narg = AS(linux_utimes_args), .sy_call = (sy_call_t *)linux_utimes, .sy_auevent = AUE_UTIMES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 271 = linux_utimes */ { .sy_narg = AS(linux_fadvise64_64_args), .sy_call = (sy_call_t *)linux_fadvise64_64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 272 = linux_fadvise64_64 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 273 = vserver */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 273 = vserver */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_mbind, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 274 = linux_mbind */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_get_mempolicy, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 275 = linux_get_mempolicy */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_set_mempolicy, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 276 = linux_set_mempolicy */ @@ -300,7 +300,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_mq_getsetattr_args), .sy_call = (sy_call_t *)linux_mq_getsetattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 282 = linux_mq_getsetattr */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_kexec_load, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 283 = linux_kexec_load */ { .sy_narg = AS(linux_waitid_args), .sy_call = (sy_call_t *)linux_waitid, .sy_auevent = AUE_WAIT6, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 284 = linux_waitid */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 285 = */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 285 = */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_add_key, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 286 = linux_add_key */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_request_key, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 287 = linux_request_key */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_keyctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 288 = linux_keyctl */ @@ -330,7 +330,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_get_robust_list_args), .sy_call = (sy_call_t *)linux_get_robust_list, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 312 = linux_get_robust_list */ { .sy_narg = AS(linux_splice_args), .sy_call = (sy_call_t *)linux_splice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 313 = linux_splice */ { .sy_narg = AS(linux_sync_file_range_args), .sy_call = (sy_call_t *)linux_sync_file_range, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 314 = linux_sync_file_range */ - { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 315 = linux_tee */ + { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 315 = linux_tee */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vmsplice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 316 = linux_vmsplice */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_move_pages, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 317 = linux_move_pages */ { .sy_narg = AS(linux_getcpu_args), .sy_call = (sy_call_t *)linux_getcpu, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 318 = linux_getcpu */ @@ -402,12 +402,12 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_arch_prctl_args), .sy_call = (sy_call_t *)linux_arch_prctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 384 = linux_arch_prctl */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_pgetevents, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 385 = linux_io_pgetevents */ { .sy_narg = AS(linux_rseq_args), .sy_call = (sy_call_t *)linux_rseq, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 386 = linux_rseq */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = nosys */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = nosys */ { .sy_narg = AS(linux_semget_args), .sy_call = (sy_call_t *)linux_semget, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 393 = linux_semget */ { .sy_narg = AS(linux_semctl_args), .sy_call = (sy_call_t *)linux_semctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 394 = linux_semctl */ { .sy_narg = AS(linux_shmget_args), .sy_call = (sy_call_t *)linux_shmget, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 395 = linux_shmget */ @@ -430,7 +430,7 @@ struct sysent linux32_sysent[] = { { .sy_narg = AS(linux_utimensat_time64_args), .sy_call = (sy_call_t *)linux_utimensat_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 412 = linux_utimensat_time64 */ { .sy_narg = AS(linux_pselect6_time64_args), .sy_call = (sy_call_t *)linux_pselect6_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 413 = linux_pselect6_time64 */ { .sy_narg = AS(linux_ppoll_time64_args), .sy_call = (sy_call_t *)linux_ppoll_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 414 = linux_ppoll_time64 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = nosys */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = nosys */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_pgetevents_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 416 = linux_io_pgetevents_time64 */ { .sy_narg = AS(linux_recvmmsg_time64_args), .sy_call = (sy_call_t *)linux_recvmmsg_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 417 = linux_recvmmsg_time64 */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_mq_timedsend_time64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 418 = linux_mq_timedsend_time64 */ diff --git a/sys/arm64/linux/linux_sysent.c b/sys/arm64/linux/linux_sysent.c index ac93f9bb3a54..722ada465730 100644 --- a/sys/arm64/linux/linux_sysent.c +++ b/sys/arm64/linux/linux_sysent.c @@ -14,11 +14,11 @@ /* The casts are bogus but will do for now. */ struct sysent linux_sysent[] = { - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 0 = linux_io_setup */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 1 = linux_io_destroy */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 2 = linux_io_submit */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 3 = linux_io_cancel */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 4 = linux_io_getevents */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 0 = linux_io_setup */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 1 = linux_io_destroy */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 2 = linux_io_submit */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 3 = linux_io_cancel */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 4 = linux_io_getevents */ { .sy_narg = AS(linux_setxattr_args), .sy_call = (sy_call_t *)linux_setxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 5 = linux_setxattr */ { .sy_narg = AS(linux_lsetxattr_args), .sy_call = (sy_call_t *)linux_lsetxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 6 = linux_lsetxattr */ { .sy_narg = AS(linux_fsetxattr_args), .sy_call = (sy_call_t *)linux_fsetxattr, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 7 = linux_fsetxattr */ @@ -53,10 +53,10 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_symlinkat_args), .sy_call = (sy_call_t *)linux_symlinkat, .sy_auevent = AUE_SYMLINKAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 36 = linux_symlinkat */ { .sy_narg = AS(linux_linkat_args), .sy_call = (sy_call_t *)linux_linkat, .sy_auevent = AUE_LINKAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 37 = linux_linkat */ { .sy_narg = AS(linux_renameat_args), .sy_call = (sy_call_t *)linux_renameat, .sy_auevent = AUE_RENAMEAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 38 = linux_renameat */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 39 = linux_umount2 */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 39 = linux_umount2 */ { .sy_narg = AS(linux_mount_args), .sy_call = (sy_call_t *)linux_mount, .sy_auevent = AUE_MOUNT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 40 = linux_mount */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_pivot_root, .sy_auevent = AUE_PIVOT_ROOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 41 = linux_pivot_root */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 42 = nfsservctl */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 42 = nfsservctl */ { .sy_narg = AS(linux_statfs_args), .sy_call = (sy_call_t *)linux_statfs, .sy_auevent = AUE_STATFS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 43 = linux_statfs */ { .sy_narg = AS(linux_fstatfs_args), .sy_call = (sy_call_t *)linux_fstatfs, .sy_auevent = AUE_FSTATFS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 44 = linux_fstatfs */ { .sy_narg = AS(linux_truncate_args), .sy_call = (sy_call_t *)linux_truncate, .sy_auevent = AUE_TRUNCATE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 45 = linux_truncate */ @@ -74,7 +74,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(close_args), .sy_call = (sy_call_t *)sys_close, .sy_auevent = AUE_CLOSE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 57 = close */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vhangup, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 58 = linux_vhangup */ { .sy_narg = AS(linux_pipe2_args), .sy_call = (sy_call_t *)linux_pipe2, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 59 = linux_pipe2 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 60 = linux_quotactl */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 60 = linux_quotactl */ { .sy_narg = AS(linux_getdents64_args), .sy_call = (sy_call_t *)linux_getdents64, .sy_auevent = AUE_GETDIRENTRIES, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 61 = linux_getdents64 */ { .sy_narg = AS(linux_lseek_args), .sy_call = (sy_call_t *)linux_lseek, .sy_auevent = AUE_LSEEK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 62 = linux_lseek */ { .sy_narg = AS(read_args), .sy_call = (sy_call_t *)sys_read, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 63 = read */ @@ -91,11 +91,11 @@ struct sysent linux_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_signalfd4, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 74 = linux_signalfd4 */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_vmsplice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 75 = linux_vmsplice */ { .sy_narg = AS(linux_splice_args), .sy_call = (sy_call_t *)linux_splice, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 76 = linux_splice */ - { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 77 = linux_tee */ + { .sy_narg = 0, .sy_call = (sy_call_t *)linux_tee, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 77 = linux_tee */ { .sy_narg = AS(linux_readlinkat_args), .sy_call = (sy_call_t *)linux_readlinkat, .sy_auevent = AUE_READLINKAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 78 = linux_readlinkat */ { .sy_narg = AS(linux_newfstatat_args), .sy_call = (sy_call_t *)linux_newfstatat, .sy_auevent = AUE_FSTATAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 79 = linux_newfstatat */ { .sy_narg = AS(linux_newfstat_args), .sy_call = (sy_call_t *)linux_newfstat, .sy_auevent = AUE_FSTAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 80 = linux_newfstat */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 81 = linux_sync */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 81 = linux_sync */ { .sy_narg = AS(fsync_args), .sy_call = (sy_call_t *)sys_fsync, .sy_auevent = AUE_FSYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 82 = fsync */ { .sy_narg = AS(linux_fdatasync_args), .sy_call = (sy_call_t *)linux_fdatasync, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 83 = linux_fdatasync */ { .sy_narg = AS(linux_sync_file_range_args), .sy_call = (sy_call_t *)linux_sync_file_range, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 84 = linux_sync_file_range */ @@ -142,7 +142,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_sched_get_priority_max_args), .sy_call = (sy_call_t *)linux_sched_get_priority_max, .sy_auevent = AUE_SCHED_GET_PRIORITY_MAX, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 125 = linux_sched_get_priority_max */ { .sy_narg = AS(linux_sched_get_priority_min_args), .sy_call = (sy_call_t *)linux_sched_get_priority_min, .sy_auevent = AUE_SCHED_GET_PRIORITY_MIN, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 126 = linux_sched_get_priority_min */ { .sy_narg = AS(linux_sched_rr_get_interval_args), .sy_call = (sy_call_t *)linux_sched_rr_get_interval, .sy_auevent = AUE_SCHED_RR_GET_INTERVAL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 127 = linux_sched_rr_get_interval */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 128 = restart_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 128 = restart_syscall */ { .sy_narg = AS(linux_kill_args), .sy_call = (sy_call_t *)linux_kill, .sy_auevent = AUE_KILL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 129 = linux_kill */ { .sy_narg = AS(linux_tkill_args), .sy_call = (sy_call_t *)linux_tkill, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 130 = linux_tkill */ { .sy_narg = AS(linux_tgkill_args), .sy_call = (sy_call_t *)linux_tgkill, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 131 = linux_tgkill */ @@ -227,7 +227,7 @@ struct sysent linux_sysent[] = { { .sy_narg = AS(linux_shutdown_args), .sy_call = (sy_call_t *)linux_shutdown, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 210 = linux_shutdown */ { .sy_narg = AS(linux_sendmsg_args), .sy_call = (sy_call_t *)linux_sendmsg, .sy_auevent = AUE_SENDMSG, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 211 = linux_sendmsg */ { .sy_narg = AS(linux_recvmsg_args), .sy_call = (sy_call_t *)linux_recvmsg, .sy_auevent = AUE_RECVMSG, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 212 = linux_recvmsg */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 213 = linux_readahead */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 213 = linux_readahead */ { .sy_narg = AS(linux_brk_args), .sy_call = (sy_call_t *)linux_brk, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 214 = linux_brk */ { .sy_narg = AS(munmap_args), .sy_call = (sy_call_t *)sys_munmap, .sy_auevent = AUE_MUNMAP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 215 = munmap */ { .sy_narg = AS(linux_mremap_args), .sy_call = (sy_call_t *)linux_mremap, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 216 = linux_mremap */ @@ -258,22 +258,22 @@ struct sysent linux_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_perf_event_open, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 241 = linux_perf_event_open */ { .sy_narg = AS(linux_accept4_args), .sy_call = (sy_call_t *)linux_accept4, .sy_auevent = AUE_ACCEPT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 242 = linux_accept4 */ { .sy_narg = AS(linux_recvmmsg_args), .sy_call = (sy_call_t *)linux_recvmmsg, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 243 = linux_recvmmsg */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 244 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 245 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 246 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 247 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 248 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 249 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 250 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 251 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 252 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 253 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 254 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 255 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 256 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 257 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 258 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 259 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 244 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 245 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 246 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 247 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 248 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 249 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 250 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 251 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 252 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 253 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 254 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 255 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 256 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 257 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 258 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 259 = unimpl_md_syscall */ { .sy_narg = AS(linux_wait4_args), .sy_call = (sy_call_t *)linux_wait4, .sy_auevent = AUE_WAIT4, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 260 = linux_wait4 */ { .sy_narg = AS(linux_prlimit64_args), .sy_call = (sy_call_t *)linux_prlimit64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 261 = linux_prlimit64 */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_init, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 262 = linux_fanotify_init */ @@ -309,135 +309,135 @@ struct sysent linux_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_pgetevents, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 292 = linux_io_pgetevents */ { .sy_narg = AS(linux_rseq_args), .sy_call = (sy_call_t *)linux_rseq, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 293 = linux_rseq */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_kexec_file_load, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 294 = linux_kexec_file_load */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 295 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 296 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 297 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 298 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 299 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 300 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 301 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 302 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 303 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 304 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 305 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 306 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 307 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 308 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 309 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 310 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 311 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 312 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 313 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 314 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 315 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 316 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 317 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 318 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 319 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 320 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 321 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 322 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 323 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 324 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 325 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 326 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 327 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 328 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 329 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 330 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 331 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 332 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 333 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 334 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 335 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 336 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 337 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 338 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 339 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 340 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 341 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 342 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 343 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 344 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 345 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 346 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 347 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 348 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 349 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 350 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 351 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 352 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 353 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 354 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 355 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 356 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 357 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 358 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 359 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 360 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 361 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 362 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 363 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 364 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 365 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 366 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 367 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 368 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 369 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 370 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 371 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 372 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 373 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 374 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 375 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 376 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 377 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 378 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 379 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 380 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 381 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 382 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 383 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 384 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 385 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 386 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 393 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 394 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 395 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 396 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 397 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 398 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 399 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 400 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 401 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 402 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 403 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 404 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 405 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 406 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 407 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 408 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 409 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 410 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 411 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 412 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 413 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 414 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 416 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 417 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 418 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 419 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 420 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 421 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 422 = unimpl_md_syscall */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 423 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 295 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 296 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 297 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 298 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 299 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 300 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 301 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 302 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 303 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 304 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 305 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 306 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 307 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 308 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 309 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 310 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 311 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 312 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 313 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 314 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 315 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 316 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 317 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 318 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 319 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 320 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 321 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 322 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 323 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 324 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 325 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 326 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 327 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 328 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 329 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 330 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 331 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 332 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 333 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 334 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 335 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 336 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 337 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 338 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 339 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 340 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 341 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 342 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 343 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 344 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 345 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 346 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 347 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 348 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 349 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 350 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 351 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 352 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 353 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 354 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 355 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 356 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 357 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 358 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 359 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 360 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 361 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 362 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 363 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 364 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 365 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 366 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 367 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 368 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 369 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 370 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 371 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 372 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 373 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 374 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 375 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 376 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 377 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 378 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 379 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 380 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 381 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 382 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 383 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 384 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 385 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 386 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 387 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 388 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 389 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 390 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 391 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 392 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 393 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 394 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 395 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 396 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 397 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 398 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 399 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 400 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 401 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 402 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 403 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 404 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 405 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 406 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 407 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 408 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 409 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 410 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 411 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 412 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 413 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 414 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 415 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 416 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 417 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 418 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 419 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 420 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 421 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 422 = unimpl_md_syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 423 = unimpl_md_syscall */ { .sy_narg = AS(linux_pidfd_send_signal_args), .sy_call = (sy_call_t *)linux_pidfd_send_signal, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 424 = linux_pidfd_send_signal */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_uring_setup, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 425 = linux_io_uring_setup */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_io_uring_enter, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 426 = linux_io_uring_enter */ diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index c8ddecc7f131..f95f00308624 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -61,7 +61,7 @@ /* The casts are bogus but will do for now. */ struct sysent freebsd32_sysent[] = { - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 0 = syscall */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 0 = syscall */ { .sy_narg = AS(exit_args), .sy_call = (sy_call_t *)sys_exit, .sy_auevent = AUE_EXIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 1 = exit */ { .sy_narg = 0, .sy_call = (sy_call_t *)sys_fork, .sy_auevent = AUE_FORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 2 = fork */ { .sy_narg = AS(read_args), .sy_call = (sy_call_t *)sys_read, .sy_auevent = AUE_READ, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 3 = read */ @@ -72,7 +72,7 @@ struct sysent freebsd32_sysent[] = { { compat(AS(ocreat_args),creat), .sy_auevent = AUE_CREAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 8 = old creat */ { .sy_narg = AS(link_args), .sy_call = (sy_call_t *)sys_link, .sy_auevent = AUE_LINK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 9 = link */ { .sy_narg = AS(unlink_args), .sy_call = (sy_call_t *)sys_unlink, .sy_auevent = AUE_UNLINK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 10 = unlink */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 11 = obsolete execv */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 11 = obsolete execv */ { .sy_narg = AS(chdir_args), .sy_call = (sy_call_t *)sys_chdir, .sy_auevent = AUE_CHDIR, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 12 = chdir */ { .sy_narg = AS(fchdir_args), .sy_call = (sy_call_t *)sys_fchdir, .sy_auevent = AUE_FCHDIR, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 13 = fchdir */ { compat11(AS(freebsd11_mknod_args),mknod), .sy_auevent = AUE_MKNOD, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 14 = freebsd11 mknod */ @@ -124,38 +124,38 @@ struct sysent freebsd32_sysent[] = { { .sy_narg = AS(umask_args), .sy_call = (sy_call_t *)sys_umask, .sy_auevent = AUE_UMASK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 60 = umask */ { .sy_narg = AS(chroot_args), .sy_call = (sy_call_t *)sys_chroot, .sy_auevent = AUE_CHROOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 61 = chroot */ { compat(AS(ofreebsd32_fstat_args),freebsd32_fstat), .sy_auevent = AUE_FSTAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 62 = old freebsd32_fstat */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 63 = obsolete ogetkerninfo */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 63 = obsolete ogetkerninfo */ { compat(0,getpagesize), .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 64 = old getpagesize */ { .sy_narg = AS(msync_args), .sy_call = (sy_call_t *)sys_msync, .sy_auevent = AUE_MSYNC, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 65 = msync */ { .sy_narg = 0, .sy_call = (sy_call_t *)sys_vfork, .sy_auevent = AUE_VFORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 66 = vfork */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 67 = obsolete vread */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 68 = obsolete vwrite */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 69 = obsolete sbrk */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 70 = obsolete sstk */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 67 = obsolete vread */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 68 = obsolete vwrite */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 69 = obsolete sbrk */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 70 = obsolete sstk */ { compat(AS(ofreebsd32_mmap_args),freebsd32_mmap), .sy_auevent = AUE_MMAP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 71 = old freebsd32_mmap */ { compat11(AS(freebsd11_vadvise_args),vadvise), .sy_auevent = AUE_O_VADVISE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 72 = freebsd11 vadvise */ { .sy_narg = AS(munmap_args), .sy_call = (sy_call_t *)sys_munmap, .sy_auevent = AUE_MUNMAP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 73 = munmap */ { .sy_narg = AS(freebsd32_mprotect_args), .sy_call = (sy_call_t *)freebsd32_mprotect, .sy_auevent = AUE_MPROTECT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 74 = freebsd32_mprotect */ { .sy_narg = AS(madvise_args), .sy_call = (sy_call_t *)sys_madvise, .sy_auevent = AUE_MADVISE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 75 = madvise */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 76 = obsolete vhangup */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 77 = obsolete vlimit */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 76 = obsolete vhangup */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 77 = obsolete vlimit */ { .sy_narg = AS(mincore_args), .sy_call = (sy_call_t *)sys_mincore, .sy_auevent = AUE_MINCORE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 78 = mincore */ { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, .sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 79 = getgroups */ { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 80 = setgroups */ { .sy_narg = 0, .sy_call = (sy_call_t *)sys_getpgrp, .sy_auevent = AUE_GETPGRP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 81 = getpgrp */ { .sy_narg = AS(setpgid_args), .sy_call = (sy_call_t *)sys_setpgid, .sy_auevent = AUE_SETPGRP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 82 = setpgid */ { .sy_narg = AS(freebsd32_setitimer_args), .sy_call = (sy_call_t *)freebsd32_setitimer, .sy_auevent = AUE_SETITIMER, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 83 = freebsd32_setitimer */ - { compat(0,wait), .sy_auevent = AUE_WAIT4, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 84 = old wait */ + { compat(0,wait), .sy_auevent = AUE_WAIT4, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 84 = old wait */ { .sy_narg = AS(swapon_args), .sy_call = (sy_call_t *)sys_swapon, .sy_auevent = AUE_SWAPON, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 85 = swapon */ { .sy_narg = AS(freebsd32_getitimer_args), .sy_call = (sy_call_t *)freebsd32_getitimer, .sy_auevent = AUE_GETITIMER, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 86 = freebsd32_getitimer */ { compat(AS(ogethostname_args),gethostname), .sy_auevent = AUE_SYSCTL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 87 = old gethostname */ { compat(AS(osethostname_args),sethostname), .sy_auevent = AUE_SYSCTL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 88 = old sethostname */ { .sy_narg = 0, .sy_call = (sy_call_t *)sys_getdtablesize, .sy_auevent = AUE_GETDTABLESIZE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 89 = getdtablesize */ { .sy_narg = AS(dup2_args), .sy_call = (sy_call_t *)sys_dup2, .sy_auevent = AUE_DUP2, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 90 = dup2 */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 91 = reserved for local use */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 91 = reserved for local use */ { .sy_narg = AS(freebsd32_fcntl_args), .sy_call = (sy_call_t *)freebsd32_fcntl, .sy_auevent = AUE_FCNTL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 92 = freebsd32_fcntl */ { .sy_narg = AS(freebsd32_select_args), .sy_call = (sy_call_t *)freebsd32_select, .sy_auevent = AUE_SELECT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 93 = freebsd32_select */ - { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 94 = reserved for local use */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 94 = reserved for local use */ { .sy_narg = AS(fsync_args), .sy_call = (sy_call_t *)sys_fsync, .sy_auevent = AUE_FSYNC, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 95 = fsync */ *** 1068 LINES SKIPPED *** From nobody Tue Oct 1 17:47:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ54K6xm4z5Y8GH; Tue, 01 Oct 2024 17:47:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ54K60gdz4VPR; Tue, 1 Oct 2024 17:47:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727804849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/XELrk6ZB0yGJVxCkbvFUIGgfzcf6x2HlECRZBJJOrQ=; b=mYDJhj6DcjOjT90r2GbtnB3erPD+RtARMSMroJDeJhBjXnz+kciK19MpEzVXYNMMfv3yh+ GvTnd72NmoCLQEdgXaUYX0p1WM77MJbPrAblZBaSK94Auvz3t3qLLM0QnPdMaIgdsUYgop Ee0XINByJm1T37GivzbbTZEizcZEJyohJ3bwZqRhzb4SCYVGaUWXXeIURKSn8hDXZk65Zq DJUl/WkxFp23sNGt4nHSusBZV8C5cvzLlztmkAuYMLnBPDfF2vabUBEtvaEtcg5xIAAut8 rV2W/hYk6EZ+C44K3E7V68NjeeexSj/oYEafaAWC4MXxyPK6LuF6WDq0Z3EuNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727804849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/XELrk6ZB0yGJVxCkbvFUIGgfzcf6x2HlECRZBJJOrQ=; b=c2rA4QPf+KmP0mX561gD+fvTxrq7Fg03330H5PSkp/yHFplNrVo6yZJDQRh9fGrjg/A/pU tPJHZcY4eX5qODLRso/0cIc3tkC3di+fnyvBXGPn2RefnVZ0+XN6AixduyoQvTSBv91+4q O+w1O6vyIxuqvsj+iv6uUe/Bc11JzLI9qa/t+8SCK5EiC8G3pqznEjZ+HB8IwR1wgmYkMI xyyIrGgcpu0XPfsKph7QQQAvMRsUVT/LO6hSNfV/ZYAwFQ/cM6qHCJLpbg6TDRtbsZao1k 6B114a80jNFzpB+E75MsylCexXcrnO9Bhplpu89M6QFGnVyZKgv2nU7CDkZdiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727804849; a=rsa-sha256; cv=none; b=gz8OP54Bsk/rPd/neMkYAVMExSeJoMul5qCzn4w+sf7hbbGDqM4awU3yr5FNpL0B+yd9H8 yjzPTlZXB+BoOMn4uO/COP2hzr/m5ufaDBEwhnYLKc/usiOnVjCOKzX2K6lv85KqJdJ4eT ObWNnfj/NY1mpbgz33udcEBMGN3EPZNmEw4o/vsI4zXHTvfJcRluJ50VkO1tB4j6Ram9f1 k3jO1obtR+331Nax100ji8NQkKzNWJ4i5PJwDV9rkfHAMFFIHnxKtS+oWRfW7aAMPy8XDN 4/r5tIwTydsID1shLo2c8mkTTWErqHq8Jh3VwK9P0Rx87kLZcSdPmZrIieJrUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ54K5TcPzmll; Tue, 1 Oct 2024 17:47:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491HlTOW095073; Tue, 1 Oct 2024 17:47:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491HlTIs095070; Tue, 1 Oct 2024 17:47:29 GMT (envelope-from git) Date: Tue, 1 Oct 2024 17:47:29 GMT Message-Id: <202410011747.491HlTIs095070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 0d490c6a445a - main - sysent: make header comments more consistent List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d490c6a445a5e94e5d50b65aa96ab72eeafe15f Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=0d490c6a445a5e94e5d50b65aa96ab72eeafe15f commit 0d490c6a445a5e94e5d50b65aa96ab72eeafe15f Author: Brooks Davis AuthorDate: 2024-10-01 17:01:50 +0000 Commit: Brooks Davis CommitDate: 2024-10-01 17:44:03 +0000 sysent: make header comments more consistent An upcoming refactor appends do-not-merge comments to all headers centrally to do the same to reduce the final diff. Headers also start with a comment line (for /*) and end with a blank line. --- sys/tools/makesyscalls.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua index fcabe8e5e284..5e6c40c801d4 100644 --- a/sys/tools/makesyscalls.lua +++ b/sys/tools/makesyscalls.lua @@ -1533,13 +1533,19 @@ write_line("syshdr", string.format([[/* ]], generated_tag)) -write_line("sysmk", string.format([[# FreeBSD system call object files. +write_line("sysmk", string.format([[ +# +# FreeBSD system call object files. +# # DO NOT EDIT-- this file is automatically %s. +# + MIASM = ]], generated_tag)) write_line("libsysmap", string.format([[/* * FreeBSD system call symbols. - * DO NOT EDIT-- this file is automatically %s. + * + * DO NOT EDIT-- this file is automatically %s. */ FBSDprivate_1.0 { ]], generated_tag)) @@ -1549,7 +1555,7 @@ write_line("libsys_h", string.format([[/* * * Do not use directly, include instead. * - * DO NOT EDIT-- this file is automatically %s. + * DO NOT EDIT-- this file is automatically %s. */ #ifndef __LIBSYS_H_ #define __LIBSYS_H_ @@ -1568,8 +1574,9 @@ write_line("libsys_h", string.format([[/* write_line("systrace", string.format([[/* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically %s. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically %s. */ static void From nobody Tue Oct 1 17:47:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJ54M1KCyz5Y8K3; Tue, 01 Oct 2024 17:47:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJ54L6L5mz4V7Y; Tue, 1 Oct 2024 17:47:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727804850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X9NlrQ4BbF+9VR/Q9xMf4vV47LuzEOO7SmWxZNaInpE=; b=gmI4P3z1pg+QnChXhoHYW7Um3ZAgRkIaspyAJwxJ7oHp3dHxZwjnCxJGuYJEvcPxXypwqY IT0hksRkwbc761GSlksZS1zZ+BGunqT/yW3pjHdYTyqpcSP8k735Azn80IqfcWMNaHLTzP C6HtSOWkee/lzjjN2feA+sY1CIfpCGjyqkcvyzyjilXL0DhsLdt4ZA2W0a2w4oz+uz4C/Y Futq5UtrVLiYefyXFSJcZeSivIYUYJv7cSl/Tz2a7PEkSiQIfpOaSQCLeRdW8Qw5T4sJp3 m4XsldlYrK7Yvrzho3LOmnTPqd3IoYFl0VWWSHCVu3+2/27LWDonfNK3YKFqPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727804850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X9NlrQ4BbF+9VR/Q9xMf4vV47LuzEOO7SmWxZNaInpE=; b=u9rIo69MwdN5crd08Y97sBuAonfO+Z69RmnEUETpFIQsWy3N5mZCn6sEjrnhcXACw1IHSj 5xrcPwdKhU6diup2T4zD90tlIrCYDFKH2rKbvTJX/2qa3xQnxRmnafCq1TAOzlCRdf426A nNYUiY3y2FbVCDmLVlVsvBpqxCEPR63WvVI0MZXLMvtaDAlls6OIOhil/3ydOSaBJGBcBF CyqUbqtsV5akMIefpuWVz2fDANcTUjoh2rlLON/AQFhjbQ3xWxgNZM19c6UCENcSqb4KWc KoFnzo54w+bVUeQkiovs6KAYrPOfs4TscIUsgexoReslwd/E/wcH7B9oG7nkUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727804850; a=rsa-sha256; cv=none; b=XVKRGxUs3byLla86uyp/spvbCuVdhlBLf0QX6kEsho3nKGCcGAN8UVaak3h7DUQ3m8c/S7 8nqpUUghDs9LWwzXJ9NADggi0LBFTZH1jzmFZjBAupgHz7Wn/NoWPvoP4mRiP/Tjj+bBdY zY8E9Bwm3TH52Vtir5phgRa80o4/wBxz77e/I9/0tU7vyRc3JlhpCrrTBVSb1vosqsfizG +QfrvtW7cOE+eitdFVlYd7DmcQOtZ1wjDZkZwz8xjb8cqUpSRGnm54RJOW5amonshMCXbA /wRP5kBtMkznuD+mQyHbdPM4BVIcrrA8xN9xGWnXrlRSpDBYbcYaKBT1jq3QFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJ54L5xpZznVJ; Tue, 1 Oct 2024 17:47:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 491HlU8G095113; Tue, 1 Oct 2024 17:47:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 491HlUwp095110; Tue, 1 Oct 2024 17:47:30 GMT (envelope-from git) Date: Tue, 1 Oct 2024 17:47:30 GMT Message-Id: <202410011747.491HlUwp095110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: d9d2e3ab7cf2 - main - sysent: regen comments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9d2e3ab7cf2b60ac5afe0d1a0a14d5bc39d7061 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d9d2e3ab7cf2b60ac5afe0d1a0a14d5bc39d7061 commit d9d2e3ab7cf2b60ac5afe0d1a0a14d5bc39d7061 Author: Brooks Davis AuthorDate: 2024-10-01 17:04:21 +0000 Commit: Brooks Davis CommitDate: 2024-10-01 17:46:40 +0000 sysent: regen comments --- lib/libsys/_libsys.h | 2 +- lib/libsys/syscalls.map | 3 ++- sys/amd64/linux/linux_systrace_args.c | 3 ++- sys/amd64/linux32/linux32_systrace_args.c | 3 ++- sys/arm64/linux/linux_systrace_args.c | 3 ++- sys/compat/freebsd32/freebsd32_systrace_args.c | 3 ++- sys/i386/linux/linux_systrace_args.c | 3 ++- sys/kern/systrace_args.c | 3 ++- sys/sys/syscall.mk | 4 ++++ 9 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h index 4565740a25bc..fcb10ad40c8e 100644 --- a/lib/libsys/_libsys.h +++ b/lib/libsys/_libsys.h @@ -3,7 +3,7 @@ * * Do not use directly, include instead. * - * DO NOT EDIT-- this file is automatically @generated. + * DO NOT EDIT-- this file is automatically @generated. */ #ifndef __LIBSYS_H_ #define __LIBSYS_H_ diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map index 3d952c691afd..334077c6bb2f 100644 --- a/lib/libsys/syscalls.map +++ b/lib/libsys/syscalls.map @@ -1,6 +1,7 @@ /* * FreeBSD system call symbols. - * DO NOT EDIT-- this file is automatically @generated. + * + * DO NOT EDIT-- this file is automatically @generated. */ FBSDprivate_1.0 { _syscall; diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c index 0126fdf7aa5a..d0738267b35a 100644 --- a/sys/amd64/linux/linux_systrace_args.c +++ b/sys/amd64/linux/linux_systrace_args.c @@ -1,8 +1,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c index a37de1d753dd..cf9d5b64a87f 100644 --- a/sys/amd64/linux32/linux32_systrace_args.c +++ b/sys/amd64/linux32/linux32_systrace_args.c @@ -1,8 +1,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/arm64/linux/linux_systrace_args.c b/sys/arm64/linux/linux_systrace_args.c index 73b3bf107486..9e7b0935e560 100644 --- a/sys/arm64/linux/linux_systrace_args.c +++ b/sys/arm64/linux/linux_systrace_args.c @@ -1,8 +1,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c index 9992242dba25..80b4a2ed0109 100644 --- a/sys/compat/freebsd32/freebsd32_systrace_args.c +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c @@ -4,8 +4,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c index 4ec9ca460802..041ee80fd4ff 100644 --- a/sys/i386/linux/linux_systrace_args.c +++ b/sys/i386/linux/linux_systrace_args.c @@ -1,8 +1,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index 2454a8b5137b..c2e1f22cbf87 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -1,8 +1,9 @@ /* * System call argument to DTrace register array converstion. * - * DO NOT EDIT-- this file is automatically @generated. * This file is part of the DTrace syscall provider. + * + * DO NOT EDIT-- this file is automatically @generated. */ static void diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index 6c8830042045..4aa282724ab5 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -1,5 +1,9 @@ +# # FreeBSD system call object files. +# # DO NOT EDIT-- this file is automatically @generated. +# + MIASM = \ syscall.o \ exit.o \ From nobody Wed Oct 2 06:37:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJQ8K46X8z5Y3L5; Wed, 02 Oct 2024 06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJQ8K3ZqJz4cxw; Wed, 2 Oct 2024 06: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=1727851025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wvwcK97TF6cIg8PFkMJsIn/7pRacQSfFZj/UFA996lE=; b=KiH550ZumsXn1qlkMVgw2tBK6SljrCrqwxlpFPnkISPRsmq5xS0V+9lJyitwty77mzZckD Os3r4B5QtZhw4X4TYIZUi33Rf4tT/lreEjZKGbgFwofBFfbJHqoRgCyYTKYk6k5WpniTuL Gm+IMbZu4f+142rAxA+qalCxFVMQ7Hruk3tIWKHvJ5QK3FjQ1IU8p47/0yJoGmXHcwtnnc G7M/BCqTy61MsT0Idvn8O9rQ4s+x2O8Gutq+GoUuSGEV2+j16G6eB1J0LycZ41fH9jrsOG e4An9/KtaO5qKAwHfazrxpKRzIYGbEcrWWq9PRbqsM1fMrdpqr9x2WKBiZG3aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727851025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wvwcK97TF6cIg8PFkMJsIn/7pRacQSfFZj/UFA996lE=; b=SLIQ/NTiVIpQWTvvHjHTZ3xjeRQ2nx9jp1XE3gBF8g5qKlTffyXagj/XARWmjGCr/kcIe5 QzOFueI7i66xw+bnbADvkgghdevr0EP80App7bn7SbIFvyajqkCbV+Qsqp/A7yjp8hAcvO VKnVScP92SMEUnh3eM0MeUrq+ABOh9qdCiFn4FuW9gkG71Sjy4aYqtuZoLArLkYu8AFIsH mUeaDZ+VTiMMGXByDgPYVH2vaEvX8uGwuEZBEbyAy4ZsyH8LShb1AeCiCD2NMYt8T4m/It JY1viiXz2tpWozy+Rg3ogapZKOIVajIft7rmsjED1Ifk/1vhMaLpL5RV18Lr3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727851025; a=rsa-sha256; cv=none; b=MiZKdQtew7hDWbIubxNqIwREl8yxSNc5+vbrfTWaWP74dIyUB99f9wWL1TnCsuO6/8nkR9 1E3S43a9s26Hm/uY2qcpngRiznnNBNhc37XIiG2M8KRV5GK0k9GnB3GajhBPdlm5tD4PkH hpK8NSj2KJKdQ7olWdSBSLynh+yMz2gyXRLY958GTRzj3A3eUeVQg08x+MxXrF32iRkoOd QCIM5FzbAvgKvjI93Bp1Vk/7fat67gekw1k9Je6osNurT1cD2XDCwioAHb8UOw/BRFukeD n/dUMmd+gHvfX9tusQLI0FUGOaJJB2Ej1eMpQfHUbdLhtgmM+0dfbV/GecQt+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 4XJQ8K2rkFz19lc; Wed, 2 Oct 2024 06:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4926b5UK000308; Wed, 2 Oct 2024 06:37:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4926b5Ns000305; Wed, 2 Oct 2024 06:37:05 GMT (envelope-from git) Date: Wed, 2 Oct 2024 06:37:05 GMT Message-Id: <202410020637.4926b5Ns000305@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Takanori Watanabe Subject: git: f5a04b16b189 - main - acpidump: add 's' option to parse dsdt and ssdt's separately. In some machine, they may not be parsed if they are concatinated into one image. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: takawata X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5a04b16b1895b331d6b54534321a8395fc2d5de Auto-Submitted: auto-generated The branch main has been updated by takawata: URL: https://cgit.FreeBSD.org/src/commit/?id=f5a04b16b1895b331d6b54534321a8395fc2d5de commit f5a04b16b1895b331d6b54534321a8395fc2d5de Author: Takanori Watanabe AuthorDate: 2023-06-22 10:08:21 +0000 Commit: Takanori Watanabe CommitDate: 2024-10-02 06:36:41 +0000 acpidump: add 's' option to parse dsdt and ssdt's separately. In some machine, they may not be parsed if they are concatinated into one image. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46796 --- usr.sbin/acpi/acpidump/acpi.c | 16 ++++++++++++++++ usr.sbin/acpi/acpidump/acpidump.8 | 14 +++++++++++++- usr.sbin/acpi/acpidump/acpidump.c | 11 +++++++++-- usr.sbin/acpi/acpidump/acpidump.h | 1 + 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index af0068649fbb..fe68b5062351 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -2643,6 +2643,22 @@ aml_disassemble(ACPI_TABLE_HEADER *rsdt, ACPI_TABLE_HEADER *dsdp) perror("rmdir"); } +void +aml_disassemble_separate(ACPI_TABLE_HEADER *rsdt, ACPI_TABLE_HEADER *dsdp) +{ + ACPI_TABLE_HEADER *ssdt = NULL; + + aml_disassemble(NULL, dsdp); + if (rsdt != NULL) { + for (;;) { + ssdt = sdt_from_rsdt(rsdt, "SSDT", ssdt); + if (ssdt == NULL) + break; + aml_disassemble(NULL, ssdt); + } + } +} + void sdt_print_all(ACPI_TABLE_HEADER *rsdp) { diff --git a/usr.sbin/acpi/acpidump/acpidump.8 b/usr.sbin/acpi/acpidump/acpidump.8 index dc8f724ea738..f193b9a3511a 100644 --- a/usr.sbin/acpi/acpidump/acpidump.8 +++ b/usr.sbin/acpi/acpidump/acpidump.8 @@ -133,13 +133,25 @@ The following options are supported by .Nm : .Bl -tag -width indent .It Fl d -Disassemble the DSDT into ASL using +Concatenate the DSDT and the SSDT's into single image and disassemble the image into ASL using .Xr iasl 8 and print the results to stdout. .It Fl t Dump the contents of the various fixed tables listed above. .It Fl h Displays usage and exit. +.It Fl s +Disassemble each of the DSDT and the SSDT's into ASL using +.Xr iasl 8 +and print the results to stdout. +This will avoid +.Xr iasl 8 +error on disassembling concatenated image. +If both +.Fl d +and +.Fl s +are specified, the last option is effective. .It Fl v Enable verbose messages. .It Fl f Ar dsdt_input diff --git a/usr.sbin/acpi/acpidump/acpidump.c b/usr.sbin/acpi/acpidump/acpidump.c index 23978aca010b..0fad7e68ef47 100644 --- a/usr.sbin/acpi/acpidump/acpidump.c +++ b/usr.sbin/acpi/acpidump/acpidump.c @@ -65,7 +65,7 @@ main(int argc, char *argv[]) if (argc < 2) usage(progname); - while ((c = getopt(argc, argv, "dhtvf:o:")) != -1) { + while ((c = getopt(argc, argv, "dhtvsf:o:")) != -1) { switch (c) { case 'd': dflag = 1; @@ -82,6 +82,9 @@ main(int argc, char *argv[]) case 'o': dsdt_output_file = optarg; break; + case 's': + dflag = 2; + break; case 'h': default: usage(progname); @@ -136,7 +139,11 @@ main(int argc, char *argv[]) if (dflag) { if (vflag) warnx("disassembling DSDT, iasl messages follow"); - aml_disassemble(rsdt, sdt); + if (dflag == 1) { + aml_disassemble(rsdt, sdt); + } else { + aml_disassemble_separate(rsdt, sdt); + } if (vflag) warnx("iasl processing complete"); } diff --git a/usr.sbin/acpi/acpidump/acpidump.h b/usr.sbin/acpi/acpidump/acpidump.h index 80f86a748d76..872facbad59d 100644 --- a/usr.sbin/acpi/acpidump/acpidump.h +++ b/usr.sbin/acpi/acpidump/acpidump.h @@ -144,6 +144,7 @@ void sdt_print_all(ACPI_TABLE_HEADER *); /* Disassemble the AML in the DSDT */ void aml_disassemble(ACPI_TABLE_HEADER *, ACPI_TABLE_HEADER *); +void aml_disassemble_separate(ACPI_TABLE_HEADER *, ACPI_TABLE_HEADER *); /* Routines for accessing tables in physical memory */ ACPI_TABLE_RSDP *acpi_find_rsd_ptr(void); From nobody Wed Oct 2 12:20:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJYn65JSQz5YRpX; Wed, 02 Oct 2024 12:20: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJYn63x99z4XLm; Wed, 2 Oct 2024 12:20:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727871658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZA3Tq95jH9+UkMBWcBy14AVxmuYeM5q5UYcVlMbkX8=; b=LE8fAervarzFYxiyTOuDg9tmF+07O5igHNCwBNSNcRTgtII1FMdmXDkhJcKGbS/ic7D7pu kgiGcNrE3AUUeN83o703wfOHLY32wW9u3xgk1a8V5ayS/MBTbU2jEk5LCOfW3Qz6Tdjs3O uS1BY+mTb3zLclNskrOR60td80AUT7/l8DPaXddOS3FF6Ff8o2LKuQ9HJvyGxFvIuG6wzn uRndS2k6J33Le1MaxLZ6JnrJGnIAqcVHUUS620gHGmibmTmT2s5H3Asrq0YHOMIQ6C13sV LjBdz+gNJKcGT2uUVlFs+/tssr3nPCSJO4P2S8tGizLQG1SACNty0bfKcalhSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727871658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZA3Tq95jH9+UkMBWcBy14AVxmuYeM5q5UYcVlMbkX8=; b=mamkIOBikA+PMkd2BXufzlmseyKPd4JoMmF4XH7h4KFq8T05M2vr60qgWD1Ywg6pyDgy6Q B9/h5An8Oi812+zEerzpQPlfxP+9Sq/pUzkRk9i584hVf/R0o4uKVMZo2pJP6feERWPlAa hkWmYREosCR4qucWGAJ4Br2ZUs0apknX0h6M6LFe3eAHQItvYwGdwWp5JhM08aZBIyTY/v G2Ls5jglU7SDNve27ZHM3cb34vhWcLl5f7RPUM1aQKKSvOcZZY3btyljfJ7ahocQkTYhJS Wj4G0WcJe/chfxe/E2tQDxOCZ7c8LqGeghrfiwabVd6SuuiOstzPa0y8cx1fmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727871658; a=rsa-sha256; cv=none; b=dKFxUINYC2ZtgOGz7JvFmnU7enGuRf1LtDm/KjCI+otobWlMjnIYfRcjdVe2BQXPqDnhC2 FEAbd3yrMy3nFGr1/hNla0lcJVaI7J1qX1a8TGiy5Ryp4rsGjv5VVeNyQIAkzj+379l6wB +w5tY6TUOVyv/fzDPVg++152cX0F9dNHuRdWhZSkqRj+KrlWpyW8ZbFL8deRHwfA2NSo5T O7jMGxV0BtAXoWp1GKhqsOgFN+pu5/pe0++MBdmIMbRbWjdxH+YN6XeHW8iroLuFEhxc0Y CQykdRKNsD00VM/MCtYh6SzGhUUfZeY2MFG9BktfrlXrY+Z/t/DQj5WTum71JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJYn63Dshz1KjC; Wed, 2 Oct 2024 12:20:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492CKwcP091505; Wed, 2 Oct 2024 12:20:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492CKwUl091502; Wed, 2 Oct 2024 12:20:58 GMT (envelope-from git) Date: Wed, 2 Oct 2024 12:20:58 GMT Message-Id: <202410021220.492CKwUl091502@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: c17a0f62da17 - main - pf tests: use unique pid files for inetd processes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c17a0f62da173df5e4a5433dfb90ef9f8dab98d4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c17a0f62da173df5e4a5433dfb90ef9f8dab98d4 commit c17a0f62da173df5e4a5433dfb90ef9f8dab98d4 Author: Kristof Provost AuthorDate: 2024-10-02 09:59:23 +0000 Commit: Kristof Provost CommitDate: 2024-10-02 10:03:19 +0000 pf tests: use unique pid files for inetd processes Ensure that we don't conflict with other inetd processes running in other jails by setting an explicit pid file (rather than relying on the default /var/run/ inetd.pid). This could lead to failure to start inetd, which in turn could cause test failures. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/ether.sh | 4 ++-- tests/sys/netpfil/pf/utils.subr | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/sys/netpfil/pf/ether.sh b/tests/sys/netpfil/pf/ether.sh index 0369e0e57ee6..104baf468aa4 100644 --- a/tests/sys/netpfil/pf/ether.sh +++ b/tests/sys/netpfil/pf/ether.sh @@ -286,7 +286,7 @@ captive_body() # Run the echo server only on the gw, so we know we've redirectly # correctly if we get an echo message. - jexec gw /usr/sbin/inetd $(atf_get_srcdir)/echo_inetd.conf + jexec gw /usr/sbin/inetd -p ${PWD}/echo_inetd.pid $(atf_get_srcdir)/echo_inetd.conf # Confirm that we're getting redirected atf_check -s exit:0 -o match:"^foo$" -x "echo foo | nc -N 198.51.100.2 7" @@ -304,7 +304,7 @@ captive_body() atf_check -s exit:1 -x "echo foo | nc -N 198.51.100.2 7" # Start a server in srv - jexec srv /usr/sbin/inetd $(atf_get_srcdir)/echo_inetd.conf + jexec srv /usr/sbin/inetd -p ${PWD}/echo_inetd.pid $(atf_get_srcdir)/echo_inetd.conf # And now we can talk to that one. atf_check -s exit:0 -o match:"^foo$" -x "echo foo | nc -N 198.51.100.2 7" diff --git a/tests/sys/netpfil/pf/utils.subr b/tests/sys/netpfil/pf/utils.subr index 0b7ee621e6fa..c854ad5e69d8 100644 --- a/tests/sys/netpfil/pf/utils.subr +++ b/tests/sys/netpfil/pf/utils.subr @@ -217,7 +217,7 @@ setup_router_server_ipv4() jexec server route add -net ${net_tester} ${net_server_host_router} inetd_conf=$(mktemp) echo "discard stream tcp nowait root internal" > $inetd_conf - jexec server inetd $inetd_conf + jexec server inetd -p ${PWD}/inetd.pid $inetd_conf } # Create a bare router jail. @@ -271,7 +271,7 @@ setup_router_server_ipv6() jexec server route add -6 ${net_tester} ${net_server_host_router} inetd_conf=$(mktemp) echo "discard stream tcp6 nowait root internal" > $inetd_conf - jexec server inetd $inetd_conf + jexec server inetd -p ${PWD}/inetd.pid $inetd_conf } # Ping the dummy static NDP target. From nobody Wed Oct 2 12:20:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJYn76t4Bz5YRxG; Wed, 02 Oct 2024 12:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJYn74ddYz4XNq; Wed, 2 Oct 2024 12:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727871659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dkwvZsQSesuR28I78GZ7co0iYdtp5Nkjlr2iP7ZXXH0=; b=avXpe+AlX8DBmTPE5kD9TIzyjz65QjSqXlBo8fNi6/2f/nqcMFKaOgehpqCJh+1VYnkxr6 +HSKfOxkCDOEm9YyBDN/wJz/B19aAX+71iiLopbTFoXyIiyOcmC0VXjpbdQIrxxivCQ2Ag IbyDXbsHOs10hLli1jl2uHzB539wUUtN64UWdlvxlEME3QeD63CzfkO4tE0w3dtXlOX5Zy MQHapjG2hhPu5CZ8TKi+SXmrMIdsuX+VpFxTPulUSF9aWkWmAH66ZgGXK5HNZyQc9Stsw7 PW8laYMc3FKEB47PEPiOk4Tp2OZwQHjY+X6B6szMPSaAQbVtyZPuHTJxbuX/+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727871659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dkwvZsQSesuR28I78GZ7co0iYdtp5Nkjlr2iP7ZXXH0=; b=hva5DM6Er0+MOdKqhpBaG9ZdAjomPpzvv4Scm5vSRgIihT+jtuJRqd9Q3xyJJhVOKjUy9R J/0hoidVJdZ43p2d7GNLyrlG7tgXg4fQq1dHFjBhQTiZ8v2jwq7fuVzoOSjd2+jpALrMen 0JEbbfSWqpbwubpJuFVFDqy3P92F4Qq9/i4i9VmGKAdF06K9jZBgWs9OvWosYHfH/PgOGr UizmaUKVzjx8sumq/bekGp+p/6/Kscwq/Bgs8i8mjk/jnIY4Rtc9BtWZib+BvcWjP64OL2 LmPfDTjeOjLL0FX/2rUQyK6cDbHlNHqZ1T5uANimafI6uVPZC0rOT6UhUuEjWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727871659; a=rsa-sha256; cv=none; b=Em9kWE6fcuHxnqgjKx3/sQYLkJEyBFRYV8f7oAQfcaGFWja86Au3Qyg0f477lkle99NxdP FtHcR+4FwrEPP/RROH/v2JryVmt+ssAolspPxkH/XqgORzUtDE3QRKoUyB26E0iQfQgDrf r8SSz4ZHF6z6H8sYh5nVxTjYPfZJNjsrTeS6fqPiywgZZ/1AB5ZMcEORW5DAsivrZi7CMh 8QVu5kP3Q78Jw1mze8PwKkHIYCjhJFbTmCpf+djfLZO8OlIGuruBN6b2/K78D56YjZqxTb +Yz1IoT0KZ0iGWDkpKEDQiiY6erVwcddRLsffmVD0HbOj2Ec9AN1F9oeLZc0aQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJYn74FgGz1LDN; Wed, 2 Oct 2024 12:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492CKxr0091546; Wed, 2 Oct 2024 12:20:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492CKxkQ091543; Wed, 2 Oct 2024 12:20:59 GMT (envelope-from git) Date: Wed, 2 Oct 2024 12:20:59 GMT Message-Id: <202410021220.492CKxkQ091543@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: 6bbef793552c - main - pf: Remove struct pf_pdesc->nat_rule List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6bbef793552cf6167c88c9d8e55e1874256f0d51 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6bbef793552cf6167c88c9d8e55e1874256f0d51 commit 6bbef793552cf6167c88c9d8e55e1874256f0d51 Author: Kajetan Staszkiewicz AuthorDate: 2024-10-02 10:05:04 +0000 Commit: Kristof Provost CommitDate: 2024-10-02 10:05:08 +0000 pf: Remove struct pf_pdesc->nat_rule The variable struct pd->nat_rule is set only during rule evaluation, that is only for the first packet of a connection. Use struct pf_kstate->nat_rule instead. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D46867 --- sys/net/pfvar.h | 1 - sys/netpfil/pf/pf.c | 15 ++++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 79dcd0d65985..53bc77d14537 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1602,7 +1602,6 @@ struct pf_pdesc { char any[0]; } hdr; - struct pf_krule *nat_rule; /* nat/rdr rule applied to packet */ struct pf_addr *src; /* src address */ struct pf_addr *dst; /* dst address */ u_int16_t *sport; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 51b4cebc88e9..b28503112db6 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5131,7 +5131,6 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, } if (nr->natpass) r = NULL; - pd->nat_rule = nr; } while (r != NULL) { @@ -7900,7 +7899,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, error = EMSGSIZE; KMOD_IPSTAT_INC(ips_cantfrag); if (r_rt != PF_DUPTO) { - if (s && pd->nat_rule != NULL) + if (s && s->nat_rule.ptr != NULL) PACKET_UNDO_NAT(m0, pd, (ip->ip_hl << 2) + (ip_off & IP_OFFMASK), s); @@ -8113,7 +8112,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, else { in6_ifstat_inc(ifp, ifs6_in_toobig); if (r_rt != PF_DUPTO) { - if (s && pd->nat_rule != NULL) + if (s && s->nat_rule.ptr != NULL) PACKET_UNDO_NAT(m0, pd, ((caddr_t)ip6 - m0->m_data) + sizeof(struct ip6_hdr), s); @@ -8771,7 +8770,7 @@ pf_counters_inc(int action, struct pf_pdesc *pd, struct pfi_kkif *kif, struct pf_kstate *s, struct pf_krule *r, struct pf_krule *a) { - struct pf_krule *tr, *nr; + struct pf_krule *tr; int dir = pd->dir; int dirndx; @@ -8823,10 +8822,12 @@ pf_counters_inc(int action, struct pf_pdesc *pd, pf_counter_u64_add_protected(&ri->r->bytes[dirndx], pd->tot_len); } } + tr = r; - nr = (s != NULL) ? s->nat_rule.ptr : pd->nat_rule; - if (nr != NULL && r == &V_pf_default_rule) - tr = nr; + if (s != NULL && s->nat_rule.ptr != NULL && + r == &V_pf_default_rule) + tr = s->nat_rule.ptr; + if (tr->src.addr.type == PF_ADDR_TABLE) pfr_update_stats(tr->src.addr.p.tbl, (s == NULL) ? pd->src : From nobody Wed Oct 2 15:52:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJfSt4x5cz5XjJB; Wed, 02 Oct 2024 15:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJfSt4V56z40YQ; Wed, 2 Oct 2024 15:52:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Q3ED+CMEEh1dC3oC4Z3Eb16SsAZLUni+j9X8gCI+fU=; b=TnfYTdIl+PZB9Dv0t4MTo2Yfmeee/SSnQ6MH2IDi6dmRx9dGwp+AMhxI3XwkuS8SE/iCgv 9WlRbQRrABew9+xQUOYBiFfLPez9N/FcRvqFGOUJ7gNyIDGYaaj/8OpRWO3pVe4wnNp+I4 +O3h0XD6JeJgrFzDyREw23/HiXBGb5OCZM7vvHne7dcMFtEkeK6uKTSU1EA6OITfgRFBrs bnHVIIVdYv0LdU06UFZmogz3+gHMVyZAGYrUCfwg5+WyFZFgSdCoBbAd8RoDlbj5sB0s4F 62eap+U+djQgFE9WnpLFh3uB9VlXU6+C1NjUbpyznDVNGzKc8OtQsj9A6xQZvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Q3ED+CMEEh1dC3oC4Z3Eb16SsAZLUni+j9X8gCI+fU=; b=fUsW3kJoui/9oYDM/9pGl8JLQUqcRqSZ49qAonVM78RU7tj/6v2eDrz4F4WFnPNafANimV H3+qZRJqkXb6UzySoy04zF5wHYpF3MSM2sgBPQ42oArHW5pccqnY4cSxb8QMQvqrQPyO1V 9bNQPJd1HdcRkaDNoikZ8LNHFyUPA92ORmqnQOXzIFiO4w81N30VBRqfMCqahWBm4XG8Qk UrrtPuW8/d1VxLPaH9tWfHpRI/p3PV8d3aduUQa68zR5H/ujYnDeuH+LrVnaOHdvcKau5K S4PoGphZ6rlmb7Z78qjaWeIH3nlwM6pteSeeACX2M3C72FwiKcAGDJz8XknqPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727884334; a=rsa-sha256; cv=none; b=IwKH+bY0klaTw1sIypDw9WxbSgMrUkNoWl0pqv52w9nvsBDLtuR9bzBiqMktXGUNhQRAU8 ZvH8oSHakDsw5X8t/JgOlm+GeK2dOV4Ki0zFTdo9sR2xDAWBRUFC77f3pBR/96Padsd0wv TeXPx66gPFzKrY7Cw+R17A/XkJ+UsrcH8QrB9yeLPVhjYu4Rs8PtQgtjxtquQNyBhPEgHf J6YC5ntb2/IX4+wtjdZbMpbXq4RqdF8MABa0kJy2NnAbDzSG4qm0nwu6iHH3YYtbcsrp6k Udn8zHHEuLcBWmKcEpGlWkpGkh3i+oWPXngHzw9UG9auC24YMC76BtkppO3D4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJfSt3ysWz1QVT; Wed, 2 Oct 2024 15:52:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492FqE4A049150; Wed, 2 Oct 2024 15:52:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492FqEQh049147; Wed, 2 Oct 2024 15:52:14 GMT (envelope-from git) Date: Wed, 2 Oct 2024 15:52:14 GMT Message-Id: <202410021552.492FqEQh049147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: fe55d62ab9a5 - main - Revert "stdio.h: don't expose rsize_t unless __EXT1_VISIBLE" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe55d62ab9a5bb930dde3fcf54e836bc915de5bc Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=fe55d62ab9a5bb930dde3fcf54e836bc915de5bc commit fe55d62ab9a5bb930dde3fcf54e836bc915de5bc Author: Cy Schubert AuthorDate: 2024-10-02 15:51:00 +0000 Commit: Cy Schubert CommitDate: 2024-10-02 15:51:56 +0000 Revert "stdio.h: don't expose rsize_t unless __EXT1_VISIBLE" This change has caused a number of port build failures. Let's revert this for now and request an exp-run. This reverts commit b35f0aa4952cf03f1b2093b110607c13dd2ec991. --- include/stdio.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/stdio.h b/include/stdio.h index ee3ab3bfb986..b0190d25eb4f 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -48,13 +48,10 @@ typedef __size_t size_t; #define _SIZE_T_DECLARED #endif -#if __EXT1_VISIBLE -/* ISO/IEC 9899:2011 K.3.3.2 */ #ifndef _RSIZE_T_DEFINED #define _RSIZE_T_DEFINED typedef size_t rsize_t; #endif -#endif /* __EXT1_VISIBLE */ #if __POSIX_VISIBLE >= 200809 #ifndef _OFF_T_DECLARED From nobody Wed Oct 2 15:55:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJfY80MNBz5Xjgk; Wed, 02 Oct 2024 15:55:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJfY76z8Rz40qg; Wed, 2 Oct 2024 15:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/wlnaWfGlWyGR8cfFGwa4UYdzuokywc+pTaIny5oI58=; b=FrMexlmVFrBRZA0OsVNe4PRmLBVK7KscIPq136uJSOwUvTuUZmAisFVMei9yLVwLfKQjVh WfJ5qMQ8y3sHQr/3MHnQfaXL/8vK/rTRnWE8sy93iCRe4sTHoUrWEPaULgu2bBMnB0LXEN voum4j8K02mW9n+EmDzfNX4Z9WwWG14uw1RCOF/JS2lSNtGzSwiRysBTmoyAZMKrOYZdJX kg8w5Tj8N43kiMAPeAi9LqQ89s1znA5C4F29Wu1R4hdTH0ZybjhHLYUqJtFUfQdOH+9i6j Rv1bi1cyQRNykU+F0bCdbVMPp+NGckmHjq5nKg9sz9urpHpdj1SNau6dy+38VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/wlnaWfGlWyGR8cfFGwa4UYdzuokywc+pTaIny5oI58=; b=RE7soR4j6gdAiau712n/UZe95Ed1np7hi4jUKKd9xLsUcqkSjvQKUlGHSRiTo80za7nYl0 lORDwIR//tJsENGNybAG3HxovjxQHHS8N9UVy5tIpdWpzQHDCrTsxEwiMvxS7ZOJ5AH91R hrOx+B6dy0zxDjBGlFRf89CuN207n5CWzbdf47+QFWQ3czyD/QOxp9guujwJikCJh54im/ eSYHFNyH8/ow0sNIPwddreWBmcghL6cnB2rRbPeZ48j3xbQjLE9lCF2UEjxMmWVmhVQv1O duQX1M/FA//Z+iI9g5nKzkijAJzNBTnjR9rO+atdzheRAWSZiZjUJXr6dLdnCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727884556; a=rsa-sha256; cv=none; b=woQtwPU1nzEXb/VxKmRmZlLnSBhyRNPPO6Rj3QNsVX6Y5m3tohR2HqkkDC88Wd/zWfF5Hn 7Qom9uT97PsD4dU4My0XiguG72vet/1O6+dur796SyfteoiubUdv4Xe3t86cd33+0WVVSF PEwz7aO91r753SH9Pio8mKu3/opFwqSH9vEOFkK3cxs9iECgyT91M9ppR2A9mFNOUsr1tK QQWRMn0HOwJmB/JFmoQDRSSgKvod8yHuN2NBJCYLC9yrr0p8zbJh3AC549DwIL0/Jy4wye WjJq1vewyFXPAZbhneyOyE8RHTvUb1dYasCBdeQTpLFIDEIZgwRr8jOzxa12iQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJfY76ZPQz1RW0; Wed, 2 Oct 2024 15:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492FttLS050813; Wed, 2 Oct 2024 15:55:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492FttA0050810; Wed, 2 Oct 2024 15:55:55 GMT (envelope-from git) Date: Wed, 2 Oct 2024 15:55:55 GMT Message-Id: <202410021555.492FttA0050810@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: 4e859e67dde2 - main - libdiff: Implement diff coloring. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4e859e67dde2cb4a583d340b27793a255f62f53e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4e859e67dde2cb4a583d340b27793a255f62f53e commit 4e859e67dde2cb4a583d340b27793a255f62f53e Author: Dag-Erling Smørgrav AuthorDate: 2024-10-02 15:54:48 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-10-02 15:55:06 +0000 libdiff: Implement diff coloring. This patch got accidentally left out when libdiff was imported. The rest of the code (command-line option etc.) was present, just not the part that actually prints ANSI color codes. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D46873 --- contrib/libdiff/include/diff_output.h | 4 ++ contrib/libdiff/lib/diff_output.c | 69 ++++++++++++++++++++++++++++------- usr.bin/diff/diffreg_new.c | 2 + 3 files changed, 62 insertions(+), 13 deletions(-) diff --git a/contrib/libdiff/include/diff_output.h b/contrib/libdiff/include/diff_output.h index d2568c5a2b50..500ee6427574 100644 --- a/contrib/libdiff/include/diff_output.h +++ b/contrib/libdiff/include/diff_output.h @@ -110,3 +110,7 @@ int diff_output_chunk_right_version(struct diff_output_info **output_info, const char *diff_output_get_label_left(const struct diff_input_info *info); const char *diff_output_get_label_right(const struct diff_input_info *info); + +void diff_output_set_colors(bool _color, + const char *_del_code, + const char *_add_code); diff --git a/contrib/libdiff/lib/diff_output.c b/contrib/libdiff/lib/diff_output.c index 3b84608882f6..2a0d95896e1a 100644 --- a/contrib/libdiff/lib/diff_output.c +++ b/contrib/libdiff/lib/diff_output.c @@ -30,6 +30,22 @@ #include "diff_internal.h" +static bool color; +static const char *del_code = "31"; +static const char *add_code = "32"; + +void +diff_output_set_colors(bool _color, + const char *_del_code, + const char *_add_code) +{ + color = _color; + if (_del_code) + del_code = _del_code; + if (_add_code) + add_code = _add_code; +} + static int get_atom_byte(int *ch, struct diff_atom *atom, off_t off) { @@ -66,12 +82,25 @@ diff_output_lines(struct diff_output_info *outinfo, FILE *dest, off_t outoff = 0, *offp; uint8_t *typep; int rc; + bool colored; if (outinfo && outinfo->line_offsets.len > 0) { unsigned int idx = outinfo->line_offsets.len - 1; outoff = outinfo->line_offsets.head[idx]; } + if (color) { + colored = true; + if (*prefix == '-' || *prefix == '<') + printf("\033[%sm", del_code); + else if (*prefix == '+' || *prefix == '>') + printf("\033[%sm", add_code); + else + colored = false; + } else { + colored = false; + } + foreach_diff_atom(atom, start_atom, count) { off_t outlen = 0; int i, ch, nbuf = 0; @@ -80,14 +109,16 @@ diff_output_lines(struct diff_output_info *outinfo, FILE *dest, size_t n; n = strlcpy(buf, prefix, sizeof(buf)); - if (n >= DIFF_OUTPUT_BUF_SIZE) /* leave room for '\n' */ - return ENOBUFS; + if (n >= DIFF_OUTPUT_BUF_SIZE) { /* leave room for '\n' */ + rc = ENOBUFS; + goto out; + } nbuf += n; if (len) { rc = get_atom_byte(&ch, atom, len - 1); if (rc) - return rc; + goto out; if (ch == '\n') len--; } @@ -95,11 +126,13 @@ diff_output_lines(struct diff_output_info *outinfo, FILE *dest, for (i = 0; i < len; i++) { rc = get_atom_byte(&ch, atom, i); if (rc) - return rc; + goto out; if (nbuf >= DIFF_OUTPUT_BUF_SIZE) { wlen = fwrite(buf, 1, nbuf, dest); - if (wlen != nbuf) - return errno; + if (wlen != nbuf) { + rc = errno; + goto out; + } outlen += wlen; nbuf = 0; } @@ -107,25 +140,35 @@ diff_output_lines(struct diff_output_info *outinfo, FILE *dest, } buf[nbuf++] = '\n'; wlen = fwrite(buf, 1, nbuf, dest); - if (wlen != nbuf) - return errno; + if (wlen != nbuf) { + rc = errno; + goto out; + } outlen += wlen; if (outinfo) { ARRAYLIST_ADD(offp, outinfo->line_offsets); - if (offp == NULL) - return ENOMEM; + if (offp == NULL) { + rc = ENOMEM; + goto out; + } outoff += outlen; *offp = outoff; ARRAYLIST_ADD(typep, outinfo->line_types); - if (typep == NULL) - return ENOMEM; + if (typep == NULL) { + rc = ENOMEM; + goto out; + } *typep = *prefix == ' ' ? DIFF_LINE_CONTEXT : *prefix == '-' ? DIFF_LINE_MINUS : *prefix == '+' ? DIFF_LINE_PLUS : DIFF_LINE_NONE; } } - return DIFF_RC_OK; + rc = DIFF_RC_OK; +out: + if (colored) + printf("\033[m"); + return rc; } int diff --git a/usr.bin/diff/diffreg_new.c b/usr.bin/diff/diffreg_new.c index a7a40ec12ec9..af9104559986 100644 --- a/usr.bin/diff/diffreg_new.c +++ b/usr.bin/diff/diffreg_new.c @@ -253,6 +253,8 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) goto done; } + if (color) + diff_output_set_colors(color, del_code, add_code); if (diff_format == D_NORMAL) { rc = diff_output_plain(NULL, stdout, &info, result, false); } else if (diff_format == D_EDIT) { From nobody Wed Oct 2 15:55:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJfY91Smtz5Xjpt; Wed, 02 Oct 2024 15:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJfY90xVyz40qh; Wed, 2 Oct 2024 15:55:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4W5yyUrvzCYnlbW+P9PP5g1/Rg6oJYdyng53mTR11N8=; b=WRox+LjhTjozuCYKcryNwkyjXZGLJTC4BuXAfFkS6WAJa/IuwMqUUX0Cvbl/Zu/n++JndY eNeSzeBF179+wtFQX5EZELXlbylYPctUeyfA4ERchmFqB9rjQHLa+ZJYzmWl1JtRnAuhox r/4ULyj8iQ1qBYD7LZ4HFKfS1gsVB2TfibenSvReQtTq2KuVRDP+ZvO6sFFjf/yoOeLK6d /r+yB8qe4/4DXh3rQY1u8NrXHW0UjU4v94MwffDHs2Z/ZWno07HkevXL0L81Oj91w5LRz1 VVvWaefufKkmIgLRB5oCNjN6T6M6uo7z1GGErnxyJX6POLn+0XJhcNGLThVTHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4W5yyUrvzCYnlbW+P9PP5g1/Rg6oJYdyng53mTR11N8=; b=scQ8SysvOKGiOIUlPS+NR/yaCXKiJfjQ2InJJeDIbky1s7I16L3h5Yk+7P0WtrZa6xiVPP omTbUK1HM6cofhAUM4cPU8Kh5rDEgCCp+lZJxd26et9gmKZNFcZZFxDcD2SnVqcBGfXig+ YJHU+Mc3Y0TgshqCpEsrf9Zx2H2NEXZ+WDkTrA66/cloidJk5s62L9vWh15ZXdJA2GkPCE 1oDD1lCjEcLzMimv+x7O+Gr7SHXHSarqujQeW+sGydENvmdZH+Z/FGTrTZqrspMCVf2Ina WQk5FJAmGFQ8AugmWWJz90Vs2t8nFiLLQt7Wtggesy5wsm3lJQw24emfNjH1+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727884557; a=rsa-sha256; cv=none; b=h0hBwvotxRHe039vafnB0KPu/39lWn8majhvoRrjAzKgzCt/Off663QmnbXcboO5uuWmxv 9DvTHNJsVpyRFG5jeUbWlrGFha689lX1eK7ncoMV5V3eWmGQPGlp7jNatqTtrL+PqlfScq 2zkz6slsC4azx6sgRWL56Pg243Pc72eTRZmoMEgNPWCPCvS3VjnPqOi17JboshJKCkJ+HD UTyP/OOya1keCK+YRVG7YERIrs1gB3BWagVVC68BBnRXjSFzlz+bL83iaS0c6T6HkDAXD3 7UdlztUkklkNwP0JpNDlRfqMa2v6Gkv9Tpc6UOy5MmUyOSpTPfSiElx4pukF4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJfY90YP9z1RDg; Wed, 2 Oct 2024 15:55:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Ftu8Q050867; Wed, 2 Oct 2024 15:55:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492Ftu50050864; Wed, 2 Oct 2024 15:55:56 GMT (envelope-from git) Date: Wed, 2 Oct 2024 15:55:56 GMT Message-Id: <202410021555.492Ftu50050864@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: 2201f7c49f11 - main - Build BSD diff3 if GNU diff3 is disabled. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2201f7c49f11acc636d8d8be4b660a42a4ae4e58 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2201f7c49f11acc636d8d8be4b660a42a4ae4e58 commit 2201f7c49f11acc636d8d8be4b660a42a4ae4e58 Author: Dag-Erling Smørgrav AuthorDate: 2024-10-02 15:54:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-10-02 15:55:06 +0000 Build BSD diff3 if GNU diff3 is disabled. MFC after: 3 weeks Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D46799 --- tools/build/mk/OptionalObsoleteFiles.inc | 5 ----- tools/build/options/WITHOUT_GNU_DIFF | 5 ++++- tools/build/options/WITH_GNU_DIFF | 2 ++ usr.bin/Makefile | 3 +++ 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index c0118bcbf6cb..121905ad9158 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -2073,11 +2073,6 @@ OLD_FILES+=usr/tests/usr.bin/dc/inout OLD_DIRS+=usr/tests/usr.bin/dc .endif -.if ${MK_GNU_DIFF} == no -OLD_FILES+=usr/bin/diff3 -OLD_FILES+=usr/share/man/man1/diff3.1.gz -.endif - .if ${MK_GOOGLETEST} == no OLD_FILES+=usr/include/private/gmock/gmock-actions.h OLD_FILES+=usr/include/private/gmock/gmock-cardinalities.h diff --git a/tools/build/options/WITHOUT_GNU_DIFF b/tools/build/options/WITHOUT_GNU_DIFF index 889e878668f6..4ea9f6f4a363 100644 --- a/tools/build/options/WITHOUT_GNU_DIFF +++ b/tools/build/options/WITHOUT_GNU_DIFF @@ -1,2 +1,5 @@ Do not build GNU -.Xr diff3 1 . +.Xr diff3 1 ; +build BSD +.Xr diff3 1 +instead. diff --git a/tools/build/options/WITH_GNU_DIFF b/tools/build/options/WITH_GNU_DIFF index 6ccea1c7f28e..cc7fbf25119a 100644 --- a/tools/build/options/WITH_GNU_DIFF +++ b/tools/build/options/WITH_GNU_DIFF @@ -1,2 +1,4 @@ Build and install GNU +.Xr diff3 1 +instead of BSD .Xr diff3 1 . diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 039dd8ed2f87..88786a0dd7e0 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -212,6 +212,9 @@ SUBDIR+= gh-bc SUBDIR.${MK_OPENSSL}+= bc SUBDIR.${MK_OPENSSL}+= dc .endif +.if ${MK_GNU_DIFF} == "no" +SUBDIR+= diff3 +.endif SUBDIR.${MK_HESIOD}+= hesinfo SUBDIR.${MK_ICONV}+= iconv SUBDIR.${MK_ICONV}+= mkcsmapper From nobody Wed Oct 2 15:55:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJfYB3wdmz5Xjgp; Wed, 02 Oct 2024 15:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJfYB2RZJz4161; Wed, 2 Oct 2024 15:55:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kO0xSquQ2S491AR3W45ky+AI1++/bE7Yi1vDsaUGnEo=; b=mMxSBczlEF6VI1bUK/UNFMgdHXpLcnmCBADqNgYQbcCKMXoiTwu7oJsbTRkd4I23Qorjvg ts15cDcUtnwU1OTboi97aY2rbqAIVixGCqtjBDhlnn5bct0Jv2/18kXDKr7NYQ3FUBunb6 4nQD4KQod8UCu7GbJg1qIsXQARmFNgOg+IHKzjv5KTVEwP8Iyj/JjsjDzP5Yhqkljc9V+l CphiOjbfiCeMcCzTKY7bHlZoI2hgsl1w10BZ91t1jXayDY5KFWgZK59sbZc+C+Xi301F9Q aJOY927S/b3YgFqXXZYvBNgI0h5A+Wi6sKOoF42Jn4wobbk2rsUSb8wyHFm7Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727884558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kO0xSquQ2S491AR3W45ky+AI1++/bE7Yi1vDsaUGnEo=; b=Akokby/mEEb39ZTqqw5+IjRkCzqVeaaOczomjgcbfTwvFavwdRjFAfcNOe1aYig2oDTsLA YGoDIT0o4UvIREjzAwz/AwAneQGqzlI5JBftJ5gE1Eo9fIggBH1l5821JcKBn5sFukJzNw jjguIqt+CSgFy5uqlVOzqFaE4NPJAzkFYE8/BDSbZMfH4dl/cE5wagHYWGwy3Lr0Cccq1c GApx84q44DNyYdREg0EG0Ey8exV8fCzpYuvkoyS9Ptjs+c9aw/JUxWuTnF+R3DXS+PUBiY M3cexlthy77zfPN4oVkqDY05+ukTKLiVPFheht/mUu6THEI1M98jjXiXWsAzpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727884558; a=rsa-sha256; cv=none; b=sMeCP5Yd7nOp3GWCDn7SmUU4ojq1vQ17VaOOBW2s1QnIX3xfkWhDpVe/cFmanvww2OSvj/ gunc6lmwzFBrElgKkpFU16ans+VvqEzZUaMG6NGi5vEPZedFghvboYmFjzRfbzrTm/B9DO u4ayminFDU2HSILFLA2Q8a2xCBQG1WPPUYb2Gwl6Vh+NgzP5MQ9DdLNqA30Vx4cuLNQovQ ay7TMd/MQV0AxICZVrcqKj7HH81UrN8L0aOZopRy6EYXa5FxC10ELAF+M7zx3eNvgw0UTi rQCvyMd+IjRM2znZMhrANQ6v8NpS2Hu00GhxE9TZStD655abyOVRL1tNVTYwAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJfYB1smCz1RB3; Wed, 2 Oct 2024 15:55:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Ftw9m050933; Wed, 2 Oct 2024 15:55:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492FtwoO050930; Wed, 2 Oct 2024 15:55:58 GMT (envelope-from git) Date: Wed, 2 Oct 2024 15:55:58 GMT Message-Id: <202410021555.492FtwoO050930@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: 26bd374e7268 - main - locate.updatedb: Revert to using cat to copy the db. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 26bd374e72681860af4bf9d639308ad245949460 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=26bd374e72681860af4bf9d639308ad245949460 commit 26bd374e72681860af4bf9d639308ad245949460 Author: Dag-Erling Smørgrav AuthorDate: 2024-10-02 15:54:57 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-10-02 15:55:06 +0000 locate.updatedb: Revert to using cat to copy the db. This script is usually run unprivileged, so install fails to create a temporary file while copying the finished database. Revert to using cat, which can overwrite the existing file as it is usually owned by the same user which is running the script. Fixes: f62c1f3f8e91 MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D46872 --- usr.bin/locate/locate/updatedb.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/locate/locate/updatedb.sh b/usr.bin/locate/locate/updatedb.sh index ca1a79116a91..7d42cbb2260d 100644 --- a/usr.bin/locate/locate/updatedb.sh +++ b/usr.bin/locate/locate/updatedb.sh @@ -96,5 +96,5 @@ then echo "updatedb: locate database $tmp is empty" >&2 exit 1 fi - install $tmp $FCODES + cat $tmp >$FCODES fi From nobody Wed Oct 2 16:45:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJgdr4RfMz5XmD0; Wed, 02 Oct 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJgdr3fx5z4C98; Wed, 2 Oct 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727887504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6PR1t2AMof/MB8bj0HA2FJjr9/p9bfuj674TCTAySQ=; b=EoLP6D+nJF768Tnp8mgHHQ0QKGNA3AOu87+aCPY0BXKze3Koo/o62secHu8O7CvAFRWfFc WyNsuR6HTYn0P3LkIR975p6DZNdUxzl4kBRsMI86UjG5VaeKhvuFRn5Pn/9hzuiLyIOJYQ 3uRRnJZi0LMWCGOydYpzCDnE+b+UjNAdQ8wRa4VeBWDqN7vau49KjqIQfEl4RQgaKWOFk9 FREXjWzuLF8zrR3JcldYZZsDuRWKJsxhbNRfyg8rX/Ft3Z0XF2PDKvojgaG5JDxiDQGlf7 c3+sXR4pS2nIMADBrV8bMFhCOG+JDowcu7acBw3fk+p1xrvAt6bZYXjEpFVnWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727887504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6PR1t2AMof/MB8bj0HA2FJjr9/p9bfuj674TCTAySQ=; b=P2Z2Co6VmjvTynTalpwcadPxl04fT+m+q3SN16RvCCVy3Lix2eV+K0EUn4xG8XQV1oGf3e /d8czal+irBUB3ngCy6ir6oSymoIGrZWqjVhGJBhmQae9cssbzMZZvVd4jaX2KI7FVX6EF Imlq/agkU+kZgJ7CAobwJN9TkMnP2jabTrEA6QBPnb6JfpBcSqob01c3rjI6Ya/5VxIg4X TtUNHTKb4z6EhjrBqNkaTwdsmMhJljSJgnbfrBQ0KUGDCwbulwV55ZtFkru5T53GkdZX4Z emxVOvhW9vMyLrjfJVs6Hd3HYh990MotccRAcRsjJ1kJv6f8bqnA1UqChbTZRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727887504; a=rsa-sha256; cv=none; b=MOvdiKTLuO7dFjVaRQjrlgG2vhoZVQQ8Ro9KNNMCh+q4BIB6TJmvSFMR2O6UbfESsPO4jZ N/8W8dFvKnJC6W0iV6XG81EoYg0P0BI6ZAPfJyxI9eLyHsHMcrTejUn8rEQT5oxHsb0po4 IhxrHhRKJ2IN4lzOLjg65n678bdbmsd1mdZUCRYF35fIECx+EFvppYUjMyiAZ1+09fof4B qrGaENR/A+fRMqEI+ouNuCXcXVInID3C8iUysd2KcHD1WhwDKM0BhufnHeh0FpTpzegFJI 1EhUFGNmFtRDveNsAVBQ9O9YbCKjwrnfHGsCtpCTEhaXG+06Z5Ge4M6mBs7GvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJgdr3FdxzF05; Wed, 2 Oct 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Gj4rG035942; Wed, 2 Oct 2024 16:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492Gj4Sb035939; Wed, 2 Oct 2024 16:45:04 GMT (envelope-from git) Date: Wed, 2 Oct 2024 16:45:04 GMT Message-Id: <202410021645.492Gj4Sb035939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 51fda658baa3 - main - vmm: Properly handle writes spanning across two pages in vm_handle_db List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51fda658baa3f80c9778f3a9873fbf67df87119b Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=51fda658baa3f80c9778f3a9873fbf67df87119b commit 51fda658baa3f80c9778f3a9873fbf67df87119b Author: Bojan Novković AuthorDate: 2024-09-29 11:10:10 +0000 Commit: Bojan Novković CommitDate: 2024-10-02 16:43:36 +0000 vmm: Properly handle writes spanning across two pages in vm_handle_db The vm_handle_db function is responsible for writing correct status register values into memory when a guest VM is being single-stepped using the RFLAGS.TF mechanism. However, it currently does not properly handle an edge case where the resulting write spans across two pages. This commit fixes this by making vm_handle_db use two vm_copy_info structs. Security: HYP-09 Reviewed by: markj --- sys/amd64/vmm/vmm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index a2c2b342bee4..5484d71cefd2 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1795,7 +1795,7 @@ vm_handle_db(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) int error, fault; uint64_t rsp; uint64_t rflags; - struct vm_copyinfo copyinfo; + struct vm_copyinfo copyinfo[2]; *retu = true; if (!vme->u.dbg.pushf_intercept || vme->u.dbg.tf_shadow_val != 0) { @@ -1804,21 +1804,21 @@ vm_handle_db(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) vm_get_register(vcpu, VM_REG_GUEST_RSP, &rsp); error = vm_copy_setup(vcpu, &vme->u.dbg.paging, rsp, sizeof(uint64_t), - VM_PROT_RW, ©info, 1, &fault); + VM_PROT_RW, copyinfo, nitems(copyinfo), &fault); if (error != 0 || fault != 0) { *retu = false; return (EINVAL); } /* Read pushed rflags value from top of stack. */ - vm_copyin(©info, &rflags, sizeof(uint64_t)); + vm_copyin(copyinfo, &rflags, sizeof(uint64_t)); /* Clear TF bit. */ rflags &= ~(PSL_T); /* Write updated value back to memory. */ - vm_copyout(&rflags, ©info, sizeof(uint64_t)); - vm_copy_teardown(©info, 1); + vm_copyout(&rflags, copyinfo, sizeof(uint64_t)); + vm_copy_teardown(copyinfo, nitems(copyinfo)); return (0); } From nobody Wed Oct 2 16:53:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJgqQ2yjkz5Xmv0; Wed, 02 Oct 2024 16:53:22 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta002.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJgqP3Jymz4DsL; Wed, 2 Oct 2024 16:53:21 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4001a.ext.cloudfilter.net ([10.228.9.142]) by cmsmtp with ESMTPS id vywps65ayMArNw2bIsFgZr; Wed, 02 Oct 2024 16:53:20 +0000 Received: from spqr.komquats.com ([70.66.152.170]) by cmsmtp with ESMTPSA id w2bHsMjaXGvSVw2bIs23kO; Wed, 02 Oct 2024 16:53:20 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=FpSm/Hrq c=1 sm=1 tr=0 ts=66fd7a80 a=y8EK/9tc/U6QY+pUhnbtgQ==:117 a=y8EK/9tc/U6QY+pUhnbtgQ==:17 a=IkcTkHD0fZMA:10 a=DAUX931o1VcA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=EkcXrb_YAAAA:8 a=gj-MK6H-zlxleXcIoy4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=LK5xJRSDVpKd5WXXoEvA:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id B1F0F284; Wed, 02 Oct 2024 09:53:18 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id AA05628D; Wed, 02 Oct 2024 09:53:18 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Bojan =?utf-8?Q?Novkovi=C4=87?= cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 51fda658baa3 - main - vmm: Properly handle writes spanning across two pages in vm_handle_db In-reply-to: <202410021645.492Gj4Sb035939@gitrepo.freebsd.org> References: <202410021645.492Gj4Sb035939@gitrepo.freebsd.org> Comments: In-reply-to Bojan =?utf-8?Q?Novkovi=C4=87?= message dated "Wed, 02 Oct 2024 16:45:04 +0000." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Date: Wed, 02 Oct 2024 09:53:18 -0700 Message-Id: <20241002165318.AA05628D@slippy.cwsent.com> X-CMAE-Envelope: MS4xfJabPpCMrcY6bIy/JaczWDhwEiAff7G+IJTXsRqzQ41jp9014E+5PalOSZpfhuzA2tGm6i/M/U/3HXurXUMjKPpXFe1/+7HR4OKqVjzzORt4szZdrvb4 0VDCCkrA7ixlZUPIXTjtXTsN3icnfd5f2W6QFeFHgE6W+nzV5jxoeDMPsUW9DVFMYR9q2OBITO/snMYmDo8q3XrCBo6N1RhOc6gIZh+YVrJnGa/NTrIygxuF Ge7lJpVy7DGnGupSNR824v/lE8obVcZkwW7CsY40phbKYygRQ6jR+M2PogV6GJkMOPF/RCfdeE2a9scn6bc93FShc/sm3gI5+56NEa0GSUs= 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:16509, ipnet:3.96.0.0/15, country:US] X-Rspamd-Queue-Id: 4XJgqP3Jymz4DsL X-Spamd-Bar: ---- In message <202410021645.492Gj4Sb035939@gitrepo.freebsd.org>, Bojan =?utf-8?Q?N ovkovi=C4=87?= writes: > The branch main has been updated by bnovkov: > > URL: https://cgit.FreeBSD.org/src/commit/?id=51fda658baa3f80c9778f3a9873fbf67 > df87119b > > commit 51fda658baa3f80c9778f3a9873fbf67df87119b > Author: Bojan Novković > AuthorDate: 2024-09-29 11:10:10 +0000 > Commit: Bojan Novković > CommitDate: 2024-10-02 16:43:36 +0000 > > vmm: Properly handle writes spanning across two pages in vm_handle_db > > The vm_handle_db function is responsible for writing correct status > register values into memory when a guest VM is being single-stepped > using the RFLAGS.TF mechanism. However, it currently does not properly > handle an edge case where the resulting write spans across two pages. > This commit fixes this by making vm_handle_db use two vm_copy_info > structs. > > Security: HYP-09 Where can we find this vulnerability documented? -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 From nobody Wed Oct 2 16:59:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJgxw4MKJz5XnLt; Wed, 02 Oct 2024 16:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJgxw3cScz4FPf; Wed, 2 Oct 2024 16:59:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727888340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SfoY1rGkECWQipEWcN8Q/2Qy/DwGAFa9L2SNJpT1kxY=; b=wrs5XndsEm8Pe9WyFmI1b6pzY5m2gjNCktxV8K2nsKF0QZQpW2hOPk9Vq847tdJlXvxFQF crj1nvAR5YP5PPXVjPzi2BKq2boEDQ/l3qmlQY1iCSqX76oamUGIkG0NkdKxS02p3NrqVZ MgLP0YeaZ/xKpP40d48He+P9vv/yfZtBfP6x3TpxOd0yxlMGlCEmJyo03no30iaCFueI3r rv0qLEP92+b0EDX7A5RYHAddSL6Ajvtfooo8eXk3Ltl05T8neFUJnaPj2StPc9P7fF7E3g dGWYGzm50tNyv6uN0DV+O6lQBJI+vQ2bubSJB4lV2/PYE33Z3t+tlv6itElOaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727888340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SfoY1rGkECWQipEWcN8Q/2Qy/DwGAFa9L2SNJpT1kxY=; b=htjZV535KsS6bmVtHqm8yEL2/lTR68VyHflytJCsV8rx0IJU8MDJCJBwew2PXBbk451LGE RnWO82OMhDZRcS2SrRazbNBywfIoBA4FMCJGv9QRRZqv7Zt4owSP5d0fADDVRC42cFX3Kv BPRsFTusl2SZ0hl0VNgLLXeIQw3AitDYw1iMCrvpvHjyF1zU9OrKJTEL045uWJ/2r8q1ko VKaosQQIeXYBsp+YjL6JAv5Ic2rz0B3cZZhymK3hmFTSpqqbChsv934ySOAladkGHl3C0H bbX55rTPDq1mpL7JaYQO7xCguSfat/RbuKeHAXcIvYtvRTuXcZsThJ/2GcZsYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727888340; a=rsa-sha256; cv=none; b=sOpurHh6Ut5gf1268B/goCdD3oBiGnzH3TnasC2OaL/RaQ0/SwryElYRplqrxm6Ea0O11U OI55wD+RdHUVw/ny1xVBZKSRtYDKCGScp1zfFtuy6mFSMTjWmS4v6khgtEiCblyXp8UQBZ 5LpB1pMoxkdppqajZQQs12kLOSmq9n/1wr9r3LPZ3oZy77+IuwnThDijf5S2Ykhh9ybP9a U30pkp+BIvQcSytbgtupovU98Bnkf4W/j927T2gqW7VE0+9X4743hDKwancB1WHqWGFjA1 29S12ZDiqaDBh9LCxWwhWnTjWsEnGzpUZ+jbKYXhVpmuqNIaXIB7XnR6zYSUVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJgxw3627zFDS; Wed, 2 Oct 2024 16:59:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Gx0ug054036; Wed, 2 Oct 2024 16:59:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492Gx0El054033; Wed, 2 Oct 2024 16:59:00 GMT (envelope-from git) Date: Wed, 2 Oct 2024 16:59:00 GMT Message-Id: <202410021659.492Gx0El054033@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: d19fa9c1b72b - main - vmm: avoid potential KASSERT kernel panic in vm_handle_db List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d19fa9c1b72bc52e51524abcc59ad844012ec365 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d19fa9c1b72bc52e51524abcc59ad844012ec365 commit d19fa9c1b72bc52e51524abcc59ad844012ec365 Author: Pierre Pronchery AuthorDate: 2024-07-25 14:40:35 +0000 Commit: Ed Maste CommitDate: 2024-10-02 16:58:45 +0000 vmm: avoid potential KASSERT kernel panic in vm_handle_db If the guest VM emits the exit code VM_EXITCODE_DB the kernel will execute the function named vm_handle_db. If the value of rsp is not page aligned and if rsp+sizeof(uint64_t) spans across two pages, the function vm_copy_setup will need two structs vm_copyinfo to prepare the copy operation. For instance is rsp value is 0xFFC, two vm_copyinfo objects are needed: * address=0xFFC, len=4 * address=0x1000, len=4 The vulnerability was addressed by commit 51fda658baa ("vmm: Properly handle writes spanning across two pages in vm_handle_db"). Still, replace the KASSERT with an error return as a more defensive approach. Reported by: Synacktiv Reviewed by markj, emaste Security: HYP-09 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46133 --- sys/amd64/vmm/vmm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 5484d71cefd2..12ebc1671641 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2810,7 +2810,8 @@ vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging, nused = 0; remaining = len; while (remaining > 0) { - KASSERT(nused < num_copyinfo, ("insufficient vm_copyinfo")); + if (nused >= num_copyinfo) + return (EFAULT); error = vm_gla2gpa(vcpu, paging, gla, prot, &gpa, fault); if (error || *fault) return (error); From nobody Wed Oct 2 17:48:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJj2l31ZHz5XrCW; Wed, 02 Oct 2024 17:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJj2l2QLnz4Jm8; Wed, 2 Oct 2024 17:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q7BdoZxauLPwZr/A4/qvYubLt3Ru72QLbPYOqLfIS2o=; b=lRnS2jclYmBtgb8JWw/4/SqSBgg4UpYz/7tGdQhm3sIY3y35Ui123LWkxg4RHR6XIpBdv6 1twDlVhn1b7cngzvcjUtRxxFvAsm8gq7x08bessQ0brnprVcHMOipZb3xp11s4SOsIaSIv Dzh3OaAr15f2OVTJK0y0wutmkZKeeV6pCqCd4gHY1jGxU02UFI1WChmaW+KZ6hl2g4aIqA RxB9NJlN0a3uBAs87rt4MLQzyQZevrAXoAr4MBykTg7qwfysaPFLdcZogfml2PVqiTrPPO usge50/41dZJZzdjTTN64LrrCR/Xx7m0CKRAgKuIftUMmc0u67bIfQEGD14QTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q7BdoZxauLPwZr/A4/qvYubLt3Ru72QLbPYOqLfIS2o=; b=nUM1DPzZ+IOgozf3XHgltX213FPI3xq0GVUTbuFEwv+iNIPyASCLKLDCeI1KRO8EDtcWIf U32LGLNVyZ8saSjfP6EY+NBKouon8s+zlpDjUJUGhyTD29J1SoqIFzr8mB/xxHYyqaZyZG 9XTuo4sbvuXoXoHxVXcey5rrl8ayfVQaUL3nsvQs8EnGDbK2akk1voIiDTh6yi75HLlwhe JYHA/7QnfZj4QMCrFjiziVNyykN24aWPkgZrz5rNCzTxsekohlkrGEehhQqbmfUS6nMKzg perO78uIWBfrYF5cJj3A4tAVukBXiKVw2w3hmmgwTt5H2A5aYWda5q5URxelaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727891295; a=rsa-sha256; cv=none; b=ZSwLbOx+tW6zl3+aQkyIVWACCKBjDUHnNB+BBAT9bYhQrE3hZQdJPyR/2cWydopgJDXCkC SY7IFP5udpDZDd+Vm6yKQ3CF9goXz3Yk/R8sCPxHbLfZNm+kNDXP9fgWgqzg1nmpZdBOGp UnE1KzJ7N8hqdCSOHeSQ2BGrXakk4mB1pjx52z55bqpFG6vHAjASZoli7tamOOxtOLdCiA kjMDPs/WYMsMSgFrZPJCMpY4d7CkV2Q94Ny7FBzeeHnM15nBzugoGCkn308CQNFN+rmjLw 5WSiySShXj4qeMqD/hiJV5K8T4ql1OBvngQDEhTfRSrTgs8BYNNa19a3yoAMLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJj2l1vMmzFrD; Wed, 2 Oct 2024 17:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492HmFOK038338; Wed, 2 Oct 2024 17:48:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492HmFg1038335; Wed, 2 Oct 2024 17:48:15 GMT (envelope-from git) Date: Wed, 2 Oct 2024 17:48:15 GMT Message-Id: <202410021748.492HmFg1038335@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: c25e55bcf80b - main - include: ssp: hide gets_s behind __EXT1_VISIBLE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c25e55bcf80b7fc5384c34948404ae9d65c29bab Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c25e55bcf80b7fc5384c34948404ae9d65c29bab commit c25e55bcf80b7fc5384c34948404ae9d65c29bab Author: Kyle Evans AuthorDate: 2024-10-02 17:46:02 +0000 Commit: Kyle Evans CommitDate: 2024-10-02 17:47:55 +0000 include: ssp: hide gets_s behind __EXT1_VISIBLE These were supposed to match the visibility of the system's declaration, but this one was overlooked. Fix it now so that `rsize_t` can be hidden appropriately. Reported by: Shawn Webb (and now others) --- include/ssp/stdio.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/ssp/stdio.h b/include/ssp/stdio.h index f7a390f315a4..630683951e4b 100644 --- a/include/ssp/stdio.h +++ b/include/ssp/stdio.h @@ -50,7 +50,9 @@ __ssp_redirect(size_t, fread, (void *__restrict __buf, size_t __len, size_t __nmemb, FILE *__restrict __fp), (__buf, __len, __nmemb, __fp)); __ssp_redirect(size_t, fread_unlocked, (void *__restrict __buf, size_t __len, size_t __nmemb, FILE *__restrict __fp), (__buf, __len, __nmemb, __fp)); +#if __EXT1_VISIBLE __ssp_redirect(char *, gets_s, (char *__buf, rsize_t __len), (__buf, __len)); +#endif /* __EXT1_VISIBLE */ __ssp_redirect_raw(char *, tmpnam, tmpnam, (char *__buf), (__buf), 1, __ssp_bos, L_tmpnam); #endif From nobody Wed Oct 2 17:53:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJj943Srqz5XrkR; Wed, 02 Oct 2024 17:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJj942m4kz4KKZ; Wed, 2 Oct 2024 17:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r3zaFw6+r225Y4L99AMRtOu0bdub2Qt0HWpA17NZYds=; b=F+3coQmgHCwKA+N1G54mbBKYrnfM6Bps4ZQ2DxoYuC1erIqTWf45P8icdFs6cctVsYOO7Y CwRrKU8tIPe5rHD7UY+OzwONI70VWTuSmHZ9egWwwSzKFiLq5ofD6JQjNmVmRIvOxTe/lE wy1B5eE+Gk1VCR4U7TiJgKwBSdue9j9U2fkpQOnFVrBwRWBQQHLbg96ifodB0WuvXY2wbr c+Dd1fOFZ1Caj7E8IRlpvrBd1+aEtIXbgOYOfBMB/V8AFIQ2f6Fmi0aqVUTbJ/1XjdNyUC FPuHQ73uMevlUC2lFQ1jTlNCXV/8AIPBMAD6ztbC0y/mZxwK1hk35RmyHJ4u3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r3zaFw6+r225Y4L99AMRtOu0bdub2Qt0HWpA17NZYds=; b=wFSicJ0/S3ZLJPWXJwf/xeCpc+/cL3AAzugMs7GL2ja8lcUzf/GWzPYSI7qP5mBCl5cREU pMkAhDUWaKA/fRMpr+D5KQ0S3tvfBRktoHdOs95O7a0ziq6o7Bz07cTTvENmTrOFcgGoZ1 adwiQ20zcwLFUmPyE+GLCyilIeOuDUEioOdihtWRhFu+4Vq06L98eFMIVOTJ48exq+2Ssd sDNlWQ02MN9SBdVJUWXgnL71ii1zXAARxxJjNz6fQyvTbvew7rs/FXyECqMjtO3xTH+VU3 4ERqXOey5YE1t15GDidHgYe1IN+Hn6A8wSRhXGR1BdyDC3Iye/ZY+Gr6zhCjSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727891624; a=rsa-sha256; cv=none; b=uX3Guc8GcR4WCFFYvUJOMbr10GNWeJYC1p15bwXTpYde23lSJTkajfo7G2FFsIfLhYelyk hX9a2vnJzwZ1r2FOg0BUphyjXSXUG2OajOe5o6RmL9K6NsPxP90xlNfczlXpV81M/7rs0X LQ0F3hPuu+nrq9GzyRg+/B1msnCoueVV5iWgBnIF7EiTG2emTeLjgbGbj/B3RYJAHTbY07 qsxDYUjGHdGK4qANzQis0XwJAkYH3OjxAKQPZcK833qRIIMvk4671zWaSDFkXyuTBxP2dP O/Pau/NGzK6n2Z3xYSk/OfaK+QDaxTg9dKKrHUxhy54bhvOVMquZ8rwAZBP6KQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJj942L08zGkw; Wed, 2 Oct 2024 17:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492HriJg054767; Wed, 2 Oct 2024 17:53:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492HriHG054764; Wed, 2 Oct 2024 17:53:44 GMT (envelope-from git) Date: Wed, 2 Oct 2024 17:53:44 GMT Message-Id: <202410021753.492HriHG054764@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: e5c64b2662ff - main - pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e5c64b2662ffddd6593099d9333fc7f1cea0f785 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e5c64b2662ffddd6593099d9333fc7f1cea0f785 commit e5c64b2662ffddd6593099d9333fc7f1cea0f785 Author: Kajetan Staszkiewicz AuthorDate: 2024-10-02 12:21:47 +0000 Commit: Kristof Provost CommitDate: 2024-10-02 17:53:26 +0000 pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs There is no need for the union pf_krule_ptr for kernel-only structs like pf_kstate and pf_ksrc_node. The rules are always accessed by pointer. The rule numbers are a leftover from using the same structure for pfctl(8) and pf(4). Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D46868 --- sys/net/pfvar.h | 15 ++-- sys/netpfil/pf/if_pfsync.c | 8 +- sys/netpfil/pf/pf.c | 180 ++++++++++++++++++++++----------------------- sys/netpfil/pf/pf_ioctl.c | 30 ++++---- sys/netpfil/pf/pf_lb.c | 16 ++-- sys/netpfil/pf/pf_nl.c | 6 +- sys/netpfil/pf/pf_norm.c | 58 +++++++-------- sys/netpfil/pf/pf_nv.c | 8 +- sys/netpfil/pf/pflow.c | 6 +- 9 files changed, 161 insertions(+), 166 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 53bc77d14537..b5d56ab45ce7 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -761,18 +761,13 @@ struct pf_keth_rule { uint32_t ridentifier; }; -union pf_krule_ptr { - struct pf_krule *ptr; - u_int32_t nr; -}; - RB_HEAD(pf_krule_global, pf_krule); RB_PROTOTYPE(pf_krule_global, pf_krule, entry_global, pf_krule_compare); struct pf_krule { struct pf_rule_addr src; struct pf_rule_addr dst; - union pf_krule_ptr skip[PF_SKIP_COUNT]; + struct pf_krule *skip[PF_SKIP_COUNT]; char label[PF_RULE_MAX_LABEL_COUNT][PF_RULE_LABEL_SIZE]; uint32_t ridentifier; char ifname[IFNAMSIZ]; @@ -889,7 +884,7 @@ struct pf_ksrc_node { struct pf_addr addr; struct pf_addr raddr; struct pf_krule_slist match_rules; - union pf_krule_ptr rule; + struct pf_krule *rule; struct pfi_kkif *rkif; counter_u64_t bytes[2]; counter_u64_t packets[2]; @@ -1089,9 +1084,9 @@ struct pf_kstate { struct pf_state_peer src; struct pf_state_peer dst; struct pf_krule_slist match_rules; - union pf_krule_ptr rule; - union pf_krule_ptr anchor; - union pf_krule_ptr nat_rule; + struct pf_krule *rule; + struct pf_krule *anchor; + struct pf_krule *nat_rule; struct pf_addr rt_addr; struct pf_state_key *key[2]; /* addresses stack and wire */ struct pf_udp_mapping *udp_mapping; diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 82a42c874a8f..0dd1b480b313 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -702,9 +702,9 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) pf_state_peer_ntoh(&sp->pfs_1301.src, &st->src); pf_state_peer_ntoh(&sp->pfs_1301.dst, &st->dst); - st->rule.ptr = r; - st->nat_rule.ptr = NULL; - st->anchor.ptr = NULL; + st->rule = r; + st->nat_rule = NULL; + st->anchor = NULL; st->pfsync_time = time_uptime; st->sync_state = PFSYNC_S_NONE; @@ -1974,7 +1974,7 @@ pfsync_insert_state(struct pf_kstate *st) if (st->state_flags & PFSTATE_NOSYNC) return; - if ((st->rule.ptr->rule_flag & PFRULE_NOSYNC) || + if ((st->rule->rule_flag & PFRULE_NOSYNC) || st->key[PF_SK_WIRE]->proto == IPPROTO_PFSYNC) { st->state_flags |= PFSTATE_NOSYNC; return; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b28503112db6..b5a18c37a89b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -436,14 +436,14 @@ BOUND_IFACE(struct pf_kstate *st, struct pfi_kkif *k) SDT_PROBE2(pf, ip, , bound_iface, st, k); /* Floating unless otherwise specified. */ - if (! (st->rule.ptr->rule_flag & PFRULE_IFBOUND)) + if (! (st->rule->rule_flag & PFRULE_IFBOUND)) return (V_pfi_all); /* * Initially set to all, because we don't know what interface we'll be * sending this out when we create the state. */ - if (st->rule.ptr->rt == PF_REPLYTO) + if (st->rule->rt == PF_REPLYTO) return (V_pfi_all); /* Don't overrule the interface for states created on incoming packets. */ @@ -461,15 +461,15 @@ BOUND_IFACE(struct pf_kstate *st, struct pfi_kkif *k) #define STATE_INC_COUNTERS(s) \ do { \ struct pf_krule_item *mrm; \ - counter_u64_add(s->rule.ptr->states_cur, 1); \ - counter_u64_add(s->rule.ptr->states_tot, 1); \ - if (s->anchor.ptr != NULL) { \ - counter_u64_add(s->anchor.ptr->states_cur, 1); \ - counter_u64_add(s->anchor.ptr->states_tot, 1); \ + counter_u64_add(s->rule->states_cur, 1); \ + counter_u64_add(s->rule->states_tot, 1); \ + if (s->anchor != NULL) { \ + counter_u64_add(s->anchor->states_cur, 1); \ + counter_u64_add(s->anchor->states_tot, 1); \ } \ - if (s->nat_rule.ptr != NULL) { \ - counter_u64_add(s->nat_rule.ptr->states_cur, 1);\ - counter_u64_add(s->nat_rule.ptr->states_tot, 1);\ + if (s->nat_rule != NULL) { \ + counter_u64_add(s->nat_rule->states_cur, 1);\ + counter_u64_add(s->nat_rule->states_tot, 1);\ } \ SLIST_FOREACH(mrm, &s->match_rules, entry) { \ counter_u64_add(mrm->r->states_cur, 1); \ @@ -480,11 +480,11 @@ BOUND_IFACE(struct pf_kstate *st, struct pfi_kkif *k) #define STATE_DEC_COUNTERS(s) \ do { \ struct pf_krule_item *mrm; \ - if (s->nat_rule.ptr != NULL) \ - counter_u64_add(s->nat_rule.ptr->states_cur, -1);\ - if (s->anchor.ptr != NULL) \ - counter_u64_add(s->anchor.ptr->states_cur, -1); \ - counter_u64_add(s->rule.ptr->states_cur, -1); \ + if (s->nat_rule != NULL) \ + counter_u64_add(s->nat_rule->states_cur, -1);\ + if (s->anchor != NULL) \ + counter_u64_add(s->anchor->states_cur, -1); \ + counter_u64_add(s->rule->states_cur, -1); \ SLIST_FOREACH(mrm, &s->match_rules, entry) \ counter_u64_add(mrm->r->states_cur, -1); \ } while (0) @@ -828,14 +828,14 @@ pf_src_connlimit(struct pf_kstate **state) (*state)->src.tcp_est = 1; pf_add_threshold(&(*state)->src_node->conn_rate); - if ((*state)->rule.ptr->max_src_conn && - (*state)->rule.ptr->max_src_conn < + if ((*state)->rule->max_src_conn && + (*state)->rule->max_src_conn < (*state)->src_node->conn) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONN], 1); bad++; } - if ((*state)->rule.ptr->max_src_conn_rate.limit && + if ((*state)->rule->max_src_conn_rate.limit && pf_check_threshold(&(*state)->src_node->conn_rate)) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONNRATE], 1); bad++; @@ -848,7 +848,7 @@ pf_src_connlimit(struct pf_kstate **state) (*state)->timeout = PFTM_PURGE; pf_set_protostate(*state, PF_PEER_BOTH, TCPS_CLOSED); - if ((*state)->rule.ptr->overload_tbl == NULL) + if ((*state)->rule->overload_tbl == NULL) return (1); /* Schedule overloading and flushing task. */ @@ -858,7 +858,7 @@ pf_src_connlimit(struct pf_kstate **state) bcopy(&(*state)->src_node->addr, &pfoe->addr, sizeof(pfoe->addr)); pfoe->af = (*state)->key[PF_SK_WIRE]->af; - pfoe->rule = (*state)->rule.ptr; + pfoe->rule = (*state)->rule; pfoe->dir = (*state)->direction; PF_OVERLOADQ_LOCK(); SLIST_INSERT_HEAD(&V_pf_overloadqueue, pfoe, next); @@ -941,7 +941,7 @@ pf_overload_task(void *v, int pending) SLIST_FOREACH(pfoe, &queue, next) if (sk->af == pfoe->af && ((pfoe->rule->flush & PF_FLUSH_GLOBAL) || - pfoe->rule == s->rule.ptr) && + pfoe->rule == s->rule) && ((pfoe->dir == PF_OUT && PF_AEQ(&pfoe->addr, &sk->addr[1], sk->af)) || (pfoe->dir == PF_IN && @@ -976,7 +976,7 @@ pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, *sh = &V_pf_srchash[pf_hashsrc(src, af)]; PF_HASHROW_LOCK(*sh); LIST_FOREACH(n, &(*sh)->nodes, entry) - if (n->rule.ptr == rule && n->af == af && + if (n->rule == rule && n->af == af && ((af == AF_INET && n->addr.v4.s_addr == src->v4.s_addr) || (af == AF_INET6 && bcmp(&n->addr, src, sizeof(*src)) == 0))) break; @@ -1053,14 +1053,14 @@ pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_krule *rule, (*sn)->lock = &sh->lock; (*sn)->af = af; - (*sn)->rule.ptr = rule; + (*sn)->rule = rule; PF_ACPY(&(*sn)->addr, src, af); LIST_INSERT_HEAD(&sh->nodes, *sn, entry); (*sn)->creation = time_uptime; (*sn)->ruletype = rule->action; (*sn)->states = 1; - if ((*sn)->rule.ptr != NULL) - counter_u64_add((*sn)->rule.ptr->src_nodes, 1); + if ((*sn)->rule != NULL) + counter_u64_add((*sn)->rule->src_nodes, 1); PF_HASHROW_UNLOCK(sh); counter_u64_add(V_pf_status.scounters[SCNT_SRC_NODE_INSERT], 1); } else { @@ -1082,8 +1082,8 @@ pf_unlink_src_node(struct pf_ksrc_node *src) PF_SRC_NODE_LOCK_ASSERT(src); LIST_REMOVE(src, entry); - if (src->rule.ptr) - counter_u64_add(src->rule.ptr->src_nodes, -1); + if (src->rule) + counter_u64_add(src->rule->src_nodes, -1); } u_int @@ -2481,13 +2481,13 @@ pf_state_expires(const struct pf_kstate *state) ("pf_state_expires: timeout == PFTM_UNLINKED")); KASSERT((state->timeout < PFTM_MAX), ("pf_state_expires: timeout > PFTM_MAX")); - timeout = state->rule.ptr->timeout[state->timeout]; + timeout = state->rule->timeout[state->timeout]; if (!timeout) timeout = V_pf_default_rule.timeout[state->timeout]; - start = state->rule.ptr->timeout[PFTM_ADAPTIVE_START]; - if (start && state->rule.ptr != &V_pf_default_rule) { - end = state->rule.ptr->timeout[PFTM_ADAPTIVE_END]; - states = counter_u64_fetch(state->rule.ptr->states_cur); + start = state->rule->timeout[PFTM_ADAPTIVE_START]; + if (start && state->rule != &V_pf_default_rule) { + end = state->rule->timeout[PFTM_ADAPTIVE_END]; + states = counter_u64_fetch(state->rule->states_cur); } else { start = V_pf_default_rule.timeout[PFTM_ADAPTIVE_START]; end = V_pf_default_rule.timeout[PFTM_ADAPTIVE_END]; @@ -2520,8 +2520,8 @@ pf_purge_expired_src_nodes(void) if (cur->states == 0 && cur->expire <= time_uptime) { pf_unlink_src_node(cur); LIST_INSERT_HEAD(&freelist, cur, entry); - } else if (cur->rule.ptr != NULL) - cur->rule.ptr->rule_ref |= PFRULE_REFS; + } else if (cur->rule != NULL) + cur->rule->rule_ref |= PFRULE_REFS; PF_HASHROW_UNLOCK(sh); } @@ -2536,8 +2536,8 @@ pf_src_tree_remove_state(struct pf_kstate *s) struct pf_ksrc_node *sn; uint32_t timeout; - timeout = s->rule.ptr->timeout[PFTM_SRC_NODE] ? - s->rule.ptr->timeout[PFTM_SRC_NODE] : + timeout = s->rule->timeout[PFTM_SRC_NODE] ? + s->rule->timeout[PFTM_SRC_NODE] : V_pf_default_rule.timeout[PFTM_SRC_NODE]; if (s->src_node != NULL) { @@ -2584,7 +2584,7 @@ pf_unlink_state(struct pf_kstate *s) if (s->src.state == PF_TCPS_PROXY_DST) { /* XXX wire key the right one? */ - pf_send_tcp(s->rule.ptr, s->key[PF_SK_WIRE]->af, + pf_send_tcp(s->rule, s->key[PF_SK_WIRE]->af, &s->key[PF_SK_WIRE]->addr[1], &s->key[PF_SK_WIRE]->addr[0], s->key[PF_SK_WIRE]->port[1], @@ -2674,11 +2674,11 @@ relock: pf_unlink_state(s); goto relock; } - s->rule.ptr->rule_ref |= PFRULE_REFS; - if (s->nat_rule.ptr != NULL) - s->nat_rule.ptr->rule_ref |= PFRULE_REFS; - if (s->anchor.ptr != NULL) - s->anchor.ptr->rule_ref |= PFRULE_REFS; + s->rule->rule_ref |= PFRULE_REFS; + if (s->nat_rule != NULL) + s->nat_rule->rule_ref |= PFRULE_REFS; + if (s->anchor != NULL) + s->anchor->rule_ref |= PFRULE_REFS; s->kif->pfik_flags |= PFI_IFLAG_REFS; SLIST_FOREACH(mrm, &s->match_rules, entry) mrm->r->rule_ref |= PFRULE_REFS; @@ -2901,8 +2901,8 @@ pf_print_state_parts(struct pf_kstate *s, printf("]"); } printf(" %u:%u", s->src.state, s->dst.state); - if (s->rule.ptr) - printf(" @%d", s->rule.ptr->nr); + if (s->rule) + printf(" @%d", s->rule->nr); } } @@ -2932,7 +2932,7 @@ pf_print_flags(u_int8_t f) #define PF_SET_SKIP_STEPS(i) \ do { \ while (head[i] != cur) { \ - head[i]->skip[i].ptr = cur; \ + head[i]->skip[i] = cur; \ head[i] = TAILQ_NEXT(head[i], entries); \ } \ } while (0) @@ -5136,19 +5136,19 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); PF_TEST_ATTRIB(pfi_kkif_match(r->kif, kif) == r->ifnot, - r->skip[PF_SKIP_IFP].ptr); + r->skip[PF_SKIP_IFP]); PF_TEST_ATTRIB(r->direction && r->direction != pd->dir, - r->skip[PF_SKIP_DIR].ptr); + r->skip[PF_SKIP_DIR]); PF_TEST_ATTRIB(r->af && r->af != af, - r->skip[PF_SKIP_AF].ptr); + r->skip[PF_SKIP_AF]); PF_TEST_ATTRIB(r->proto && r->proto != pd->proto, - r->skip[PF_SKIP_PROTO].ptr); + r->skip[PF_SKIP_PROTO]); PF_TEST_ATTRIB(PF_MISMATCHAW(&r->src.addr, saddr, af, r->src.neg, kif, M_GETFIB(m)), - r->skip[PF_SKIP_SRC_ADDR].ptr); + r->skip[PF_SKIP_SRC_ADDR]); PF_TEST_ATTRIB(PF_MISMATCHAW(&r->dst.addr, daddr, af, r->dst.neg, NULL, M_GETFIB(m)), - r->skip[PF_SKIP_DST_ADDR].ptr); + r->skip[PF_SKIP_DST_ADDR]); switch (pd->virtual_proto) { case PF_VPROTO_FRAGMENT: /* tcp/udp only. port_op always 0 in other cases */ @@ -5173,11 +5173,11 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, /* tcp/udp only. port_op always 0 in other cases */ PF_TEST_ATTRIB(r->src.port_op && !pf_match_port(r->src.port_op, r->src.port[0], r->src.port[1], sport), - r->skip[PF_SKIP_SRC_PORT].ptr); + r->skip[PF_SKIP_SRC_PORT]); /* tcp/udp only. port_op always 0 in other cases */ PF_TEST_ATTRIB(r->dst.port_op && !pf_match_port(r->dst.port_op, r->dst.port[0], r->dst.port[1], dport), - r->skip[PF_SKIP_DST_PORT].ptr); + r->skip[PF_SKIP_DST_PORT]); /* tcp/udp only. uid.op always 0 in other cases */ PF_TEST_ATTRIB(r->uid.op && (pd->lookup.done || (pd->lookup.done = pf_socket_lookup(pd, m), 1)) && @@ -5401,9 +5401,9 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, REASON_SET(&reason, PFRES_MEMORY); goto csfailed; } - s->rule.ptr = r; - s->nat_rule.ptr = nr; - s->anchor.ptr = a; + s->rule = r; + s->nat_rule = nr; + s->anchor = a; bcopy(match_rules, &s->match_rules, sizeof(s->match_rules)); memcpy(&s->act, &pd->act, sizeof(struct pf_rule_actions)); @@ -5936,11 +5936,11 @@ pf_tcp_track_full(struct pf_kstate **state, struct pfi_kkif *kif, (*state)->src.state == TCPS_SYN_SENT) { /* Send RST for state mismatches during handshake */ if (!(th->th_flags & TH_RST)) - pf_send_tcp((*state)->rule.ptr, pd->af, + pf_send_tcp((*state)->rule, pd->af, pd->dst, pd->src, th->th_dport, th->th_sport, ntohl(th->th_ack), 0, TH_RST, 0, 0, - (*state)->rule.ptr->return_ttl, true, 0, 0, + (*state)->rule->return_ttl, true, 0, 0, (*state)->act.rtableid); src->seqlo = 0; src->seqhi = 1; @@ -6074,7 +6074,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) REASON_SET(reason, PFRES_SYNPROXY); return (PF_DROP); } - pf_send_tcp((*state)->rule.ptr, pd->af, pd->dst, + pf_send_tcp((*state)->rule, pd->af, pd->dst, pd->src, th->th_dport, th->th_sport, (*state)->src.seqhi, ntohl(th->th_seq) + 1, TH_SYN|TH_ACK, 0, (*state)->src.mss, 0, true, 0, 0, @@ -6105,7 +6105,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) (*state)->src.max_win = MAX(ntohs(th->th_win), 1); if ((*state)->dst.seqhi == 1) (*state)->dst.seqhi = htonl(arc4random()); - pf_send_tcp((*state)->rule.ptr, pd->af, + pf_send_tcp((*state)->rule, pd->af, &sk->addr[pd->sidx], &sk->addr[pd->didx], sk->port[pd->sidx], sk->port[pd->didx], (*state)->dst.seqhi, 0, TH_SYN, 0, @@ -6121,12 +6121,12 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) } else { (*state)->dst.max_win = MAX(ntohs(th->th_win), 1); (*state)->dst.seqlo = ntohl(th->th_seq); - pf_send_tcp((*state)->rule.ptr, pd->af, pd->dst, + pf_send_tcp((*state)->rule, pd->af, pd->dst, pd->src, th->th_dport, th->th_sport, ntohl(th->th_ack), ntohl(th->th_seq) + 1, TH_ACK, (*state)->src.max_win, 0, 0, false, (*state)->tag, 0, (*state)->act.rtableid); - pf_send_tcp((*state)->rule.ptr, pd->af, + pf_send_tcp((*state)->rule, pd->af, &sk->addr[pd->sidx], &sk->addr[pd->didx], sk->port[pd->sidx], sk->port[pd->didx], (*state)->src.seqhi + 1, (*state)->src.seqlo + 1, @@ -6875,7 +6875,7 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, return (-1); /* Is this ICMP message flowing in right direction? */ - if ((*state)->rule.ptr->type && + if ((*state)->rule->type && (((!inner && (*state)->direction == direction) || (inner && (*state)->direction != direction)) ? PF_IN : PF_OUT) != icmp_dir) { @@ -7899,7 +7899,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, error = EMSGSIZE; KMOD_IPSTAT_INC(ips_cantfrag); if (r_rt != PF_DUPTO) { - if (s && s->nat_rule.ptr != NULL) + if (s && s->nat_rule != NULL) PACKET_UNDO_NAT(m0, pd, (ip->ip_hl << 2) + (ip_off & IP_OFFMASK), s); @@ -8112,7 +8112,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, else { in6_ifstat_inc(ifp, ifs6_in_toobig); if (r_rt != PF_DUPTO) { - if (s && s->nat_rule.ptr != NULL) + if (s && s->nat_rule != NULL) PACKET_UNDO_NAT(m0, pd, ((caddr_t)ip6 - m0->m_data) + sizeof(struct ip6_hdr), s); @@ -8431,8 +8431,8 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s, sizeof(struct sockaddr_in6)); } - if (s != NULL && s->nat_rule.ptr != NULL && - s->nat_rule.ptr->action == PF_RDR && + if (s != NULL && s->nat_rule != NULL && + s->nat_rule->action == PF_RDR && ( #ifdef INET (pd->af == AF_INET && IN_LOOPBACK(ntohl(pd->dst->v4.s_addr))) || @@ -8795,10 +8795,10 @@ pf_counters_inc(int action, struct pf_pdesc *pd, if (s != NULL) { struct pf_krule_item *ri; - if (s->nat_rule.ptr != NULL) { - pf_counter_u64_add_protected(&s->nat_rule.ptr->packets[dirndx], + if (s->nat_rule != NULL) { + pf_counter_u64_add_protected(&s->nat_rule->packets[dirndx], 1); - pf_counter_u64_add_protected(&s->nat_rule.ptr->bytes[dirndx], + pf_counter_u64_add_protected(&s->nat_rule->bytes[dirndx], pd->tot_len); } if (s->src_node != NULL) { @@ -8824,9 +8824,9 @@ pf_counters_inc(int action, struct pf_pdesc *pd, } tr = r; - if (s != NULL && s->nat_rule.ptr != NULL && + if (s != NULL && s->nat_rule != NULL && r == &V_pf_default_rule) - tr = s->nat_rule.ptr; + tr = s->nat_rule; if (tr->src.addr.type == PF_ADDR_TABLE) pfr_update_stats(tr->src.addr.p.tbl, @@ -9024,8 +9024,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) { /* Validate remote SYN|ACK, re-create original SYN if * valid. */ @@ -9072,8 +9072,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) action = pf_test_rule(&r, &s, kif, m, off, &pd, &a, &ruleset, inp, hdrlen); @@ -9089,8 +9089,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) { action = pf_test_rule(&r, &s, kif, m, off, &pd, &a, &ruleset, inp, hdrlen); @@ -9109,8 +9109,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) action = pf_test_rule(&r, &s, kif, m, off, &pd, &a, &ruleset, inp, hdrlen); @@ -9128,8 +9128,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) action = pf_test_rule(&r, &s, kif, m, off, &pd, &a, &ruleset, inp, hdrlen); @@ -9141,8 +9141,8 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action == PF_PASS) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); - r = s->rule.ptr; - a = s->anchor.ptr; + r = s->rule; + a = s->anchor; } else if (s == NULL) action = pf_test_rule(&r, &s, kif, m, off, &pd, &a, &ruleset, inp, hdrlen); @@ -9224,9 +9224,9 @@ done: * see tcp_input() and in_pcblookup_listen(). */ if (dir == PF_IN && action == PF_PASS && (pd.proto == IPPROTO_TCP || - pd.proto == IPPROTO_UDP) && s != NULL && s->nat_rule.ptr != NULL && - (s->nat_rule.ptr->action == PF_RDR || - s->nat_rule.ptr->action == PF_BINAT) && + pd.proto == IPPROTO_UDP) && s != NULL && s->nat_rule != NULL && + (s->nat_rule->action == PF_RDR || + s->nat_rule->action == PF_BINAT) && pf_is_loopback(af, pd.dst)) m->m_flags |= M_SKIP_FIREWALL; @@ -9284,9 +9284,9 @@ done: struct pf_krule *lr; struct pf_krule_item *ri; - if (s != NULL && s->nat_rule.ptr != NULL && - s->nat_rule.ptr->log & PF_LOG_ALL) - lr = s->nat_rule.ptr; + if (s != NULL && s->nat_rule != NULL && + s->nat_rule->log & PF_LOG_ALL) + lr = s->nat_rule; else lr = r; diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 6e2fcd358b68..8081960933a2 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1551,8 +1551,8 @@ pf_src_node_copy(const struct pf_ksrc_node *in, struct pf_src_node *out) bcopy(&in->addr, &out->addr, sizeof(struct pf_addr)); bcopy(&in->raddr, &out->raddr, sizeof(struct pf_addr)); - if (in->rule.ptr != NULL) - out->rule.nr = in->rule.ptr->nr; + if (in->rule != NULL) + out->rule.nr = in->rule->nr; for (int i = 0; i < 2; i++) { out->bytes[i] = counter_u64_fetch(in->bytes[i]); @@ -2355,7 +2355,7 @@ relock_DIOCKILLSTATES: continue; if (psk->psk_label[0] && - ! pf_label_match(s->rule.ptr, psk->psk_label)) + ! pf_label_match(s->rule, psk->psk_label)) continue; if (psk->psk_ifname[0] && strcmp(psk->psk_ifname, @@ -5613,18 +5613,18 @@ pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_ pf_state_peer_hton(&st->src, &sp->pfs_1301.src); pf_state_peer_hton(&st->dst, &sp->pfs_1301.dst); - if (st->rule.ptr == NULL) + if (st->rule == NULL) sp->pfs_1301.rule = htonl(-1); else - sp->pfs_1301.rule = htonl(st->rule.ptr->nr); - if (st->anchor.ptr == NULL) + sp->pfs_1301.rule = htonl(st->rule->nr); + if (st->anchor == NULL) sp->pfs_1301.anchor = htonl(-1); else - sp->pfs_1301.anchor = htonl(st->anchor.ptr->nr); - if (st->nat_rule.ptr == NULL) + sp->pfs_1301.anchor = htonl(st->anchor->nr); + if (st->nat_rule == NULL) sp->pfs_1301.nat_rule = htonl(-1); else - sp->pfs_1301.nat_rule = htonl(st->nat_rule.ptr->nr); + sp->pfs_1301.nat_rule = htonl(st->nat_rule->nr); pf_state_counter_hton(st->packets[0], sp->pfs_1301.packets[0]); pf_state_counter_hton(st->packets[1], sp->pfs_1301.packets[1]); @@ -5679,18 +5679,18 @@ pf_state_export(struct pf_state_export *sp, struct pf_kstate *st) pf_state_peer_hton(&st->src, &sp->src); pf_state_peer_hton(&st->dst, &sp->dst); - if (st->rule.ptr == NULL) + if (st->rule == NULL) sp->rule = htonl(-1); else - sp->rule = htonl(st->rule.ptr->nr); - if (st->anchor.ptr == NULL) + sp->rule = htonl(st->rule->nr); + if (st->anchor == NULL) sp->anchor = htonl(-1); else - sp->anchor = htonl(st->anchor.ptr->nr); - if (st->nat_rule.ptr == NULL) + sp->anchor = htonl(st->anchor->nr); + if (st->nat_rule == NULL) sp->nat_rule = htonl(-1); else - sp->nat_rule = htonl(st->nat_rule.ptr->nr); + sp->nat_rule = htonl(st->nat_rule->nr); sp->packets[0] = st->packets[0]; sp->packets[1] = st->packets[1]; diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 007e8606ee8a..16fbcd49b3c8 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -158,32 +158,32 @@ pf_match_translation(struct pf_pdesc *pd, struct mbuf *m, int off, pf_counter_u64_add(&r->evaluations, 1); if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; + r = r->skip[PF_SKIP_IFP]; else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; + r = r->skip[PF_SKIP_DIR]; else if (r->af && r->af != pd->af) - r = r->skip[PF_SKIP_AF].ptr; + r = r->skip[PF_SKIP_AF]; else if (r->proto && r->proto != pd->proto) - r = r->skip[PF_SKIP_PROTO].ptr; + r = r->skip[PF_SKIP_PROTO]; else if (PF_MISMATCHAW(&src->addr, saddr, pd->af, src->neg, kif, M_GETFIB(m))) r = r->skip[src == &r->src ? PF_SKIP_SRC_ADDR : - PF_SKIP_DST_ADDR].ptr; + PF_SKIP_DST_ADDR]; else if (src->port_op && !pf_match_port(src->port_op, src->port[0], src->port[1], sport)) r = r->skip[src == &r->src ? PF_SKIP_SRC_PORT : - PF_SKIP_DST_PORT].ptr; + PF_SKIP_DST_PORT]; else if (dst != NULL && PF_MISMATCHAW(&dst->addr, daddr, pd->af, dst->neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; + r = r->skip[PF_SKIP_DST_ADDR]; else if (xdst != NULL && PF_MISMATCHAW(xdst, daddr, pd->af, 0, NULL, M_GETFIB(m))) r = TAILQ_NEXT(r, entries); else if (dst != NULL && dst->port_op && !pf_match_port(dst->port_op, dst->port[0], dst->port[1], dport)) - r = r->skip[PF_SKIP_DST_PORT].ptr; + r = r->skip[PF_SKIP_DST_PORT]; else if (r->match_tag && !pf_match_tag(m, r, &tag, pd->pf_mtag ? pd->pf_mtag->tag : 0)) r = TAILQ_NEXT(r, entries); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index ca90e0b5b140..15fe341ce57e 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -192,9 +192,9 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u64(nw, PF_ST_ID, s->id); nlattr_add_u32(nw, PF_ST_CREATORID, htonl(s->creatorid)); - nlattr_add_u32(nw, PF_ST_RULE, s->rule.ptr ? s->rule.ptr->nr : -1); - nlattr_add_u32(nw, PF_ST_ANCHOR, s->anchor.ptr ? s->anchor.ptr->nr : -1); - nlattr_add_u32(nw, PF_ST_NAT_RULE, s->nat_rule.ptr ? s->nat_rule.ptr->nr : -1); + nlattr_add_u32(nw, PF_ST_RULE, s->rule ? s->rule->nr : -1); + nlattr_add_u32(nw, PF_ST_ANCHOR, s->anchor ? s->anchor->nr : -1); + nlattr_add_u32(nw, PF_ST_NAT_RULE, s->nat_rule ? s->nat_rule->nr : -1); nlattr_add_u64(nw, PF_ST_PACKETS0, s->packets[0]); nlattr_add_u64(nw, PF_ST_PACKETS1, s->packets[1]); diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index d1a1e84db9dc..18a9cff2a5c2 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1079,21 +1079,21 @@ pf_normalize_ip(struct mbuf **m0, struct pfi_kkif *kif, u_short *reason, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; + r = r->skip[PF_SKIP_IFP]; else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; + r = r->skip[PF_SKIP_DIR]; else if (r->af && r->af != AF_INET) - r = r->skip[PF_SKIP_AF].ptr; + r = r->skip[PF_SKIP_AF]; else if (r->proto && r->proto != h->ip_p) - r = r->skip[PF_SKIP_PROTO].ptr; + r = r->skip[PF_SKIP_PROTO]; else if (PF_MISMATCHAW(&r->src.addr, (struct pf_addr *)&h->ip_src.s_addr, AF_INET, r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; + r = r->skip[PF_SKIP_SRC_ADDR]; else if (PF_MISMATCHAW(&r->dst.addr, (struct pf_addr *)&h->ip_dst.s_addr, AF_INET, r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; + r = r->skip[PF_SKIP_DST_ADDR]; else if (r->match_tag && !pf_match_tag(m, r, &tag, pd->pf_mtag ? pd->pf_mtag->tag : 0)) r = TAILQ_NEXT(r, entries); @@ -1242,23 +1242,23 @@ pf_normalize_ip6(struct mbuf **m0, struct pfi_kkif *kif, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; + r = r->skip[PF_SKIP_IFP]; else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; + r = r->skip[PF_SKIP_DIR]; else if (r->af && r->af != AF_INET6) - r = r->skip[PF_SKIP_AF].ptr; + r = r->skip[PF_SKIP_AF]; #if 0 /* header chain! */ else if (r->proto && r->proto != h->ip6_nxt) - r = r->skip[PF_SKIP_PROTO].ptr; + r = r->skip[PF_SKIP_PROTO]; #endif else if (PF_MISMATCHAW(&r->src.addr, (struct pf_addr *)&h->ip6_src, AF_INET6, r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; + r = r->skip[PF_SKIP_SRC_ADDR]; else if (PF_MISMATCHAW(&r->dst.addr, (struct pf_addr *)&h->ip6_dst, AF_INET6, r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; + r = r->skip[PF_SKIP_DST_ADDR]; else break; } @@ -1406,25 +1406,25 @@ pf_normalize_tcp(struct pfi_kkif *kif, struct mbuf *m, int ipoff, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; + r = r->skip[PF_SKIP_IFP]; else if (r->direction && r->direction != pd->dir) - r = r->skip[PF_SKIP_DIR].ptr; + r = r->skip[PF_SKIP_DIR]; else if (r->af && r->af != af) - r = r->skip[PF_SKIP_AF].ptr; + r = r->skip[PF_SKIP_AF]; else if (r->proto && r->proto != pd->proto) - r = r->skip[PF_SKIP_PROTO].ptr; + r = r->skip[PF_SKIP_PROTO]; else if (PF_MISMATCHAW(&r->src.addr, pd->src, af, r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; + r = r->skip[PF_SKIP_SRC_ADDR]; else if (r->src.port_op && !pf_match_port(r->src.port_op, r->src.port[0], r->src.port[1], th->th_sport)) - r = r->skip[PF_SKIP_SRC_PORT].ptr; + r = r->skip[PF_SKIP_SRC_PORT]; else if (PF_MISMATCHAW(&r->dst.addr, pd->dst, af, r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; + r = r->skip[PF_SKIP_DST_ADDR]; else if (r->dst.port_op && !pf_match_port(r->dst.port_op, r->dst.port[0], r->dst.port[1], th->th_dport)) - r = r->skip[PF_SKIP_DST_PORT].ptr; + r = r->skip[PF_SKIP_DST_PORT]; else if (r->os_fingerprint != PF_OSFP_ANY && !pf_osfp_match( pf_osfp_fingerprint(pd, m, off, th), r->os_fingerprint)) @@ -1855,7 +1855,7 @@ pf_normalize_tcp_stateful(struct mbuf *m, int off, struct pf_pdesc *pd, * packet got delayed in transit for much longer than * this packet. */ - if ((ts_fudge = state->rule.ptr->timeout[PFTM_TS_DIFF]) == 0) + if ((ts_fudge = state->rule->timeout[PFTM_TS_DIFF]) == 0) ts_fudge = V_pf_default_rule.timeout[PFTM_TS_DIFF]; /* Calculate max ticks since the last timestamp */ @@ -2212,25 +2212,25 @@ pf_normalize_sctp(int dir, struct pfi_kkif *kif, struct mbuf *m, int ipoff, while (r != NULL) { pf_counter_u64_add(&r->evaluations, 1); if (pfi_kkif_match(r->kif, kif) == r->ifnot) - r = r->skip[PF_SKIP_IFP].ptr; + r = r->skip[PF_SKIP_IFP]; else if (r->direction && r->direction != dir) - r = r->skip[PF_SKIP_DIR].ptr; + r = r->skip[PF_SKIP_DIR]; else if (r->af && r->af != af) - r = r->skip[PF_SKIP_AF].ptr; + r = r->skip[PF_SKIP_AF]; else if (r->proto && r->proto != pd->proto) - r = r->skip[PF_SKIP_PROTO].ptr; + r = r->skip[PF_SKIP_PROTO]; else if (PF_MISMATCHAW(&r->src.addr, pd->src, af, r->src.neg, kif, M_GETFIB(m))) - r = r->skip[PF_SKIP_SRC_ADDR].ptr; + r = r->skip[PF_SKIP_SRC_ADDR]; else if (r->src.port_op && !pf_match_port(r->src.port_op, r->src.port[0], r->src.port[1], sh->src_port)) - r = r->skip[PF_SKIP_SRC_PORT].ptr; + r = r->skip[PF_SKIP_SRC_PORT]; else if (PF_MISMATCHAW(&r->dst.addr, pd->dst, af, r->dst.neg, NULL, M_GETFIB(m))) - r = r->skip[PF_SKIP_DST_ADDR].ptr; + r = r->skip[PF_SKIP_DST_ADDR]; else if (r->dst.port_op && !pf_match_port(r->dst.port_op, r->dst.port[0], r->dst.port[1], sh->dest_port)) - r = r->skip[PF_SKIP_DST_PORT].ptr; + r = r->skip[PF_SKIP_DST_PORT]; else { rm = r; break; diff --git a/sys/netpfil/pf/pf_nv.c b/sys/netpfil/pf/pf_nv.c index 016fe52f54d8..87c2211a84e0 100644 --- a/sys/netpfil/pf/pf_nv.c +++ b/sys/netpfil/pf/pf_nv.c @@ -703,7 +703,7 @@ pf_krule_to_nvrule(struct pf_krule *rule) for (int i = 0; i < PF_SKIP_COUNT; i++) { nvlist_append_number_array(nvl, "skip", - rule->skip[i].ptr ? rule->skip[i].ptr->nr : -1); + rule->skip[i] ? rule->skip[i]->nr : -1); } for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) { @@ -969,11 +969,11 @@ pf_state_to_nvstate(const struct pf_kstate *s) nvlist_add_nvlist(nvl, "rt_addr", tmp); nvlist_destroy(tmp); - nvlist_add_number(nvl, "rule", s->rule.ptr ? s->rule.ptr->nr : -1); + nvlist_add_number(nvl, "rule", s->rule ? s->rule->nr : -1); nvlist_add_number(nvl, "anchor", - s->anchor.ptr ? s->anchor.ptr->nr : -1); + s->anchor ? s->anchor->nr : -1); nvlist_add_number(nvl, "nat_rule", - s->nat_rule.ptr ? s->nat_rule.ptr->nr : -1); + s->nat_rule ? s->nat_rule->nr : -1); nvlist_add_number(nvl, "creation", s->creation / 1000); expire = pf_state_expires(s); diff --git a/sys/netpfil/pf/pflow.c b/sys/netpfil/pf/pflow.c index a437f0259af5..8157ddc1c751 100644 --- a/sys/netpfil/pf/pflow.c +++ b/sys/netpfil/pf/pflow.c @@ -641,7 +641,7 @@ copy_flow_data(struct pflow_flow *flow1, struct pflow_flow *flow2, htonl(st->expire); flow1->tcp_flags = flow2->tcp_flags = 0; flow1->protocol = flow2->protocol = sk->proto; - flow1->tos = flow2->tos = st->rule.ptr->tos; + flow1->tos = flow2->tos = st->rule->tos; } static void @@ -678,7 +678,7 @@ copy_flow_ipfix_4_data(struct pflow_ipfix_flow4 *flow1, (pf_get_uptime() - st->expire))); flow1->protocol = flow2->protocol = sk->proto; - flow1->tos = flow2->tos = st->rule.ptr->tos; + flow1->tos = flow2->tos = st->rule->tos; } static void @@ -717,7 +717,7 @@ copy_flow_ipfix_6_data(struct pflow_ipfix_flow6 *flow1, (pf_get_uptime() - st->expire))); flow1->protocol = flow2->protocol = sk->proto; - flow1->tos = flow2->tos = st->rule.ptr->tos; + flow1->tos = flow2->tos = st->rule->tos; } static void From nobody Wed Oct 2 17:56:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJjDf2xMfz5Xryx; Wed, 02 Oct 2024 17:56: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJjDf2RfYz4LH3; Wed, 2 Oct 2024 17:56:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DtOxleQuJ6rLHAmBiRgOSoDoT7BfEvd73O/WdNfawC8=; b=fSFUtUtlMTEhDTkHQhag4p5vw66GM5ozM2YhYR1UNpqqNmzRvombbazs2UQYrKJOGuNbbR t4Dx+y7rkVr9pE1yhAjTpcHpZ14hHTaOgrZIWl6OxBEkzurHGI4PAmW2I/dJ2B6ty0cXTi D2hAyIqBbPx4mxcwue6pCRAMoJqPb6oqNFNmbgnFMPej9SnFmylBzA9ZLA6r04cSHMjtr2 +r4gueZIQCpaAUTB69IMlXlgrotPSSPtrCm5Pn1CIKUgFcRdqtP+IXgSM9U/qP7olI+dAN oo6xRrf6IePwNmzmJngQ/BT+trDbUEParDqgCdMoYM4GDVHsg6nNYX18SDSv+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727891810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DtOxleQuJ6rLHAmBiRgOSoDoT7BfEvd73O/WdNfawC8=; b=SOwyz3OdPGQx2T4EbZxFivOv3MXgFg/UFnil0Yx/pLttfr9t4qEVuPDwcUCXqknSABU6/T HRwcBvCPNcsUNRN1JEJjYVptEuLaKakS74+eAXpYvwvJ47Namim3jCRGZ8AL7ODdWUwwm2 626RQTpd5pYtbhVMuFe4LWnOQEwDmLqMFB/9kb4JNyY+qCV0D0K/5BqV2C9W4rB7nkLO24 Kgz2AOJl49Qmo0HGymojcCq+05rG75Zmah+ofmJXzXmkt3LBGh2WlCLtPZGfk6w9fEdGIO Knm8efgnqNbdx4VfeIbY2dRKW/SrZeSqNEoJEwf89NUyssDuY78p1YLBFzV9vA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727891810; a=rsa-sha256; cv=none; b=J6+YAh0MpGysb6y1Fv3KSiMaTsTgi/IDKLFaaV8zGf9JwIAEoJ9p1YmikUnH0HUZA/dirp xwDYr+NtO2VJgF6cFTKU2J2gD0fL9mLfFi2j2hkVSzKWaNRFPGq5WoCQMLhasOTdS/g6HN futoi2kRkIVb6OoOPUmXu67P/clJhhYMEbUGY00yGG/y6K9fHPnnmbGq6d/ADuL7F8KFHW A2o2NgNnj5Me0dWB2gbJSmZGjSv8v0tuLYPqrhlERSAAx1ry9aorJMFC6qbjOZ9VH/IOeg RL7ZEsSOlH79ZBoQEpwlYuVyviF+mSqau1kNGpskAnpqyO6RNVTgSTovoTZRCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJjDf1sTszGF2; Wed, 2 Oct 2024 17:56:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Huo0k055426; Wed, 2 Oct 2024 17:56:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492HuoHI055423; Wed, 2 Oct 2024 17:56:50 GMT (envelope-from git) Date: Wed, 2 Oct 2024 17:56:50 GMT Message-Id: <202410021756.492HuoHI055423@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: 1c82bbd8650a - main - pf: Fix NOINET and NOINET6 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1c82bbd8650ab2c7247342dac7460d18fea90ed0 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1c82bbd8650ab2c7247342dac7460d18fea90ed0 commit 1c82bbd8650ab2c7247342dac7460d18fea90ed0 Author: Dag-Erling Smørgrav AuthorDate: 2024-10-02 17:50:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-10-02 17:54:10 +0000 pf: Fix NOINET and NOINET6 build. The issue was only apparent when ALTQ was not enabled, which is why it was not revealed by `make universe`. Fixes: 27f54be50bb Reviewed by: kp, imp Differential Revision: https://reviews.freebsd.org/D46877 --- sys/netpfil/pf/pf.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b5a18c37a89b..bbed285ab9f8 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8854,8 +8854,12 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 struct pfi_kkif *kif; u_short action, reason = 0; struct mbuf *m = *m0; +#ifdef INET struct ip *h = NULL; +#endif +#ifdef INET6 struct ip6_hdr *h6 = NULL; +#endif struct m_tag *mtag; struct pf_krule *a = NULL, *r = &V_pf_default_rule; struct pf_kstate *s = NULL; @@ -9210,10 +9214,14 @@ done: else pd.pf_mtag->qid = pd.act.qid; /* Add hints for ecn. */ +#ifdef INET if (af == AF_INET) pd.pf_mtag->hdr = h; - else +#endif +#ifdef INET6 + if (af == AF_INET6) pd.pf_mtag->hdr = h6; +#endif } } #endif /* ALTQ */ From nobody Wed Oct 2 18:02:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJjLx1TDSz5XsJc; Wed, 02 Oct 2024 18:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJjLx12yNz4Lw4; Wed, 2 Oct 2024 18:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727892137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nAahJSBwUUoJrNznbg/JKWyN1T0zA94fkgsjrfPLOEE=; b=mTPMoV5QkoiFJTLRM+Id1fjrhqZ82pGYPtVBz1uu1ZDDRCvPm3QhUU2GBPyc/D5cd9LY9C QhhAde067d1oKQLuCCnVU/8lxk4UkVpPHadcGVIQhH/oVvFvfZUOtr7tU8MicvbE1YK1Qo j4VNghE6BpQFsFbMIaSKWYG2/r7EHuRVXafOY84um9mxinetZ3D9TsDfCpAzOUaUnwexfR o2r3SlwyqNzIq7nkeiW4W0sSgs1S+sqI+Wi+M4+w1rujd0Q6YseO5guLVQy6zd05xFCxOJ mgcUI0ldaym6UEWAg8jg7sU7hlFih0dezExfbWWzEzf/LGa0ORvhd4yX/wjS7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727892137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nAahJSBwUUoJrNznbg/JKWyN1T0zA94fkgsjrfPLOEE=; b=YvoA9Cm9YRLM7LI9j4P4Rp+aerNHWZndJTWYJ/0Fld7H3N5TBog8aYPzP/SmziCj/q57lr whJRr3DNPsRkZwsH5YmdOUOr3NiXVkDZ8r0kghTL6jNXhFISP7EyNG+oW5mvc3VYmGgGOa lfDX1sObV/6K4AELkiD7hOv0cs69l38i9F9joWpOrDzt034bynkJ1FhMEsEzi6jU4w+Hr4 rN+eX4xhE4wfINcaSZ/GzY5I9zjteGzjb3aNKZqQFJqPiKZOH3MixS614wiEnBYJYU4gB1 50lZ9b+xR/RPUkwpjonfWwexMfLzLDax19PXLc17dh78JD3aqGEbs5AY3Hbarg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727892137; a=rsa-sha256; cv=none; b=KWwETM1z8FwiJiHRxzmYbWHNVRbKhWoSq4SyU7bshznXVSFKWWmG4lRcHyWoRWLCghqYn+ XHl4fGURjpbTSEQJWNzGahfSYs3MMjOa3IGVVOTOX8qX+a/lwKx56yVmHQyyn5eRhMKpZd 7gLrC1XUUdDxhIBqKN70OY1e+yyDz0KOw9Zl/pyM0+Xd9YaYaP+3QKSJcp5n1AigFBC6AO ZKIwRn83y+RH/W2fHI40gvO8BVeOn6UYQi2Ndhrrz5Cka232v8JhivKSAErX/lsEsy37H8 TI6z+bewgtZiRIB1PAchUxBnC1Tgwm7AgsJ6EoYxEiaGK4I2lF1WKw76DV4/PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJjLx0XMfzGtw; Wed, 2 Oct 2024 18:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492I2GNe070115; Wed, 2 Oct 2024 18:02:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492I2GoI070112; Wed, 2 Oct 2024 18:02:16 GMT (envelope-from git) Date: Wed, 2 Oct 2024 18:02:16 GMT Message-Id: <202410021802.492I2GoI070112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: eb84c129d6d6 - main - stdio.h: don't expose rsize_t unless __EXT1_VISIBLE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb84c129d6d6b82238575946ba3552c9310f24f9 Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=eb84c129d6d6b82238575946ba3552c9310f24f9 commit eb84c129d6d6b82238575946ba3552c9310f24f9 Author: Graham Percival AuthorDate: 2024-09-30 00:06:29 +0000 Commit: Cy Schubert CommitDate: 2024-10-02 18:01:39 +0000 stdio.h: don't expose rsize_t unless __EXT1_VISIBLE This is how the other typedefs for rsize_t handle it (in , , and ). In particular, we shouldn't have any rsize_t if a C environment earlier C11 was requested. This reapplies b35f0aa4952c, chasing c25e55bcf80b, fixing ports build failures following b35f0aa4952c without c25e55bcf80b. PR: 281768 Sponsored by: Tarsnap Backup Inc. Signed-off-by: Graham Percival --- include/stdio.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/stdio.h b/include/stdio.h index b0190d25eb4f..ee3ab3bfb986 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -48,10 +48,13 @@ typedef __size_t size_t; #define _SIZE_T_DECLARED #endif +#if __EXT1_VISIBLE +/* ISO/IEC 9899:2011 K.3.3.2 */ #ifndef _RSIZE_T_DEFINED #define _RSIZE_T_DEFINED typedef size_t rsize_t; #endif +#endif /* __EXT1_VISIBLE */ #if __POSIX_VISIBLE >= 200809 #ifndef _OFF_T_DECLARED From nobody Wed Oct 2 18:12:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJjbD1fmlz5XsqJ; Wed, 02 Oct 2024 18:12:56 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJjbC5mX4z4MVN; Wed, 2 Oct 2024 18:12:55 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-82aa3f65864so5238939f.2; Wed, 02 Oct 2024 11:12:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727892774; x=1728497574; 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=L+/6xpKb/AxU7vQvZ4GN2e9sWdWmkO6Tf8XNvSWk6vA=; b=r9jmM+z4RJu88kbYsRoot6akCZJofPNV7jHj0soI9ymLBcLQFUaTi3zRS+pKKna3s9 1S032zVJP4SdFsjkTb70hmmApFMtKsek6lOMVOkQfLUtJrwWanLNitx5o+Y849+Q6OxD SdHoklOYs37yGIs4TVVT4k/MTtwKnZOhuDkD99znB/vcveqvnVjHcAmkhL/QNFtwCzKz ZKw8Z/RzLv0lx/E1qlbCgHzgLOegSG/SFsfLqLyudOpvusYshWi011Z2XOup0uveYpzu 8YZ3kepvUO+qU5Eyzb12ZFtVtT1+O5qVBD4+vui5bd+R48E9xMczgzjKewqSmnH13b/I 1n/A== X-Forwarded-Encrypted: i=1; AJvYcCUTVowraxsdZO4shdiZYklxnPo9oK1w0wd/+F8uhBb5FqYX1fVhhyVZLAheTyov1rpKUPjBDerB2xcIvHYDEp0ZAutH@freebsd.org, AJvYcCVbrO0apzp5WlUzArB7sMvGtWfgZ2uruoZyooGebEohO4n5PUmGlWCllyGblLpuywH0p3pmfWdKZ+RksRlCMghAMFqzcTE=@freebsd.org, AJvYcCVkdMgIDlI+8V/oUpnwtacwLaNdipW7D6Z+RtX+KVBAWH2HyfHz18Tybkd+MV7wyVs0KKOnXFaef4jPvWrJMcw=@freebsd.org X-Gm-Message-State: AOJu0Yw9oOcyDYfjfM1DoxqHr8evRIg5OUQBUkNmANG9rCTLGp1/XFTS wX9kk3Pf4oe0eix8yc396pFUbjDs1KJeM+83pKLmQ2WpN63xGr2tUjMwTubV7IAPK2CKZleVrg8 JlLzJk17KLlZPJxfNAk9Ciynm2nJu7/ri X-Google-Smtp-Source: AGHT+IFggk7fMBkhf7XsH6uQ2ftBwyjHUJKO/e2pkOBXQDY9du1UssSrK4WKTBI9MmDhfeS6ucD7gFUora8uPXD7EmM= X-Received: by 2002:a05:6602:6b09:b0:82a:2143:8 with SMTP id ca18e2360f4ac-834d848471bmr485622439f.10.1727892774286; Wed, 02 Oct 2024 11:12:54 -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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202410021645.492Gj4Sb035939@gitrepo.freebsd.org> <20241002165318.AA05628D@slippy.cwsent.com> In-Reply-To: <20241002165318.AA05628D@slippy.cwsent.com> From: Ed Maste Date: Wed, 2 Oct 2024 14:12:43 -0400 Message-ID: Subject: Re: git: 51fda658baa3 - main - vmm: Properly handle writes spanning across two pages in vm_handle_db To: Cy Schubert Cc: =?UTF-8?Q?Bojan_Novkovi=C4=87?= , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" 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:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4XJjbC5mX4z4MVN X-Spamd-Bar: ---- On Wed, 2 Oct 2024 at 12:53, Cy Schubert wrote: > > > vmm: Properly handle writes spanning across two pages in vm_handle_db > > > > ... > > Security: HYP-09 > > Where can we find this vulnerability documented? With support from the Alpha-Omega project the FreeBSD Foundation commissioned Synacktiv to perform a code audit of two FreeBSD subsystems: bhyve (kernel vmm and userspace device models), and kernel code reachable from within a Capsicum sandbox. These HYP-* and CAP-* tags reference vulnerabilities in the Synacktiv report. Recent SAs (SA-24:09.libnv, SA-24:10.bhyve, SA-24:11.ctl, SA-24:12.bhyve, SA-24:14.umtx, SA-24:15.bhyve) are fixes for issues identified as "critical" or "high" severity. Remaining issues are "medium" or lower severity. The report will be made public after the appropriate issues have been addressed. From nobody Wed Oct 2 18:31:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJk0933hXz5Xtm7; Wed, 02 Oct 2024 18:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJk092Sspz4NsP; Wed, 2 Oct 2024 18:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727893865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jJ/Ibmsjvc6JEPPMuYh29kgAgeza2G5uiUOC2C+I/7M=; b=tldXOc21OIgN1ST7AriWVmnGvWOQZpw5rYXXoOSg2r2mhfmYnHIwMLnoYelQEbJr7+vav3 isf3Wu15Pf04AW5lCmB5846IF0ZG9GnwDQK9AsR1S/DNHt8g+k6LQYZ8yOzzbaN5dHJGqM oJF3mDlTUdwRo2WkMSHhHMC6TkmIw3yineoeyBcMuy6PE5H9hzRnSefC4CGWkFb0/10Tsv /IfPoKCd+fWEMTFeQV5N1cW9gYCUMBsLlDMm8KAgCZk0kK06mhO1V8Yd9JfppJyP5qtss9 kvHIA9bIXvExYkvX+Sq71Bs+/N0Pvtwd0bfWeLvUwYJdq0KcnNWWVt2uf8A8Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727893865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jJ/Ibmsjvc6JEPPMuYh29kgAgeza2G5uiUOC2C+I/7M=; b=qq7me8d76WyM52lsyzABSlpCBZUjnqXIj1GbEK6HvhM06kM6Wofd2wjFYJinTZYxacQyUp 4w2qXab2QCH1l7Pv4GzabGsonWvfCfgKR8tdDN5yNAzscxbDbFfHA0u8D/ed+iTSvzKPx1 jMDpE9upKpwtk3K3KC/0UF7TbEC29a0npaVRo0L4CqIQQTXb9v/3Z2pYkm9bSG/6Gqleui z0DT1QqXtrwmXDgstqETiZhtCnGdNOB5o/bLDZMBYwYaJ8tyOxzz03Kr4ALUKfzqUyBC9m S0yKAgozBK8A1/H6LeVAxVEXrILsckoM4NwsyBZgyYgyc8OEz9e+O73n4cHPsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727893865; a=rsa-sha256; cv=none; b=WfzCJIuoVotAEPW0xHTAMJKQK/3kKGyzh7j5siHvZ1SHNexgArT1yYHuA7vCRL17/fzxwx /l6YZ1ceOqJpFmN4rQsWifGkRE7OLh1D3/rdZeGWZOfawHzVM9RMnfo1qDSNFfi/AA2DaG jllMd9jU7jCdD8KI87RMrYI0PrBQAarDEsZpJl7pHaDfnZRAiZJF8pNsuhKVvBLreel0i/ rSgtP8zp2gXH8xwzjdb0RmdW/D/y4mOOuKtp1QcaEwXUGZlhTUhoCIvPao3V5nScXT5bbE rqUgdGh7Z9rcxLiCqyzQjkYMsmJvAFF7MJBV/qn0of3Q0NLNwUi5AVmfmsOt3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJk0924pjzHJS; Wed, 2 Oct 2024 18:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492IV5fN017904; Wed, 2 Oct 2024 18:31:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492IV5PJ017901; Wed, 2 Oct 2024 18:31:05 GMT (envelope-from git) Date: Wed, 2 Oct 2024 18:31:05 GMT Message-Id: <202410021831.492IV5PJ017901@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: ab03b790627c - main - uart: Add entry for an Intel UART List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ab03b790627c19884c374d5d15e419c8be448c89 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ab03b790627c19884c374d5d15e419c8be448c89 commit ab03b790627c19884c374d5d15e419c8be448c89 Author: Warner Losh AuthorDate: 2024-10-02 16:06:00 +0000 Commit: Warner Losh CommitDate: 2024-10-02 18:29:24 +0000 uart: Add entry for an Intel UART While we really should infer this baud-clock rate in some cases, use the right baud-clock for this device. Sponsored by: Netflix --- sys/dev/uart/uart_dev_ns8250.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index 1a58600c8039..7aef4df97e12 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -464,6 +464,7 @@ static struct acpi_uart_compat_data acpi_compat_data[] = { {"MRVL0001", &uart_ns8250_class, ACPI_DBG2_16550_SUBSET, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, {"SCX0006", &uart_ns8250_class, 0, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, {"HISI0031", &uart_ns8250_class, 0, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, + {"INTC1006", &uart_ns8250_class, 0, 2, 0, 25000000, 0, "Intel ARM64 UART"}, {"NXP0018", &uart_ns8250_class, 0, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, {"PNP0500", &uart_ns8250_class, 0, 0, 0, 0, 0, "Standard PC COM port"}, {"PNP0501", &uart_ns8250_class, 0, 0, 0, 0, 0, "16550A-compatible COM port"}, From nobody Wed Oct 2 18:31:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJk0B4Pl8z5XvBV; Wed, 02 Oct 2024 18:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJk0B3HMTz4NfY; Wed, 2 Oct 2024 18:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727893866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gZN8YXEGdgqaL5uIiahrSoy2roet6ZH84yLHLNdkyls=; b=hYOdlRXoMa+ZZT3YxUHpCdSMm9YeFZVUF2/zKvO/x3pDN2FbWZUp0rWt0/IFWMCoL52KwX 7H1FwTCIrHXe9iUkg9ldpMI16t0gUfF0NIVueHHoYi084Lkdijbs++sLnOYkgPHbPhPtuz KhaDLejyW4PLMBh0sp2tNImwJnge0T3EZxGcE92SYvS/oxQMkSHXMf1RRIm47rSK0XOKrE 85Z6DE74hckVVGSi0u3eXZ/d4gub9mI2uy/uSl0PhrjHpITjZijEgavCW8FQ4Id7zbiRvh /vZabk/YvJe8EnLU8oK3/rLD2KMU1zajwsz7ts/GIMtYKk81OUqqJl88IJzpgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727893866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gZN8YXEGdgqaL5uIiahrSoy2roet6ZH84yLHLNdkyls=; b=Vup1Pg91SNAlsbiBz0GqSBhDH0lmZvut05TDkqROrwYdMNZvlzyyvh9HaEjqsvP2OK3up8 QowOHLW3e4JmaJ64a+82DslZi++AQaokwZ8K+KMk53R0O/DKA5DiBpdkHCpbfnjnNfwv9o Zj5Y8Ak9OaCzjQEPAPIBYwKOT8NdPCpVmR/ZefZpS1OQlHchAo3SOCZ7lL+OivqOwec4I+ BKJkrFd1sFoc158npq5AK6cuLqMdSQY/sjuig+vGvLZyAeKsXTMxqtrh4T/NI26vZDsWc2 mpsZ7MJrPQCPpa6PFl48/IvkqjsQAWOevhHvFb5svJnMEjVxHOkeIUFxWZ78Pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727893866; a=rsa-sha256; cv=none; b=O86bFt+mkTECdfovgSu+i2aEdkoFplp+UwqNwN1EedFqhrSlZAKcW37inSaL4KuVsTIXIy lR5DcjrKJwZ+gMkCcEVFI6OtIK9e/Eei561vKk9p+V7DqVMFnV5/8/D3/T6NyKqhgIopvc tNrp9LmBPOquSUdx97HvnqiFY8GtAgf1QiZo/0Z7cjlM+8d/4fLoHmGuJEM3yFYlxGPvbK 3lPnDbdfQTFoYXVriVP3A89Woo91GEO0+pvzp9FIphHmFRMXomnqL3V51V8mqRsfJ3qbRQ XgjfeC3ONhf8YO51PSaMD6UnH3ZMj8VzZY54dodKNIDVIzubkzDNUJIP2XTknA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJk0B2cdczHJT; Wed, 2 Oct 2024 18:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492IV6be018864; Wed, 2 Oct 2024 18:31:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492IV6Nw018853; Wed, 2 Oct 2024 18:31:06 GMT (envelope-from git) Date: Wed, 2 Oct 2024 18:31:06 GMT Message-Id: <202410021831.492IV6Nw018853@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: cd8c3af747cc - main - ACPI: Treat all 20-element _BIX entires as revision 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: cd8c3af747cc300c8257c315c7576644e2bb86ff Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cd8c3af747cc300c8257c315c7576644e2bb86ff commit cd8c3af747cc300c8257c315c7576644e2bb86ff Author: Bartosz Fabianowski AuthorDate: 2024-10-02 18:21:28 +0000 Commit: Warner Losh CommitDate: 2024-10-02 18:30:15 +0000 ACPI: Treat all 20-element _BIX entires as revision 0 Some Fujitsu Lifebooks return an invalid _BIX object. The first element of _BIX is a revision number, which indicates what elements will follow: * ACPI 4.0 defined _BIX revision 0 with 20 elements. * ACPI 6.0 introduced _BIX revision 1 with 21 elements. The problem is that the offending Lifebooks have the a non-zero _BIX revision, but provide 20 fields only. The ACPICA parser chokes on this [1], but that seems to be inconsequential. More importantly, our own battery info handling code also verifies that for revision > 0, there are at least 21 fields - and refuses to process the invalid _BIX. One workaround would be to introduce special case / quirk handling for Fujitsu Lifebooks. A better one is to relax the requirements check: If there are only 20 elements, treat the _BIX as revision 0, no matter what revision number was provided by the device. Linux doesn't run into this problem by the way because it only supports the 20 fields defined in the ACPI 4.0 spec [3]. It never looks at the revision number or the 21st field added in ACPI 6.0. [1] https://cgit.freebsd.org/src/tree/sys/contrib/dev/acpica/components/namespace/nsprepkg.c#n815 [2] https://cgit.freebsd.org/src/tree/sys/dev/acpica/acpi_cmbat.c#n371 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/acpi/battery.c#n418 PR: 252030 Reviewed by: imp MFC After: 2 weeks --- sys/dev/acpica/acpi_cmbat.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/dev/acpica/acpi_cmbat.c b/sys/dev/acpica/acpi_cmbat.c index aeda34c3acff..35032244af19 100644 --- a/sys/dev/acpica/acpi_cmbat.c +++ b/sys/dev/acpica/acpi_cmbat.c @@ -398,8 +398,17 @@ acpi_cmbat_get_bix(void *arg) sc->bix.rev != ACPI_BIX_REV_1) ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_1); } else if (ACPI_PKG_VALID_EQ(res, 20)) {/* ACPI 4.0 _BIX */ - if (sc->bix.rev != ACPI_BIX_REV_0) - ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_0); + /* + * Some models claim to be rev.1, but have a _BIX with only 20 + * members. Be lenient and treat this as a valid rev.0 _BIX. + */ + if (sc->bix.rev != ACPI_BIX_REV_0) { + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "_BIX containing too few objects for revision %u. " + "Treating as revision %u instead.\n", + sc->bix.rev, ACPI_BIX_REV_0); + sc->bix.rev = ACPI_BIX_REV_0; + } } else if (ACPI_PKG_VALID(res, 22)) { /* _BIX with 22 or more members. */ if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_1 + 1)) { From nobody Wed Oct 2 19:13:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJkx94Rxgz5XxnZ; Wed, 02 Oct 2024 19:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJkx93w3yz4Srq; Wed, 2 Oct 2024 19:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727896413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTTIKiapDAwMF9QKz5wNOTjQMPfIikCUmu8dd8W3jTc=; b=aimZ5fDymVWN5FX9Wrs4a5axKQMbbjxrFI7wvHa4qT3T5bxBC2FkHSLuJLWdR9L5dDoOXF klIfdOvAZrblnqY6l3oz4s+CUOuk068KaW9ZeS2FI+z+kL1fQpD/Ym1otOV/s9wNoS+NT+ wqOQXLS9mTQohMUn+GT9kShEgyX4LK+ktcgjmrYdqZuZD3EDDcl01xMv7JHQAgwXgSfLdv i3Dw1iEYe84W9YF08zzM+VDfCD6tvbfLetDyQAThkyAADCDNiwcI40oqxXqqW2gHy1u6Im EQB3dhkISFpHNX/qLU43B8nIWosNbU1Cy4g6+zIjIxUIV55uxQ+V9hAnATmLsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727896413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTTIKiapDAwMF9QKz5wNOTjQMPfIikCUmu8dd8W3jTc=; b=wtzM1EkOvrjWjX9e8TCLMgEkuK3nmP4armKFKp0EYq5I0xfcpgaz42Wu8xX2nJk3tFptm0 7Qv9IQrMZNFP7tkVLWgCxEJcs7UMyt2hRXb7TyLCM0/YT+O1nJLh1VYN4k4FFLCqLn/ORj cGjJMe7BtpYzO2FFIGQ4hoA+gGh/CORRLlrh0QYMOy444WToxWi32b5knvi1zotyTYvdB+ sJ0SAHIBvEJ1pSNoeSljJxNAcNhhRHVcC3V6QdM/v6L7cZwagXPp7NMSVNT9sjGOlrrd39 wEQwZQZM1bz3WJ0AaweAG/gKjQ8nLFkGXTFxcQE5XikwUkWvK5V/nMsZjMjzUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727896413; a=rsa-sha256; cv=none; b=Rrl4lJm5DUL73ZNq2yWKbDUQtGiSeay2yTg7UjyOJB/GjmdFfjEL6M0f1uGlkv6AWJTrtr fxxUr4/brwSeZOyPdpbsih0UODhB4DvJi6oMuwasVTUAle0eyuuuyCRxSsctq4fCMLnmqI KLtxP/2KRYaMfzBj44Mol+DdvQWoknukIfObP5ivWhVz7qYBxCXBJMJJa7GknqPmrgZtX8 LqZzkgDNa/cO96FZA8LaJ6YgOOhvpA3oNePWjY7jlxdR64/dLPznKEGP5ktF8kKCtLtwrc ufHr8f0/egNihiF360nhkfZHsfDmR1HYvjX4kyx54N4KptHqjIkF43ABZ/e5Xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJkx92wHHzJbd; Wed, 2 Oct 2024 19:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492JDXnF092461; Wed, 2 Oct 2024 19:13:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492JDXP9092458; Wed, 2 Oct 2024 19:13:33 GMT (envelope-from git) Date: Wed, 2 Oct 2024 19:13:33 GMT Message-Id: <202410021913.492JDXP9092458@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: c08e016f000c - main - unix: Use a dedicated mtx pool for vnode name locks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c08e016f000ce417a6fb413025ab81ad66cbdfff Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c08e016f000ce417a6fb413025ab81ad66cbdfff commit c08e016f000ce417a6fb413025ab81ad66cbdfff Author: John Baldwin AuthorDate: 2024-10-02 19:12:37 +0000 Commit: John Baldwin CommitDate: 2024-10-02 19:12:37 +0000 unix: Use a dedicated mtx pool for vnode name locks mtxpool_sleep should be used as a leaf lock since it is a general purpose pool shared across many consumers. Holding a pool lock while acquiring other locks (e.g. the socket buffer lock in soreserve()) can trigger LOR warnings for unrelated code. Reviewed by: glebius Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46792 --- sys/kern/uipc_usrreq.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 0f01afa97878..fc1559fb1fb1 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -112,6 +112,7 @@ static int unp_rights; /* (g) File descriptors in flight. */ static struct unp_head unp_shead; /* (l) List of stream sockets. */ static struct unp_head unp_dhead; /* (l) List of datagram sockets. */ static struct unp_head unp_sphead; /* (l) List of seqpacket sockets. */ +static struct mtx_pool *unp_vp_mtxpool; struct unp_defer { SLIST_ENTRY(unp_defer) ud_link; @@ -679,7 +680,7 @@ uipc_close(struct socket *so) vplock = NULL; if ((vp = unp->unp_vnode) != NULL) { - vplock = mtx_pool_find(mtxpool_sleep, vp); + vplock = mtx_pool_find(unp_vp_mtxpool, vp); mtx_lock(vplock); } UNP_PCB_LOCK(unp); @@ -748,7 +749,7 @@ uipc_detach(struct socket *so) UNP_PCB_UNLOCK_ASSERT(unp); restart: if ((vp = unp->unp_vnode) != NULL) { - vplock = mtx_pool_find(mtxpool_sleep, vp); + vplock = mtx_pool_find(unp_vp_mtxpool, vp); mtx_lock(vplock); } UNP_PCB_LOCK(unp); @@ -1953,7 +1954,7 @@ unp_connectat(int fd, struct socket *so, struct sockaddr *nam, unp = sotounpcb(so); KASSERT(unp != NULL, ("unp_connect: unp == NULL")); - vplock = mtx_pool_find(mtxpool_sleep, vp); + vplock = mtx_pool_find(unp_vp_mtxpool, vp); mtx_lock(vplock); VOP_UNP_CONNECT(vp, &unp2); if (unp2 == NULL) { @@ -2561,6 +2562,7 @@ unp_init(void *arg __unused) TASK_INIT(&unp_defer_task, 0, unp_process_defers, NULL); UNP_LINK_LOCK_INIT(); UNP_DEFERRED_LOCK_INIT(); + unp_vp_mtxpool = mtx_pool_create("unp vp mtxpool", 32, MTX_DEF); } SYSINIT(unp_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, unp_init, NULL); @@ -3441,7 +3443,7 @@ vfs_unp_reclaim(struct vnode *vp) ("vfs_unp_reclaim: vp->v_type != VSOCK")); active = 0; - vplock = mtx_pool_find(mtxpool_sleep, vp); + vplock = mtx_pool_find(unp_vp_mtxpool, vp); mtx_lock(vplock); VOP_UNP_CONNECT(vp, &unp); if (unp == NULL) From nobody Wed Oct 2 19:13:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJkxB4rGRz5XxYM; Wed, 02 Oct 2024 19:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJkxB4BNvz4Srt; Wed, 2 Oct 2024 19:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727896414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0bGZ9gnvEfaA75VJTEQH7/6wp1MA69Dj3fYYdLqUYQ=; b=Kwsl3B70ldU/mqtnLEoaDo91B7L25uvBgXgOQxa+SmpuyaMWPkoMxRcMOAB2rF1aMxVEPf dRNyERv2cQDR6pBaFjwSsfbmklG2HsPUBSS//WZ8RA0T5uLBtUVbpyIfHh6bTq8pZ8T1FA SBwuFx2nBRMTIBO9KImuAqmBdJTvC3lk5jvVtZ8DW6JyzXygLAY4zyRU2HG2BqeDI2rrAi DBTLrPRriDHDBmpQjkzib7Xa1FJWrwMozGsZRhs9skG6CFsTBxfPZW5Tt4qzs+47cnATLS de660iM/EEhMY8W8taaIAeOksSUjlwr324JOBWUwGTR8rZ20GBelQCzUIaQX9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727896414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0bGZ9gnvEfaA75VJTEQH7/6wp1MA69Dj3fYYdLqUYQ=; b=KtiC1WIpPDrfX3Cv+v2KsriZ7pJCqi/RNTZngcu+jfuiB1VY2FmtBj33TNYhkGGaVsyAdG UsBE9YaxifM03GEzzrvjDZt5rHK+D6Ij/Wn6hMBUceNHvQMATUcAj6Xc0IRhbGlJzUySps /RogH9wl3gGqpXrsbvjZiykI0tKGl0QrZxcmdMnxLpi6CbNsc7aIzQAgbGfvSumYWvLjdm Um9MjJTQXZqfLfzzHXfRl+XdaZ2TufpgIAuAwhotN7SVjclPUWscU3VdhtaNuSqTRojNbG 8TK6hBuOrAHhuqvRS7XAa6IW4cdcPH2hYiL+LDM7MV9Xd1yYgidkEz4YbLu3sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727896414; a=rsa-sha256; cv=none; b=X8M1Ha2zTmS3zMyuU7omWQY99L/TOjVE7UJRG7kAenxpySoPLgvWO9QaViZMBJBLW+T8Z1 bN4TcldL9FWg71LLJOqXmsT8hYKpDoLLvsL/NnSPH3c3Fn6vibmyrrtwV1JeciGlTwKoI+ C0uoTrpYGz8GLeUTAXUwjk1G9f9pEhovRa3MpGSTke6XMoxYsr+lDIcUiJ90ZktOxNVK8L O+96KxFXVTKiogTD5OfTn+LxbMLLHGmHforlO780TdrkM/feQrcHkaH83IHOqbP6NOFPN7 zeOqeHsO/DcjvsKITTIoTnWAE5zQNXG0MZuSzRT6Ineo6JLPux4lQmOm2WsHYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJkxB3nlZzJFS; Wed, 2 Oct 2024 19:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492JDYeZ092514; Wed, 2 Oct 2024 19:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492JDY5j092511; Wed, 2 Oct 2024 19:13:34 GMT (envelope-from git) Date: Wed, 2 Oct 2024 19:13:34 GMT Message-Id: <202410021913.492JDY5j092511@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: 519981e3c09c - main - tcp_output: Clear FIN if tcp_m_copym truncates output length List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 519981e3c09c2875b136635459c87ab24d3104e2 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=519981e3c09c2875b136635459c87ab24d3104e2 commit 519981e3c09c2875b136635459c87ab24d3104e2 Author: John Baldwin AuthorDate: 2024-10-02 19:12:37 +0000 Commit: John Baldwin CommitDate: 2024-10-02 19:12:37 +0000 tcp_output: Clear FIN if tcp_m_copym truncates output length Reviewed by: rscheff, tuexen, gallatin Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46824 --- sys/netinet/tcp_output.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index fe1f15c26338..78ecfe5289b6 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1078,13 +1078,18 @@ send: sbsndptr_adv(&so->so_snd, mb, len); m->m_len += len; } else { + int32_t old_len; + if (SEQ_LT(tp->snd_nxt, tp->snd_max)) msb = NULL; else msb = &so->so_snd; + old_len = len; m->m_next = tcp_m_copym(mb, moff, &len, if_hw_tsomaxsegcount, if_hw_tsomaxsegsize, msb, hw_tls); + if (old_len != len) + flags &= ~TH_FIN; if (len <= (tp->t_maxseg - optlen)) { /* * Must have ran out of mbufs for the copy From nobody Wed Oct 2 19:56:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJltG60Hcz5Y1WM; Wed, 02 Oct 2024 19:56:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJltG566Wz4Zf1; Wed, 2 Oct 2024 19:56:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727898966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7sDbrDTgOjnaorHEajMKFkOex2h+ccfDGWbioDvu30s=; b=Xx1RzhJaxWtPnKM56JmtUfW7/v/ipXqQ+quyK23PSx7oSbgxnMlyiLeTGpMXyc7YXih9O8 lG0fmC6ir33i3XLfSoeEoSF8Oggd8YSo8PMhfEKQMUnq4Rga8+r7s9BIlIipNeZ1acipef xbD/9Ug7Qz2j2kOANXW7wRCTiTFTkdgNY7jVLIg1CQCup2rURyz9nObFNk1ByZmZiP0G+U vCk+/1eeGhpni7v1+bEJr2ANDfVKPl087NJSw00A/zD27jeDITLOSRfNhEngs8VKwS63RE yQzagrJ7btm1gl4kLKEAT5KODJpcayvzY5uvVyeyrZb50Rl5Syw9wopFmZZEJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727898966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7sDbrDTgOjnaorHEajMKFkOex2h+ccfDGWbioDvu30s=; b=IgpRJWUOdPyrdur/Jv8Cmn//9T+h7hvTe++CTNmw+mEVcoqCdpu2p4W3lvVy/lOA1I1uNT YolXqffNfnxsMI8sblqlNi6CMfyFtN0WRKQpsG/RgABdjoWJLmC4+9VbpDDqbRyvZ8Gn+E a3YTcCg6Vk48elyenY5TdrA/+yzI5GqVjlnkcpf10fBWLvCKITbjn9peNR3jVI5Ru2F9sA iyiSgVs5OMUL7Ld5aY5BzeAIRfYAiJYyu0uXr+bv1C0MpkVY1iOyyTdHiQrJYQ7t05BW+r XWNbM5Jwu8cfpzi3DCmrVJXQ5yeORXwBSLgR8ojcW3fpNwu4LhdJurZLi/VkbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727898966; a=rsa-sha256; cv=none; b=sx0rUllO1468XCuTN+y+JVHGNxE9yNm4HvYHyVuxdzl+2dhObVaeW4NmNrCNw4f8ftQb1V f9MW7KjmTMbNxBNGsQp95Z4GsXp8lldCKaU+TcPnuUyhTocdv8/EAavvmAej6IGqUBfNUK bC815x+w82wTQuL6fkRtOeuit9neriuLNKiJUVf+CpEiG5DJHX/NxS64O36EtNIlZcV1Po HgQEaZwIlK/cJCOpubewL/5PE8mBIphTmD7CHCSDB03i7JQWH+TF81JgG4YuJs/XYlqjlR tyIcIrc2xRfytI4yvddkXtyEJYgD4hp1xm+xjM0hzTUCFMuduJIR9+x3xR7rdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJltG4HRFzKcG; Wed, 2 Oct 2024 19:56:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Ju6W3061833; Wed, 2 Oct 2024 19:56:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492Ju6Yh061830; Wed, 2 Oct 2024 19:56:06 GMT (envelope-from git) Date: Wed, 2 Oct 2024 19:56:06 GMT Message-Id: <202410021956.492Ju6Yh061830@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: e3953c036f9d - main - sys: Chase libmd version bump with a __FreeBSD_version bump List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e3953c036f9d66c85b8e19f99f0710b3288ce5fb Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e3953c036f9d66c85b8e19f99f0710b3288ce5fb commit e3953c036f9d66c85b8e19f99f0710b3288ce5fb Author: Kyle Evans AuthorDate: 2024-10-02 19:54:24 +0000 Commit: Kyle Evans CommitDate: 2024-10-02 19:55:52 +0000 sys: Chase libmd version bump with a __FreeBSD_version bump Ports need to be rebuilt anew following this change to get off of the old libmd.so.6. --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 79d188c93230..3d772d551ffe 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500023 +#define __FreeBSD_version 1500024 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Wed Oct 2 21:41:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XJpCZ6nFsz5Y7g2; Wed, 02 Oct 2024 21:41: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJpCZ22Vdz4njh; Wed, 2 Oct 2024 21:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727905274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLy0v65ROqSkWzHPexv9j49sm2qdwGugdP4eUAKCtsY=; b=jXYNsycyycc+nZTqwUfPaX1zolzqVe08Egy0J+thbYWAMKE+0ZqWw4/VHqkwAEY0uHwpGJ QRA1GnuxHooyTJ/233EQ4oAcMWngtOZDnEDL5VdL0pS/sqLit8cgeYNpGUFm3kmhhCMqyM CL2d1vav8EhnHNx5oAy6XRbJXlwTwrkzF7q9GqnUgiMd8PYHLcToCNSiNh3I1RRxqqzLU3 kJK5eniA//34xsgj3bdazTy0bAtAOIyZ7b7DRu4U7rq0mrxnLU006Rk1XvKnqoOXTnaPKe G6KoXXqd+kuta6FTyhdXjCmpTPY91EwbkHOsZXaezm20AtmnIS5kvmS17MLIng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727905274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLy0v65ROqSkWzHPexv9j49sm2qdwGugdP4eUAKCtsY=; b=aX+DhcOOxuvJTsRV/c6goUBIivjdg4tDNT3xwgW0nVVa1LgJYZblbpVp+aEzMmDiEBYZ06 F29n3kWA2QIj4agdns3/Q3qbkiYiKAvT6b29MawbF3Jo8mtBJMk+YKDWK/eDNGOS6Yi+h0 Ul6ajjFQS6pjMsPXXy/CfFdZEiThv2SlxJ7OhVb1yEiVSUTF3iaeaSvuuMPNf/StOQrcd1 QiMQzfRSR600IIa0XYoKUe0W1viKLAgakznKjyqTPBcAXB55a7V00kFEwU5LirgiXJbf/k VD8pQRgCMTQcHea755y6kxavV+ePkq5GMuiZ9pa0CE6UNO+AmaHQD92C2yPTsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727905274; a=rsa-sha256; cv=none; b=q5r7g1vf8ynLOV+7YmIxzuU/Nznb+/Z/wXYt8BYNB/Or3PoKeenkUm2vwtd4FxaLN8PYRt xGQ64DBqCHgVmxewGCsVZ/Zesi0nAm/ViHKiVC+JSGsqMFE1H07IbMeJxmepEJk6Gpflny eW3uFXI2FJeLYvDzEz6971vW/RexsMII1TtrhL0bTvwclhW1jZY2m9PKcQlOQmUPUBdI37 ctCw1pOfPeu7Pf6bVIP45sG3j/xrPLb6UVJQbOKOLNcSa4IxHlP0AUnra7OXLvjFDoM4gY vd74/n/8ek8N5kWtlZZHN6EbmwjZZikxtuLnOBwlnEQ8mfA+txIQqy4C/RlTAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XJpCZ1cSPzN2X; Wed, 2 Oct 2024 21:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492LfEsm043612; Wed, 2 Oct 2024 21:41:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492LfE2l043599; Wed, 2 Oct 2024 21:41:14 GMT (envelope-from git) Date: Wed, 2 Oct 2024 21:41:14 GMT Message-Id: <202410022141.492LfE2l043599@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: ad152571b8fd - main - bhyve uart: Fix errors from GCC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ad152571b8fd69d93ca0e44d80c9b49308b36eae Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ad152571b8fd69d93ca0e44d80c9b49308b36eae commit ad152571b8fd69d93ca0e44d80c9b49308b36eae Author: John Baldwin AuthorDate: 2024-10-02 21:31:59 +0000 Commit: John Baldwin CommitDate: 2024-10-02 21:31:59 +0000 bhyve uart: Fix errors from GCC - Place 'static' before other qualifiers (-Wold-style-declaration) - Correct the order of arguments to calloc (-Wcalloc-transposed-args) Reported by: GCC 14 Fixes: 1f903953fbf8 bhyve: Add raw tcp to uart backend --- usr.sbin/bhyve/uart_backend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/uart_backend.c b/usr.sbin/bhyve/uart_backend.c index a09764190137..32490105fecf 100644 --- a/usr.sbin/bhyve/uart_backend.c +++ b/usr.sbin/bhyve/uart_backend.c @@ -293,7 +293,7 @@ done: static void uart_tcp_listener(int fd, enum ev_type type __unused, void *arg) { - const static char tcp_error_msg[] = "Socket already connected\n"; + static const char tcp_error_msg[] = "Socket already connected\n"; struct uart_socket_softc *socket_softc = (struct uart_socket_softc *) arg; struct uart_softc *sc = socket_softc->softc; @@ -473,7 +473,7 @@ uart_tcp_backend(struct uart_softc *sc, const char *path, * Set the connection softc structure, which includes both the softc * and the drain function provided by the frontend. */ - if ((socket_softc = calloc(sizeof(struct uart_socket_softc), 1)) == + if ((socket_softc = calloc(1, sizeof(struct uart_socket_softc))) == NULL) goto clean; From nobody Thu Oct 3 07:29:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XK3Gl2kQMz5XsFm; Thu, 03 Oct 2024 07: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XK3Gl1wdkz4svx; Thu, 3 Oct 2024 07: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=1727940591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sljeUFESCdprWuXwwKOlraEa7Zqwy1gA6QJ/vXN099c=; b=wL2iOOAByI+OqpeC7Ggexo2VM0XDZx2dWY48G6ZJYTO1S2ek3GhGurDlJENsJAOkMsJBRK 1Z3hg6PK8lRjECvsMPZxBsddBkTM3Jt51txozXLazckRyZUYZmOlmTF/cb0hKQOEXJLvgT O1E4zyx4r+mS6hrpW7zF/H7YTRsB9wlhbkIqBOwEjbN6VBtlw/jjpAxaRkt8sSF+ylXRLt /NevgN4qCeGbGLRPzOuaU8NLKqzhj6EOccn54ZR8T/LJU23TNEENYqftIGopRy2dEiZ/VA 5fhQD/YUWLkkv780o80zfYyWN8uEUk3QZ3cIFRJNDnW4rKsUiXgf6l5Fj7+RLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727940591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sljeUFESCdprWuXwwKOlraEa7Zqwy1gA6QJ/vXN099c=; b=wQEZUZNIZR1ZfHyFkHnCuonlKowSqqwe1+fYRZIk20X0PwrvQxwetJTpUQmc74EfiQT/0h xCIrxlzaZtUgqDYK8INhLibd2mVhwkbsUIC7GQxQmuCI7pNpDVe1LTmQp0dIkn/ckILXNl GyxvX1DSEn49O2Lp995LlFtItKnmfGOX43X38cuvxfbrsDXRruQsPvmIfjD++Ys+2cJG17 csuwIigmpwnFbEQoHVFpmx6tLWO1BD05moREHlATE131P+3zgEDrhNYvyg+2ApgEGHpdoG GHwFJHxO+QNV4L7Tq1q1EPc8lkxAe47jl+rvkey5m9GAOtIamW/bC7/+IpiSXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727940591; a=rsa-sha256; cv=none; b=m4LWZMUrz69Am4q3OEfFslASovOCup7v4xELjebuA0NLWkxiVoMj9VBwgEdHPh+MRAPc5e Yg3HQruCAnJY1ZRw0rIy2mTb4TBS79tukuTBGDC0LnzUdEcNtRDLBCTJVpF6B63CDMThKi d7PNNpt1cYTavlVXD5NXT9Gtk5u1GCRJ7YcPzdJmsdUvvpyTXkiZhZL21mVXlVl4Hilnnf 52l68bC4cgJ57c/ELNSg0j/tYyoZ/KXALVANr/jTALsSMJsQOovoyfgVP/6NbEXSDe4ZEf NuD2fH9ZebdUO84JIC0oZ6hgUjRRHxU6LqMtuyElE9ESK+D0A9XHGG4o/IR1FQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XK3Gl1WHbzh0f; Thu, 3 Oct 2024 07:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4937TpaS035011; Thu, 3 Oct 2024 07:29:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4937TprF035008; Thu, 3 Oct 2024 07:29:51 GMT (envelope-from git) Date: Thu, 3 Oct 2024 07:29:51 GMT Message-Id: <202410030729.4937TprF035008@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: eb8326421e6b - main - iommu_qi_seq_processed: use atomic to read hw-written seq number List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: eb8326421e6b35b0dee1a8db669914a97bce5cdf Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eb8326421e6b35b0dee1a8db669914a97bce5cdf commit eb8326421e6b35b0dee1a8db669914a97bce5cdf Author: Konstantin Belousov AuthorDate: 2024-10-03 03:51:20 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-03 06:19:09 +0000 iommu_qi_seq_processed: use atomic to read hw-written seq number otherwise iommu_qi_wait_for_seq() can be legitimately optimized out. Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/x86/iommu/iommu_utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/x86/iommu/iommu_utils.c b/sys/x86/iommu/iommu_utils.c index 8ff15cc86cb8..db8f94eb584f 100644 --- a/sys/x86/iommu/iommu_utils.c +++ b/sys/x86/iommu/iommu_utils.c @@ -350,8 +350,8 @@ iommu_qi_seq_processed(struct iommu_unit *unit, x86c = IOMMU2X86C(unit); gen = x86c->inv_waitd_gen; - return (pseq->gen < gen || - (pseq->gen == gen && pseq->seq <= x86c->inv_waitd_seq_hw)); + return (pseq->gen < gen || (pseq->gen == gen && pseq->seq <= + atomic_load_64(&x86c->inv_waitd_seq_hw))); } void From nobody Thu Oct 3 11:44:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XK8wK3W2yz5YCWh; Thu, 03 Oct 2024 11:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XK8wK3Bbfz4LPn; Thu, 3 Oct 2024 11:44:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727955857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiaFu9tVV8KAVeREu2cRjwOkEq5ExERZuthE7WFg0BI=; b=mbx9sz7R7qVOcDwr3+vDeQQLgQlD6MZL5mjd8zt9GroCDuOXPX0jxJ5uXcg2Td6PnTojXU ssrSzr0sXJv4Wzb7PyudJZ/rR6ZdJSkmm2xCLJHhZaUTGcTzf5Iz+YR7Qoi2TPRMROPq9F KuRrueHOeoNwK5jF1lLkSkWi3qkpZwRthEi4Vy2U2MSSDO4wZ+6+hFKE2xRRsLhGcWRm8t dOvI7r+cQphOYKAEobHiitjgdr9vUmgZcqMOlgGrDX2UKCyhqyYtuHXlYd88bifWgg4oX3 HwkG9GshE7snISX/TjWuM6AsPfi6mELiFJOi2Rz9NF81PbI3uCMs/NYCKbfrYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727955857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiaFu9tVV8KAVeREu2cRjwOkEq5ExERZuthE7WFg0BI=; b=Gf3A2s/pYL4pAqVzs1RWtuiF96HsgOL2eDz+u/RSO7QKXkBil0EtCC2eKUkGLTII02em9G 9SwMMfRHjurSZRyaZJ755aTyFnQYJSkFEJFd1HAYv7EcO4DkBJiNRNwG9DE3UH4QQJEDRZ PzTXKnvFSxG7BwnzcLjSZLHGO/+mRcdWAE5hQXQJU5yVH4uwN+lw2uzoB2zR2x547quzU9 FxPrNf2nAOH60Lm6gg5Un9CtGvt2TzWPqZe0gdvkl6I5fVgOTSgg4n6Kd3uC6EXB7f6K++ eCAqqAWKT7fpdj97wQSgOy8X5EwrmWwKdXMmhl1bAO3iscHl4LXcLnBfo111lA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727955857; a=rsa-sha256; cv=none; b=t3l9KzK18CusWnTtOsOIaUXxacxpR0fwRc7AI7bdX5904w+96lffPb7rZK5AzYdAt0dmOo WFfvxwl5pAzyEJgL0n7muFwX/IcXi9DVnGvNqTlNUwXMqOsLljMDL5AcXhN6byMZLowxlZ MX+k3QQXxfaP72kWePIC4t0k1dLyBv63FU0DjxeIVVo0OeZ3Tx8yI1PT2jdLJZAaw3cvQ3 PvrGiX5P9x+FwWck9LrQuVrqcBBL6kpx4Rm1cgDGZT4R8OuGyrd/M2g30dIqeJ+lvJ7ykr ZeSn8vbD3kt4IGJ5JNevqqaJFrp8KovYKcmIOSxhCAk7xVGA+iiRfyFKatvAbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XK8wK2hSczpgy; Thu, 3 Oct 2024 11:44:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493BiHix077945; Thu, 3 Oct 2024 11:44:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493BiHuN077942; Thu, 3 Oct 2024 11:44:17 GMT (envelope-from git) Date: Thu, 3 Oct 2024 11:44:17 GMT Message-Id: <202410031144.493BiHuN077942@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 94a294e59d17 - main - stress2: Added test scenarios for bug report List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 94a294e59d1772f316fef613b83e92f37294954c Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=94a294e59d1772f316fef613b83e92f37294954c commit 94a294e59d1772f316fef613b83e92f37294954c Author: Peter Holm AuthorDate: 2024-10-03 11:41:33 +0000 Commit: Peter Holm CommitDate: 2024-10-03 11:41:33 +0000 stress2: Added test scenarios for bug report --- tools/test/stress2/misc/mmap44.sh | 2 +- tools/test/stress2/misc/mmap45.sh | 230 ++++++++++++++++++++++++++++++ tools/test/stress2/misc/mmap46.sh | 233 ++++++++++++++++++++++++++++++ tools/test/stress2/misc/mmap47.sh | 237 +++++++++++++++++++++++++++++++ tools/test/stress2/misc/mmap48.sh | 289 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 990 insertions(+), 1 deletion(-) diff --git a/tools/test/stress2/misc/mmap44.sh b/tools/test/stress2/misc/mmap44.sh index 5865491e1dea..f5999ac62536 100755 --- a/tools/test/stress2/misc/mmap44.sh +++ b/tools/test/stress2/misc/mmap44.sh @@ -219,7 +219,7 @@ mount /dev/md$mdstart $mntpoint mp2=${mntpoint}2 mkdir -p $mp2 mount | grep -q "on $mp2 " && umount -f $mp2 -mount -t nfs 127.0.0.1:$mntpoint $mp2; s=$? +mount -t nfs -o retrycnt=3 127.0.0.1:$mntpoint $mp2 || exit 1 sleep .2 here=`pwd` diff --git a/tools/test/stress2/misc/mmap45.sh b/tools/test/stress2/misc/mmap45.sh new file mode 100755 index 000000000000..59450b41bb5e --- /dev/null +++ b/tools/test/stress2/misc/mmap45.sh @@ -0,0 +1,230 @@ +#!/bin/sh + +# +# Copyright (c) 2024 Peter Holm +# +# SPDX-License-Identifier: BSD-2-Clause +# + +# Demonstrate issue described in: +# [Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O + +# Issue seen: +# +# 8994c8994 +# < 0431020 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f +# --- +# > 0431020 10 11 ee 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f +# 256 -rw------- 1 root wheel 262144 Feb 28 19:44 file +# 256 -rw------- 1 root wheel 262144 Feb 28 19:43 file.orig +# 19:44:34, elapsed 0 days, 00:13.59 +# Failed with exit code 2 after 13 loops. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +serial=/tmp/$prog.serial +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } +rpcinfo 2>/dev/null | grep -q mountd || exit 0 + +cat > /tmp/$prog.c < +#include + +#include +#include +#include +#include +#include +#include +#include + +static off_t siz; +static pthread_mutex_t write_mutex; +static int fd, go; +static char *cp; + +static void * +memread(void *arg __unused) +{ + int i; + char c; + + while (go == 1) { + i = arc4random() % siz; + c = cp[i]; + if (c != 0x77) /* No unused vars here */ + usleep(arc4random() % 400); + } + return (0); +} + +static void * +memwrite(void *arg __unused) +{ + int i; + char c; + + while (go == 1) { + i = arc4random() % siz; + pthread_mutex_lock(&write_mutex); + c = cp[i]; + cp[i] = 0xee; /* This value seems to linger with NFS */ + cp[i] = c; + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (0); +} + +static void * +wr(void *arg __unused) +{ + off_t pos; + int r, s; + char buf[1024]; + + while (go == 1) { + s = arc4random() % sizeof(buf) + 1; + pos = arc4random() % (siz - s); + pthread_mutex_lock(&write_mutex); + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if ((r = read(fd, buf, s)) != s) { + fprintf(stderr, "r = %d, s = %d, pos = %d\n", r, s, (int)pos); + err(1, "read():2"); + } + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if (write(fd, buf, s) != s) + err(1, "write()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (0); +} + +static void * +s1(void *arg __unused) +{ + + while (go == 1) { + if (fdatasync(fd) == -1) + err(1, "fdatasync()"); + usleep(arc4random() % 1000); + } + return (0); +} + +static void * +s2(void *arg __unused) +{ + + while (go == 1) { + if (fsync(fd) == -1) + err(1, "fdatasync()"); + usleep(arc4random() % 1000); + } + return (0); +} + +int +main(int argc, char *argv[]) +{ + struct stat st; + pthread_t tp[10]; + int e, i; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + if ((fd = open(argv[1], O_RDWR)) == -1) + err(1, "open(%s)", argv[1]); + if (fstat(fd, &st) == -1) + err(1, "stat(%s)", argv[1]); + siz = st.st_size; + cp = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (cp == MAP_FAILED) + err(1, "mmap()"); + + go = 1; + pthread_mutex_init(&write_mutex, NULL); + if ((e = pthread_create(&tp[0], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[1], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[2], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[3], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[4], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[5], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[6], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[7], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[8], NULL, s1, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[9], NULL, s2, NULL)) != 0) + errc(1, e, "pthread_create"); + + sleep(60); + go = 0; + for (i = 0; i < (int)(sizeof(tp) / sizeof(tp[0])); i++) + pthread_join(tp[i], NULL); + if (munmap(cp, siz) == -1) + err(1, "munmap()"); + close(fd); +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +mycc -o $serial -Wall -Wextra -O2 ../tools/serial.c || exit 1 +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -s 5g -u $mdstart +newfs -n $newfs_flags /dev/md$mdstart > /dev/null +mount /dev/md$mdstart $mntpoint + +mp2=${mntpoint}2 +mkdir -p $mp2 +mount | grep -q "on $mp2 " && umount -f $mp2 +mount -t nfs -o retrycnt=3 127.0.0.1:$mntpoint $mp2 || exit 1 +sleep .2 + +here=`pwd` +cd $mp2 +$here/../testcases/swap/swap -t 5m -i 20 > /dev/null & +sleep 2 + +size=262144 +$serial file $size +cp file file.orig + +s=0 +/tmp/$prog file || s=1 + +while pgrep -q swap; do pkill swap; done +wait +if ! cmp -s file.orig file; then + od -t x1 file.orig > /var/tmp/$prog.file1 + od -t x1 file > /var/tmp/$prog.file2 + diff /var/tmp/$prog.file1 /var/tmp/$prog.file2 > $log + head -20 $log + rm /var/tmp/$prog.file1 /var/tmp/$prog.file2 + ls -ls file.orig file + s=2 +fi + +cd $here +umount $mp2 +umount $mntpoint +mdconfig -d -u $mdstart +rm -f $serial /tmp/$prog /tmp/$prog.c $log +exit $s diff --git a/tools/test/stress2/misc/mmap46.sh b/tools/test/stress2/misc/mmap46.sh new file mode 100755 index 000000000000..a739f36f3f9e --- /dev/null +++ b/tools/test/stress2/misc/mmap46.sh @@ -0,0 +1,233 @@ +#!/bin/sh + +# +# Copyright (c) 2024 Peter Holm +# +# SPDX-License-Identifier: BSD-2-Clause +# + +# Demonstrate issue described in: +# [Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O + +# Issue seen: +# +# 8994c8994 +# < 0431020 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f +# --- +# > 0431020 10 11 ee 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f +# 256 -rw------- 1 root wheel 262144 Feb 28 19:44 file +# 256 -rw------- 1 root wheel 262144 Feb 28 19:43 file.orig +# 19:44:34, elapsed 0 days, 00:13.59 +# Failed with exit code 2 after 13 loops. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +serial=/tmp/$prog.serial +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } +rpcinfo 2>/dev/null | grep -q mountd || exit 0 + +cat > /tmp/$prog.c < +#include + +#include +#include +#include +#include +#include +#include +#include + +static off_t siz; +static pthread_mutex_t write_mutex; +static int fd, go; +static char *cp; + +static void * +memread(void *arg __unused) +{ + int i; + char c; + + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + c = cp[i]; + if (c != 0x77) /* No unused vars here */ + usleep(arc4random() % 200); + } + return (0); +} + +static void * +memwrite(void *arg __unused) +{ + int i; + char c; + + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + pthread_mutex_lock(&write_mutex); + c = cp[i]; + cp[i] = 0xee; /* This value seems to linger with NFS */ + cp[i] = c; + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 200); + } + return (0); +} + +static void * +wr(void *arg __unused) +{ + off_t pos; + int r, s; + char buf[1024]; + + while (go == -1) + usleep(50); + while (go == 1) { + s = arc4random() % sizeof(buf) + 1; + pos = arc4random() % (siz - s); + pthread_mutex_lock(&write_mutex); + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if ((r = read(fd, buf, s)) != s) { + fprintf(stderr, "r = %d, s = %d, pos = %d\n", r, s, (int)pos); + err(1, "read():2"); + } + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if (write(fd, buf, s) != s) + err(1, "write()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 200); + } + return (0); +} + +static void * +tr(void *arg __unused) +{ + while (go == -1) + usleep(50); + while (go == 1) { + if (ftruncate(fd, siz) == -1) /* No size change */ + err(1, "truncate)"); + usleep(arc4random() % 1000); + } + return (0); +} + +int +main(int argc, char *argv[]) +{ + struct stat st; + pthread_t tp[13]; + int e, i; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + if ((fd = open(argv[1], O_RDWR)) == -1) + err(1, "open(%s)", argv[1]); + if (fstat(fd, &st) == -1) + err(1, "stat(%s)", argv[1]); + siz = st.st_size; + cp = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (cp == MAP_FAILED) + err(1, "mmap()"); + + go = -1; + pthread_mutex_init(&write_mutex, NULL); + if ((e = pthread_create(&tp[0], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[1], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[2], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[3], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[4], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[5], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[6], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[7], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[8], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[9], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[10], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[11], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[12], NULL, tr, NULL)) != 0) + errc(1, e, "pthread_create"); + + sleep(1); + go = 1; + sleep(60); + go = 0; + for (i = 0; i < (int)(sizeof(tp) / sizeof(tp[0])); i++) + pthread_join(tp[i], NULL); + if (munmap(cp, siz) == -1) + err(1, "munmap()"); + close(fd); +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +mycc -o $serial -Wall -Wextra -O2 ../tools/serial.c || exit 1 +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -s 5g -u $mdstart +newfs -n $newfs_flags /dev/md$mdstart > /dev/null +mount /dev/md$mdstart $mntpoint + +mp2=${mntpoint}2 +mkdir -p $mp2 +mount | grep -q "on $mp2 " && umount -f $mp2 +mount -t nfs -o retrycnt=3 127.0.0.1:$mntpoint $mp2 || exit 1 +sleep .2 + +here=`pwd` +cd $mp2 +$here/../testcases/swap/swap -t 5m -i 20 > /dev/null & +sleep 2 + +size=262144 +$serial file $size +cp file file.orig + +s=0 +/tmp/$prog file || s=1 + +while pgrep -q swap; do pkill swap; done +wait +if ! cmp -s file.orig file; then + od -t x1 file.orig > /var/tmp/$prog.file1 + od -t x1 file > /var/tmp/$prog.file2 + diff /var/tmp/$prog.file1 /var/tmp/$prog.file2 > $log + head -20 $log + rm /var/tmp/$prog.file1 /var/tmp/$prog.file2 + ls -ls file.orig file + s=2 +fi + +cd $here +umount $mp2 +umount $mntpoint +mdconfig -d -u $mdstart +rm -f $serial /tmp/$prog /tmp/$prog.c $log +exit $s diff --git a/tools/test/stress2/misc/mmap47.sh b/tools/test/stress2/misc/mmap47.sh new file mode 100755 index 000000000000..43778a193202 --- /dev/null +++ b/tools/test/stress2/misc/mmap47.sh @@ -0,0 +1,237 @@ +#!/bin/sh + +# +# Copyright (c) 2024 Peter Holm +# +# SPDX-License-Identifier: BSD-2-Clause +# + +# Demonstrate issue described in: +# [Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O + +# This version only uses mapped read/write, read(2)/write(2) and ftruncate(2) + +# Issue seen: + +# 19:50:53 Start test of mmap47.sh +# 19:51:56, elapsed 0 days, 00:01.03 +# 19:53:01, elapsed 0 days, 00:02.08 +# 19:54:06, elapsed 0 days, 00:03.13 +# 19:55:40, elapsed 0 days, 00:04.47 +# 617c617 +# < 0023200 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f +# --- +# > 0023200 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e ee +# 256 -rw------- 1 root wheel 262144 Mar 1 19:56 file +# 256 -rw------- 1 root wheel 262144 Mar 1 19:55 file.orig +# 19:56:44, elapsed 0 days, 00:05.51 +# Failed with exit code 2 after 5 loops of mmap47.sh. +# 19:56 /usr/src/tools/test/stress2/misc $ + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +serial=/tmp/$prog.serial +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } +rpcinfo 2>/dev/null | grep -q mountd || exit 0 + +cat > /tmp/$prog.c < +#include + +#include +#include +#include +#include +#include +#include +#include + +static off_t siz; +static pthread_mutex_t write_mutex; +static int fd, go; +static char *cp; + +static void * +memread(void *arg __unused) +{ + int i; + char c; + + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + c = cp[i]; + if (c != 0x77) /* No unused vars here */ + usleep(arc4random() % 200); + } + return (0); +} + +static void * +memwrite(void *arg __unused) +{ + int i; + char c; + + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + pthread_mutex_lock(&write_mutex); + c = cp[i]; + cp[i] = 0xee; /* This value seems to linger with NFS */ + cp[i] = c; + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 200); + } + return (0); +} + +static void * +wr(void *arg __unused) +{ + off_t pos; + int r, s; + char buf[1024]; + + while (go == -1) + usleep(50); + while (go == 1) { + s = arc4random() % sizeof(buf) + 1; + pos = arc4random() % (siz - s); + pthread_mutex_lock(&write_mutex); + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if ((r = read(fd, buf, s)) != s) { + fprintf(stderr, "r = %d, s = %d, pos = %d\n", r, s, (int)pos); + err(1, "read():2"); + } + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if (write(fd, buf, s) != s) + err(1, "write()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 200); + } + return (0); +} + +/* Both ftruncate() and fdatasync() triggers the problem */ + +static void * +tr(void *arg __unused) +{ + while (go == -1) + usleep(50); + while (go == 1) { +#if 0 + if (ftruncate(fd, siz) == -1) /* No size change */ + err(1, "truncate)"); +#else + if (fdatasync(fd) == -1) + err(1, "fdatasync()"); +#endif + usleep(arc4random() % 1000); + } + return (0); +} + +int +main(int argc, char *argv[]) +{ + struct stat st; + pthread_t tp[31]; + int e, i, idx; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + if ((fd = open(argv[1], O_RDWR)) == -1) + err(1, "open(%s)", argv[1]); + if (fstat(fd, &st) == -1) + err(1, "stat(%s)", argv[1]); + siz = st.st_size; + cp = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (cp == MAP_FAILED) + err(1, "mmap()"); + + go = -1; + pthread_mutex_init(&write_mutex, NULL); + idx = 0; + for (i = 0; i < (int)(arc4random() % 10 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 10 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 10 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + } + if ((e = pthread_create(&tp[idx++], NULL, tr, NULL)) != 0) + errc(1, e, "pthread_create"); + + sleep(1); + go = 1; + sleep(60); + go = 0; + for (i = 0; i < idx; i++) + pthread_join(tp[i], NULL); + if (munmap(cp, siz) == -1) + err(1, "munmap()"); + close(fd); +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +mycc -o $serial -Wall -Wextra -O2 ../tools/serial.c || exit 1 +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -s 5g -u $mdstart +newfs -n $newfs_flags /dev/md$mdstart > /dev/null +mount /dev/md$mdstart $mntpoint + +mp2=${mntpoint}2 +mkdir -p $mp2 +mount | grep -q "on $mp2 " && umount -f $mp2 +mount -t nfs -o retrycnt=3 127.0.0.1:$mntpoint $mp2 || exit 1 +sleep .2 + +here=`pwd` +cd $mp2 +$here/../testcases/swap/swap -t 5m -i 20 > /dev/null & +sleep 2 + +size=262144 +$serial file $size +cp file file.orig + +s=0 +/tmp/$prog file || s=1 + +while pgrep -q swap; do pkill swap; done +wait +if ! cmp -s file.orig file; then + od -t x1 file.orig > /var/tmp/$prog.file1 + od -t x1 file > /var/tmp/$prog.file2 + diff /var/tmp/$prog.file1 /var/tmp/$prog.file2 > $log + head -20 $log + rm /var/tmp/$prog.file1 /var/tmp/$prog.file2 + ls -ls file.orig file + s=2 +fi + +cd $here +umount $mp2 +umount $mntpoint +mdconfig -d -u $mdstart +rm -f $serial /tmp/$prog /tmp/$prog.c $log +exit $s diff --git a/tools/test/stress2/misc/mmap48.sh b/tools/test/stress2/misc/mmap48.sh new file mode 100755 index 000000000000..35da78a98c26 --- /dev/null +++ b/tools/test/stress2/misc/mmap48.sh @@ -0,0 +1,289 @@ +#!/bin/sh + +# +# Copyright (c) 2024 Peter Holm +# +# SPDX-License-Identifier: BSD-2-Clause +# + +# Demonstrate issue described in: +# [Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O + +# This version only uses mapped read/write, read(2)/write(2), fstat(2) and ftruncate(2) + +# Issue seen: +# 20241003 10:04:24 all: mmap48.sh +# 5257c5257 +# < 0244200 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f +# --- +# > 0244200 80 81 82 83 84 85 86 87 88 ee 8a 8b 8c 8d 8e 8f +# 256 -rw------- 1 root wheel 262144 Oct 3 10:05 file +# 256 -rw------- 1 root wheel 262144 Oct 3 10:04 file.orig +# FAIL mmap48.sh exit code 2 + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +serial=/tmp/$prog.serial +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } +rpcinfo 2>/dev/null | grep -q mountd || exit 0 + +cat > /tmp/$prog.c < +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static off_t siz; +static pthread_mutex_t write_mutex; +static int fd, go; +static char *cp; + +#define THREADS 100 + +static void * +memread(void *arg __unused) +{ + int i; + char c; + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + c = cp[i]; + if (c != 0x77) /* No unused vars here */ + usleep(arc4random() % 400); + } + return (NULL); +} + +static void * +memwrite(void *arg __unused) +{ + int i; + char c; + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + i = arc4random() % siz; + pthread_mutex_lock(&write_mutex); + c = cp[i]; + cp[i] = 0xee; /* This value seems to linger with NFS */ + cp[i] = c; + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (NULL); +} + +static void * +wr(void *arg __unused) +{ + off_t pos; + int r, s; + char buf[1024]; + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + s = arc4random() % sizeof(buf) + 1; + pos = arc4random() % (siz - s); + pthread_mutex_lock(&write_mutex); + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if ((r = read(fd, buf, s)) != s) { + fprintf(stderr, "r = %d, s = %d, pos = %d\n", r, s, (int)pos); + err(1, "read():2"); + } + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if (write(fd, buf, s) != s) + err(1, "write()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 200); + } + return (NULL); +} + +/* Both ftruncate() and fdatasync() triggers the problem */ + +static void * +sy(void *arg __unused) +{ + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + if (fdatasync(fd) == -1) + err(1, "fdatasync()"); + usleep(arc4random() % 1000); + } + return (NULL); +} + +static void * +tr(void *arg __unused) +{ + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + if (ftruncate(fd, siz) == -1) /* No size change */ + err(1, "truncate)"); + usleep(arc4random() % 1000); + } + return (NULL); +} + +static void * +fs(void *arg __unused) +{ + struct stat st; + + if (arc4random() % 100 < 10) + return (0); + pthread_set_name_np(pthread_self(), __func__); + while (go == -1) + usleep(50); + while (go == 1) { + if (fstat(fd, &st) == -1) + err(1, "stat()"); + usleep(arc4random() % 1000); + } + return (NULL); +} + +int +main(int argc, char *argv[]) +{ + struct stat st; + pthread_t tp[THREADS]; + int e, i, idx; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + if ((fd = open(argv[1], O_RDWR)) == -1) + err(1, "open(%s)", argv[1]); + if (fstat(fd, &st) == -1) + err(1, "stat(%s)", argv[1]); + siz = st.st_size; + cp = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (cp == MAP_FAILED) + err(1, "mmap()"); + + go = -1; + pthread_mutex_init(&write_mutex, NULL); + idx = 0; + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, fs, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, tr, NULL)) != 0) + errc(1, e, "pthread_create"); + } + for (i = 0; i < (int)(arc4random() % 3 + 1); i++) { + if ((e = pthread_create(&tp[idx++], NULL, sy, NULL)) != 0) + errc(1, e, "pthread_create"); + } *** 59 LINES SKIPPED *** From nobody Thu Oct 3 11:58:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XK9DJ4ykVz5YDVc; Thu, 03 Oct 2024 11:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XK9DJ4Stmz4MP4; Thu, 3 Oct 2024 11:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727956688; h=from:from:reply-to:subject:subject: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/Mi41ywo8d8AU7jtAa3YoRxaGd73/BLP+magnCoHY0=; b=gqF4a459sjt2/i9OR2pW3OVNyxHkzjYu3eNHjjCey/+Pw7MO10ZLT0hElX4E2RWQ+JTuaE QMC2bTV2vLdVUkxx9bw7NAhXTHgoi7gD0eGpSRIPUPLgcnb5XGn2NyZTzyL0eUJa60V7o4 6eNSr9Yo/FZAxVPFBFM+EUki4t8GcAwYqcA8DscQyzrvNTpOpLFiWLGAkXXlMcQy3ljYoB DZHsVW/1py8UBoKIq10obdFA7mapDlakyZIOpZlWR7KhstPjebUIW88tuHymx9hDOzUyHj RvnyEqmXJMwgdOwYikxp5wDk8cBIA6khB+w3wW4nHMoLF0GeGQjFUlKR11yL/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727956688; h=from:from:reply-to:subject:subject: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/Mi41ywo8d8AU7jtAa3YoRxaGd73/BLP+magnCoHY0=; b=DJI9/MYLCnb7sTxvxrPnl11YBryW68nt7PpJTQodFFnagfh73ccoH5bI3rzUQ75Vsa9SPo dVG9QmIj78i01CE2vgdPwv31KrJiQs3wVd32GllB4WPB0EKZfMi3C7q8pUB/TNFejdyP5f Kq2Upz+10QCF+iRjFsgSvzMjZR23TRCAjOJ73ndFgxJhaZpMpGnh5K/e2SGgmjHPV2pEG+ RQmx+GIOMgw74S3UJE/HhtsFblsRbl+FxPG4HGEiLMvo/scDbyLlsETsRyfj/Rb4bLqayG VcRjfcu8TpgH8Dgf8CBeVDLGYkHcjMyFGZjNoVxk2pBcK4qOzOTevIxjSKdHPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727956688; a=rsa-sha256; cv=none; b=Pb9BR3hwVe2a1vGIAydAHX3OoLdtAi0zC63k/kDfqj0TbaJwtO6bKkNFuNWSgnm0wYs3Vm uPwg98LEG4at+Efp1rWZqqPy1yvxtZgu8JULSC/EhrB1/WdXGHJJoaGWZnbMkYS+fSaRbK PkUVqsgq3Ptn2QMREm9xSQm1u1pZ3446hsOqRzwki3BZA+Qb5iovdD1TG/UKx3jfMdmmq5 uBLzuY8ZeMSiXmwB2AD3kz0jq/PYFBUaQPy8LLcvbIDiG+CcS0Wp78YNNP2jZPU9GxZEQ9 m31jjl3RQzOSrnvB/LaU0jA1oSR+LUpiegZfF+uObTpQY/PV7kV/v+fUHkiCkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XK9DJ3vNmzpkV; Thu, 3 Oct 2024 11:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493Bw8sj095467; Thu, 3 Oct 2024 11:58:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493Bw8hi095463; Thu, 3 Oct 2024 11:58:08 GMT (envelope-from git) Date: Thu, 3 Oct 2024 11:58:08 GMT Message-Id: <202410031158.493Bw8hi095463@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: 65074f6f3115 - main - pf: fix double ruleset evaluation for fragments sent to dummynet List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 65074f6f3115a066e5beda31787df626aed03696 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=65074f6f3115a066e5beda31787df626aed03696 commit 65074f6f3115a066e5beda31787df626aed03696 Author: Kajetan Staszkiewicz AuthorDate: 2024-10-03 08:28:57 +0000 Commit: Kristof Provost CommitDate: 2024-10-03 11:49:57 +0000 pf: fix double ruleset evaluation for fragments sent to dummynet The function `pf_setup_pdesc()` handles ruleset evaluation for non-reassembled packets. Having it called before `pf_mtag` is checked for flags `PF_MTAG_FLAG_ROUTE_TO` and `PF_MTAG_FLAG_DUMMYNET` will cause loops for fragmented packets if reassembly is disabled. Move `pd` zeroing and `pf_mtag` extraction from `pf_setup_pdesc()` to a separate function `pf_init_pdesc()` and change the order of function calls: first call `pf_init_pdesc()`, then check if the currently processed packet has been reinjected from dummynet, finally call `pf_setup_pdesc()`. Add functionality of sending UDP packets to `pft_ping.py` with fragmentation support and fix broken IPv6 reassembly. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D46880 --- sys/netpfil/pf/pf.c | 62 +++++++++-------- tests/sys/netpfil/common/pft_ping.py | 107 +++++++++++++++++++++++++++-- tests/sys/netpfil/common/sniffer.py | 13 ++-- tests/sys/netpfil/pf/fragmentation_pass.sh | 43 ++++++++++++ 4 files changed, 188 insertions(+), 37 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index bbed285ab9f8..7edf65ae4a09 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8460,6 +8460,13 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s, return (0); } +static void +pf_init_pdesc(struct pf_pdesc *pd, struct mbuf *m) +{ + memset(pd, 0, sizeof(*pd)); + pd->pf_mtag = pf_find_mtag(m); +} + static int pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, u_short *action, u_short *reason, struct pfi_kkif *kif, struct pf_krule **a, @@ -8469,21 +8476,18 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, { struct mbuf *m = *m0; - memset(pd, 0, sizeof(*pd)); + pd->af = af; pd->dir = dir; 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); if (pd->pf_mtag && pd->pf_mtag->dnpipe) { pd->act.dnpipe = pd->pf_mtag->dnpipe; pd->act.flags = pd->pf_mtag->dnflags; } - pd->af = af; - switch (af) { #ifdef INET case AF_INET: { @@ -8918,30 +8922,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 return (PF_DROP); } - if (pf_setup_pdesc(af, dir, &pd, m0, &action, &reason, kif, &a, &r, - &s, &ruleset, &off, &hdrlen, inp, default_actions) == -1) { - if (action != PF_PASS) - pd.act.log |= PF_LOG_FORCE; - goto done; - } - m = *m0; - - switch (af) { -#ifdef INET - case AF_INET: - h = mtod(m, struct ip *); - ttl = h->ip_ttl; - break; -#endif -#ifdef INET6 - case AF_INET6: - h6 = mtod(m, struct ip6_hdr *); - ttl = h6->ip6_hlim; - break; -#endif - default: - panic("Unknown af %d", af); - } + pf_init_pdesc(&pd, m); if (pd.pf_mtag != NULL && (pd.pf_mtag->flags & PF_MTAG_FLAG_ROUTE_TO)) { pd.pf_mtag->flags &= ~PF_MTAG_FLAG_ROUTE_TO; @@ -8974,6 +8955,31 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 return (PF_PASS); } + if (pf_setup_pdesc(af, dir, &pd, m0, &action, &reason, kif, &a, &r, + &s, &ruleset, &off, &hdrlen, inp, default_actions) == -1) { + if (action != PF_PASS) + pd.act.log |= PF_LOG_FORCE; + goto done; + } + m = *m0; + + switch (af) { +#ifdef INET + case AF_INET: + h = mtod(m, struct ip *); + ttl = h->ip_ttl; + break; +#endif +#ifdef INET6 + case AF_INET6: + h6 = mtod(m, struct ip6_hdr *); + ttl = h6->ip6_hlim; + break; +#endif + default: + panic("Unknown af %d", af); + } + if (__predict_false(ip_divert_ptr != NULL) && ((mtag = m_tag_locate(m, MTAG_PF_DIVERT, 0, NULL)) != NULL)) { struct pf_divert_mtag *dt = (struct pf_divert_mtag *)(mtag+1); diff --git a/tests/sys/netpfil/common/pft_ping.py b/tests/sys/netpfil/common/pft_ping.py index d8aafc884265..1caa26abe5f6 100644 --- a/tests/sys/netpfil/common/pft_ping.py +++ b/tests/sys/netpfil/common/pft_ping.py @@ -103,7 +103,7 @@ def send_icmp_ping(send_params): ip6 = prepare_ipv6(send_params) icmp = sp.ICMPv6EchoRequest(data=sp.raw(build_payload(send_length))) if send_frag_length: - for packet in sp.fragment(ip6 / icmp, fragsize=send_frag_length): + for packet in sp.fragment6(ip6 / icmp, fragSize=send_frag_length): packets.append(ether / packet) else: packets.append(ether / ip6 / icmp) @@ -141,6 +141,39 @@ def send_tcp_syn(send_params): sp.sendp(req, iface=send_params['sendif'], verbose=False) +def send_udp(send_params): + LOGGER.debug(f'Sending UDP ping') + packets = [] + send_length = send_params['length'] + send_frag_length = send_params['frag_length'] + ether = sp.Ether() + if ':' in send_params['dst_address']: + ip6 = prepare_ipv6(send_params) + udp = sp.UDP( + sport=send_params.get('sport'), dport=send_params.get('dport'), + ) + raw = sp.Raw(load=build_payload(send_length)) + if send_frag_length: + for packet in sp.fragment6(ip6 / udp / raw, fragSize=send_frag_length): + packets.append(ether / packet) + else: + packets.append(ether / ip6 / udp / raw) + else: + ip = prepare_ipv4(send_params) + udp = sp.UDP( + sport=send_params.get('sport'), dport=send_params.get('dport'), + ) + raw = sp.Raw(load=build_payload(send_length)) + if send_frag_length: + for packet in sp.fragment(ip / udp / raw, fragsize=send_frag_length): + packets.append(ether / packet) + else: + packets.append(ether / ip / udp / raw) + + for packet in packets: + sp.sendp(packet, iface=send_params['sendif'], verbose=False) + + def send_ping(ping_type, send_params): if ping_type == 'icmp': send_icmp_ping(send_params) @@ -149,8 +182,10 @@ def send_ping(ping_type, send_params): ping_type == 'tcp3way' ): send_tcp_syn(send_params) + elif ping_type == 'udp': + send_udp(send_params) else: - raise Exception('Unspported ping type') + raise Exception('Unsupported ping type') def check_ipv4(expect_params, packet): @@ -345,6 +380,30 @@ def check_tcp(expect_params, packet): return True +def check_udp(expect_params, packet): + expect_length = expect_params['length'] + udp = packet.getlayer(sp.UDP) + if not udp: + LOGGER.debug('Packet is not UDP!') + return False + raw = packet.getlayer(sp.Raw) + if not raw: + LOGGER.debug('Packet contains no payload!') + return False + if raw.load != build_payload(expect_length): + LOGGER.debug(f'Payload magic does not match len {len(raw.load)} vs {expect_length}!') + return False + orig_chksum = udp.chksum + udp.chksum = None + newpacket = sp.Ether(sp.raw(packet[sp.Ether])) + new_chksum = newpacket[sp.UDP].chksum + if new_chksum and orig_chksum != new_chksum: + LOGGER.debug(f'Wrong UDP checksum {orig_chksum}, expected {new_chksum}!') + return False + + return True + + def check_tcp_syn_request_4(expect_params, packet): if not check_ipv4(expect_params, packet): return False @@ -391,6 +450,14 @@ def check_tcp_3way_4(args, packet): return False +def check_udp_request_4(expect_params, packet): + if not check_ipv4(expect_params, packet): + return False + if not check_udp(expect_params, packet): + return False + return True + + def check_tcp_syn_request_6(expect_params, packet): if not check_ipv6(expect_params, packet): return False @@ -437,6 +504,13 @@ def check_tcp_3way_6(args, packet): return False +def check_udp_request_6(expect_params, packet): + if not check_ipv6(expect_params, packet): + return False + if not check_udp(expect_params, packet): + return False + return True + def check_tcp_syn_request(args, packet): expect_params = args['expect_params'] src_address = expect_params.get('src_address') @@ -481,6 +555,21 @@ def check_tcp_3way(args, packet): return check_tcp_3way_4(args, packet) +def check_udp_request(args, packet): + expect_params = args['expect_params'] + src_address = expect_params.get('src_address') + dst_address = expect_params.get('dst_address') + if not (src_address or dst_address): + raise Exception('Source or destination address must be given to match the tcp syn request!') + if ( + (src_address and ':' in src_address) or + (dst_address and ':' in dst_address) + ): + return check_udp_request_6(expect_params, packet) + else: + return check_udp_request_4(expect_params, packet) + + def setup_sniffer( recvif, ping_type, sniff_type, expect_params, defrag, send_params, ): @@ -494,8 +583,10 @@ def setup_sniffer( checkfn = check_tcp_syn_reply elif ping_type == 'tcp3way' and sniff_type == 'reply': checkfn = check_tcp_3way + elif ping_type == 'udp' and sniff_type == 'request': + checkfn = check_udp_request else: - raise Exception('Unspported ping or sniff type') + raise Exception('Unspported ping and sniff type combination') return Sniffer( {'send_params': send_params, 'expect_params': expect_params}, @@ -513,7 +604,7 @@ def parse_args(): parser.add_argument('--to', required=True, help='The destination IP address for the ping request') parser.add_argument('--ping-type', - choices=('icmp', 'tcpsyn', 'tcp3way'), + choices=('icmp', 'tcpsyn', 'tcp3way', 'udp'), help='Type of ping: ICMP (default) or TCP SYN or 3-way TCP handshake', default='icmp') parser.add_argument('--fromaddr', @@ -612,7 +703,13 @@ def main(): sniffers = [] if send_params['frag_length']: - defrag = True + if ( + (send_params['src_address'] and ':' in send_params['src_address']) or + (send_params['dst_address'] and ':' in send_params['dst_address']) + ): + defrag = 'IPv6' + else: + defrag = 'IPv4' else: defrag = False diff --git a/tests/sys/netpfil/common/sniffer.py b/tests/sys/netpfil/common/sniffer.py index 14305a37278c..583b27d34ca6 100644 --- a/tests/sys/netpfil/common/sniffer.py +++ b/tests/sys/netpfil/common/sniffer.py @@ -56,14 +56,19 @@ class Sniffer(threading.Thread): def run(self): self.packets = [] - if self._defrag: - # With fragment reassembly we can't stop the sniffer after catching - # the good packets, as those have not been reassembled. We must - # wait for sniffer to finish and check returned packets instead. + # With fragment reassembly we can't stop the sniffer after catching + # the good packets, as those have not been reassembled. We must + # wait for sniffer to finish and check returned packets instead. + if self._defrag == 'IPv4': self.packets = sp.sniff(session=sp.IPSession, iface=self._recvif, timeout=self._timeout, started_callback=self._startedCb) for p in self.packets: self._checkPacket(p) + elif self._defrag == 'IPv6': + self.packets = sp.sniff(session=sp.DefaultSession, iface=self._recvif, + timeout=self._timeout, started_callback=self._startedCb) + for p in sp.defragment6(self.packets): + self._checkPacket(p) else: self.packets = sp.sniff(iface=self._recvif, stop_filter=self._checkPacket, timeout=self._timeout, diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index d505accba5f2..99d2c827b239 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -553,6 +553,48 @@ dummynet_nat_cleanup() pft_cleanup } +atf_test_case "dummynet_fragmented" "cleanup" +dummynet_fragmented_head() +{ + atf_set descr 'Test dummynet on NATed fragmented traffic' + atf_set require.user root +} + +dummynet_fragmented_body() +{ + pft_init + dummynet_init + + # No test for IPv6. IPv6 fragment reassembly can't be disabled. + setup_router_dummy_ipv4 + + jexec router dnctl pipe 1 config delay 1 + + pft_set_rules router \ + "set reassemble no" \ + "block" \ + "pass inet6 proto icmp6 icmp6-type { neighbrsol, neighbradv }" \ + "pass in on ${epair_tester}b inet proto udp dnpipe (1, 1)" \ + "pass out on ${epair_server}a inet proto udp" \ + + ping_dummy_check_request exit:0 --ping-type=udp --send-length=10000 --send-frag-length=1280 + + rules=$(mktemp) || exit 1 + jexec router pfctl -qvsr > $rules + + # Count that fragmented packets have hit the rule only once and that + # they have not created states. There is no stateful firewall support + # for fragmented packets. + grep -A2 'pass in on epair0b inet proto udp all keep state dnpipe(1, 1)' $rules | + grep -qE 'Packets: 8\s+Bytes: 10168\s+States: 0\s+' || + atf_fail "Fragmented packets not counted correctly" +} + +dummynet_fragmented_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "too_many_fragments" @@ -566,4 +608,5 @@ atf_init_test_cases() atf_add_test_case "reassemble_slowpath" atf_add_test_case "dummynet" atf_add_test_case "dummynet_nat" + atf_add_test_case "dummynet_fragmented" } From nobody Thu Oct 3 13:52:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKCmL4815z5YLkd; Thu, 03 Oct 2024 13:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKCmL34hJz4V5j; Thu, 3 Oct 2024 13:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727963554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CyyJMBCKP0bn19SQhEFSE4ZgHdtJ2XsrTfrcX8oH7PQ=; b=TNSbFrIkUJBsyt6Y8a0orRnz+XbypVJdLU/7b11FJBVK5wLo99xSxE7eZwWJVCTlXZu/yq NobYj5lhl/R558BJgDmsoDk8XSyuUKT6E5IzLsTxD5PS7o6lt5CGDW5FLNvEavkWNU1tfb HhP/02fPAMn8ckPD66oaqkNQBs8HE43QW6Z90KxFpLiTRL1W9gbWHybIKRA0pnQyA5IL61 rk6Yp5NddsVX2arWEHHYgMR3d5SOIDQK1vm7Y3D8pJXqVHVIHfT+jzrFcBWz4UnYimdc5i g1bzF1FuuZ0UXJrz7pKcCqFokWWf0goPsq2nx9Cg44OqNN5FnC9TdP1PvEaBow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727963554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CyyJMBCKP0bn19SQhEFSE4ZgHdtJ2XsrTfrcX8oH7PQ=; b=jegy3pEpopMiEIxYLFsYCOKfDUB3/HBpQzS7kgVY/+UR0dyor0DoRwyCleK2nxvk0Zk57W K4+tccMSqH2xcoGm6Jmu5vuIoVY0UzZgo/9Z9C0gNTFaFshCUrjfirXEsNuFGQ1mgCIa6f LQ51rMClZjJpbanS9rv2C7ubuagr1AcrYgqAoZqoqwdYWZnneArvnbQvzYZaa+LG7DGHaA xFNogQEcOLYbmlfLYpJGpccuiCa0JhX8+XbYyXOVonWTCzBw/jmVxlHt401mRzt7oLhyq0 NfSVlDygA7LoR1Me6xwzdzue/uw5eRoak5/94PXFjgAYmiTkozdwtDOALTNkzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727963554; a=rsa-sha256; cv=none; b=aIyy1hd/3JgtdUTssGpfHJx1a5uuQ3UBGqNNroujNAqWcHMrr2sLPtEIewwZJeA3o5Bbtq GAmu9UqdWUxEr3JOsPDT5fTDD3ffbhYuaZ22RHYQ3AMvyDCqWiZlJQwfNTdLPlsxFLML5l ksdW330WiRzMmVqFC+MFvl3FYIWI+ig3CH8xzderclOV/bs/D4r9bREi/CiqvG12GOrALr moclHGVThfw5ExvVzQLV7uKOUad3YdrhxuzV1qeLc0ugvezKlLZCe9WOQKOTPJ4OYetVyn t84q1Syzi9/736o3EyVKzW6bJZroi6/n1xz6pAsSAVORBSYwlo45/bqRbiQoCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKCmL2h71zstX; Thu, 3 Oct 2024 13:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493DqYgF097300; Thu, 3 Oct 2024 13:52:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493DqYH4097297; Thu, 3 Oct 2024 13:52:34 GMT (envelope-from git) Date: Thu, 3 Oct 2024 13:52:34 GMT Message-Id: <202410031352.493DqYH4097297@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: 79a0d14fa05c - main - loader: dosfs fails to access directory data with large cluster number List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79a0d14fa05c75038caa52099289effb85732f88 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=79a0d14fa05c75038caa52099289effb85732f88 commit 79a0d14fa05c75038caa52099289effb85732f88 Author: Toomas Soome AuthorDate: 2024-10-03 11:54:11 +0000 Commit: Toomas Soome CommitDate: 2024-10-03 13:51:59 +0000 loader: dosfs fails to access directory data with large cluster number fsize is using 2 bytes for cluster number, but with fat32 we actually do have 4 bytes and with large disks the high bytes will be in use. illumos issue: https://www.illumos.org/issues/16821 Sponsored by: MNX Cloud, Inc. MFC after: 1 week --- stand/libsa/dosfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/dosfs.c b/stand/libsa/dosfs.c index 7fbbf65989ae..2ee95bf2c601 100644 --- a/stand/libsa/dosfs.c +++ b/stand/libsa/dosfs.c @@ -815,7 +815,7 @@ fsize(DOS_FS *fs, DOS_DE *de) int n; if (!(size = cv4(de->size)) && de->attr & FA_DIR) { - if (!(c = cv2(de->clus))) { + if (!(c = stclus(fs->fatsz, de))) { size = fs->dirents * sizeof(DOS_DE); } else { if ((n = fatcnt(fs, c)) == -1) From nobody Thu Oct 3 15:07:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKFQk26Dhz5YQys; Thu, 03 Oct 2024 15:07:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKFQk1DWkz4f0S; Thu, 3 Oct 2024 15:07:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727968046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VBPrZSyCIKoDvfO8rhPX6tLoHihoprHYWjqbpwLnBo=; b=qWGY3Z0pInOKzpEqgxEWcICZ9Ddz5YgC5OOfBayeX0ajpFxPvvxfvK6RGw/bo0kt3BgAz/ sWlGyyWg71ZsVc82qJD8pDysFRKaUB4ko/E4a8Flu2tK90fiGowTG6DVm6y254IMEBV0Zl NDVX+5YW0zU3VAywSqtmkvQqqOFGawvfTHoHMVYxGvXP2vlxqZYShlrEKQVcYzkuCKFsKu Sn9hJ5d5IcaoBcf18T2iHw0J/cx3uH6l+c9ubwiCkF/tqt0vYEEE/qezjdZ6YI7VdLe9fJ f7okmG1ka7mHsLmoxilwiBBubPZXmoqC/CJaWsbRfdfAJfj9CIm4OKte13BW3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727968046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VBPrZSyCIKoDvfO8rhPX6tLoHihoprHYWjqbpwLnBo=; b=ZPDg0A5pJgZ4BCITLid3iDWKheZxufpUC3hLUcahvbHGWNfIyVF7RGjKmonGEr3GBUuUdd +r3gmNwxnzCoT4+h29XanzQAWmEaTzvmK/4p6HYi3XeAPj4mHt5MuFKSP8VSc8rYy3Lhit il6E2ezcEr8TTtytQFRXRKcjL+6a0s4RRwjfzyiUSO+EZ3FYhyoWH32TZnbyRA02kjomVK Y2FKg8Imx5x1sqpB5usrUQFXiNiFo4+mxrMW5/ApipPJZvK6EqGllFq7qC6DEtrYOk0/aq 8I4SWCctrM383viiAKUnhnREOVSXnWVquIrZQVRQUNA0LSowm+JqBXkWeL8TvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727968046; a=rsa-sha256; cv=none; b=mJTxOoteMg6y0VapywDU0+f1sdGGkGAdVC0sjm8KstJ8396w/SaTO0M2KTIrbxxfYBlzZt dTZJ/AM1nmDzbdol1hwCsg+mYIAZlEgUe7VihYOzSUQUlk0rVvuwbtaQ+sMYI//FOKNXoL AwlxKWiXlFtVl3Vm/XJzAtBYipB5CBSfvdpMS4zhwGvEXwqYRFXMFhnVr/mcXEGJZ3ZgLs JuLr7SLfZBBf/iVzpri8RaMWStULRDf4cDa1s/JsL28tkBkAXtam/1iMJ4Ge/kfD+6xfZp XzS5OnaWjdzBOciJWXhtXZnIl1r35xOtYLEJjev43I80UMOoGeCd8T5ExuGD7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKFQk0GD2zw3y; Thu, 3 Oct 2024 15:07:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493F7PdZ018714; Thu, 3 Oct 2024 15:07:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493F7Pac018711; Thu, 3 Oct 2024 15:07:25 GMT (envelope-from git) Date: Thu, 3 Oct 2024 15:07:25 GMT Message-Id: <202410031507.493F7Pac018711@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 5b21d4ad060a - main - Ensure that soft updates are not enabled by default when using mdmfs(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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b21d4ad060acb06c72e0458daebec9bcbf0cefd Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=5b21d4ad060acb06c72e0458daebec9bcbf0cefd commit 5b21d4ad060acb06c72e0458daebec9bcbf0cefd Author: Kirk McKusick AuthorDate: 2024-10-03 15:05:42 +0000 Commit: Kirk McKusick CommitDate: 2024-10-03 15:06:28 +0000 Ensure that soft updates are not enabled by default when using mdmfs(8) When soft updates began being enabled by default that change carried over to mdmfs(8) which does not want or need them. This fix ensures that they are only enabled in mdmfs(8) when requested with the -U flag. Reported by: Ivan Rozhuk Tested by: Ivan Rozhuk PR: 279308 MFC after: 1 week --- include/paths.h | 3 +++ sbin/mdmfs/mdmfs.c | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/paths.h b/include/paths.h index 86900664230b..f8861ea4e5a8 100644 --- a/include/paths.h +++ b/include/paths.h @@ -89,6 +89,7 @@ #define _PATH_SENDMAIL "/usr/sbin/sendmail" #define _PATH_SHELLS "/etc/shells" #define _PATH_TTY "/dev/tty" +#define _PATH_TUNEFS "/sbin/tunefs" #define _PATH_UNIX "don't use _PATH_UNIX" #define _PATH_UFSSUSPEND "/dev/ufssuspend" #define _PATH_VI "/usr/bin/vi" @@ -138,6 +139,8 @@ __END_DECLS #define _PATH_REBOOT "/rescue/reboot" #undef _PATH_RM #define _PATH_RM "/rescue/rm" +#undef _PATH_TUNEFS +#define _PATH_TUNEFS "/rescue/tunefs" #undef _PATH_VI #define _PATH_VI "/rescue/vi" #undef _PATH_WALL diff --git a/sbin/mdmfs/mdmfs.c b/sbin/mdmfs/mdmfs.c index 93fa9e8ff0c0..69149b3fb465 100644 --- a/sbin/mdmfs/mdmfs.c +++ b/sbin/mdmfs/mdmfs.c @@ -104,7 +104,7 @@ main(int argc, char **argv) bool detach, softdep, autounit, newfs; const char *mtpoint, *size_arg, *skel, *unitstr; char *p; - int ch, idx; + int ch, idx, rv; void *set; unsigned long ul; @@ -357,6 +357,13 @@ main(int argc, char **argv) do_mdconfig_attach(mdconfig_arg, mdtype); if (newfs) do_newfs(newfs_arg); + if (!softdep) { + rv = run(NULL, "%s %s /dev/%s%d", _PATH_TUNEFS, + "-n disable", mdname, unit); + if (rv) + errx(1, "tunefs exited %s %d", run_exitstr(rv), + run_exitnumber(rv)); + } do_mount_md(mount_arg, mtpoint); } From nobody Thu Oct 3 16:07:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKGmV6nKkz5YVSM; Thu, 03 Oct 2024 16:07: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKGmV6GQcz4lpN; Thu, 3 Oct 2024 16:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727971674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A+Jyu1AUKzYZVanX1iYy/V6cq8fDr2ytEIew6k6bJWg=; b=BejUYWcXGs0vFJh1lNkBTb3mKRsRugmLkm2fMO1LQ8EL9dOrnZLDHvOs6+G9Vt/dK3Jevs 3LQ2ZvCS6E/eM/GK/D85JZncf5K/qKvKQXYtohHixTnSHNA9dj+tL4hsar25AYoXuUNDaF Qne2W75CkIEswaAJXZH8xUaLxG3WQ6A8x9IV8nkDMC1NRrGBzL7kyLum0Q1Et4We2yl0cE ra0tqmOtUaagoTTLiLrATWn9XInRxU+6sQl8rl6lqWfFY7hdrAU3PXYoXDPa2b/gUN62AR lsLRpFrZDQZLdwV2UOajy95oLuaC38a9sbXvOZ9qKw2ctV8/qwPmfT6GAt7mQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727971674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A+Jyu1AUKzYZVanX1iYy/V6cq8fDr2ytEIew6k6bJWg=; b=DMH/TC4vqJTJDM444st6fohGiiW8dvTBnHUUP38XUihtmf8V0rg/JlvbOwn249l0cQHGJ0 JsYz7KIYPHhHqdcERWRrLpvNttVc7gDxIDgf3kOvIWwqrrmvSsCGFNZjuknd7MlDH090Mq rLSG0G1AeCDNAtCYFxMeeVKDI9qQ/17IOod/1QFXQTpTmC2MAtVwYYvMAfhqldiQi1MtHS 6rPgXyevQFaWrUjI+irAY9SGFT63IqTXofwxiYGXcV3gfmPTYl8dp//LUqUgwLhQ/fegYG 0jlCAoDy2YWvJN5K/fOANNZF5Noh1oLOE6nJuX40mhnhl6deR2DWhZXfzWT2gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727971674; a=rsa-sha256; cv=none; b=ZOKaX0SuzyfBbDlbSajiypg5s6cszU5xTMS6d4EAHKnvCnpvOXFWvaDl/yzhFoFTVzyygK RUIM7URrx2xRGR13zmZnkjyl00MTFbW3xIdYeQrStXlaFfJsNbdp4yuC3bZKdDR84uD2s8 t+5JgVmNvuZwNvEHEVix4SNjo6NXUGfGeSnvxAh07in4t5HvfkWRbYMxiW33sQC4TB43Xm d6FilGzelw6jYCVAbKvvJOZNG1fRPisCuFRflNiu3mram7UgPkcBKUjNAGHIE7xVpjNm64 CdAqMeKyHrCJHtZ/6w89DrMpCiqJyStBN8SaCk+sKlbtk5AMI0g2HUaANV1Pkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKGmV5sYMzx5T; Thu, 3 Oct 2024 16:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493G7s3K020329; Thu, 3 Oct 2024 16:07:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493G7sZI020326; Thu, 3 Oct 2024 16:07:54 GMT (envelope-from git) Date: Thu, 3 Oct 2024 16:07:54 GMT Message-Id: <202410031607.493G7sZI020326@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: 59f5f100b774 - main - openzfs: Reduce local diffs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 59f5f100b774de8824fb2fc1a8a11a93bbc2dafd Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=59f5f100b774de8824fb2fc1a8a11a93bbc2dafd commit 59f5f100b774de8824fb2fc1a8a11a93bbc2dafd Author: John Baldwin AuthorDate: 2024-10-03 16:07:43 +0000 Commit: John Baldwin CommitDate: 2024-10-03 16:07:43 +0000 openzfs: Reduce local diffs These are all local diffs that have no functional change. Reviewed by: mav, emaste Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D46530 --- sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_powerpc.h | 2 -- sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_x86.h | 1 - sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_powerpc.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_powerpc.h index 2fd806e1a0b5..cf3c712c6af2 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_powerpc.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_powerpc.h @@ -49,9 +49,7 @@ #include #include -/* FreeBSD doesn't support floating point on powerpc kernel yet */ #define kfpu_allowed() 0 - #define kfpu_initialize(tsk) do {} while (0) #define kfpu_begin() do {} while (0) #define kfpu_end() do {} while (0) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_x86.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_x86.h index 6b4f4011ee48..8e93b558dfe8 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_x86.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_x86.h @@ -40,7 +40,6 @@ #define kfpu_allowed() 1 #define kfpu_initialize(tsk) do {} while (0) - #define kfpu_begin() { \ if (__predict_false(!is_fpu_kern_thread(0))) \ fpu_kern_enter(curthread, NULL, FPU_KERN_NOCTX);\ diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c index 9e8a4d62f641..4d539461886b 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c @@ -686,7 +686,7 @@ zfsctl_root_readdir(struct vop_readdir_args *ap) * The check below facilitates the idiom of repeating calls until the * count to return is 0. */ - if (zfs_uio_offset(&uio) == 3 * sizeof(entry)) { + if (zfs_uio_offset(&uio) == 3 * sizeof (entry)) { return (0); } From nobody Thu Oct 3 17:08:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKJ6m4kKYz5YYZn; Thu, 03 Oct 2024 17:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKJ6m4DHRz4sdb; Thu, 3 Oct 2024 17:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727975328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4XnHe64b29DVM6uJcgf/ifrF1+cVjd4gV+mgynxgkI0=; b=WnVYM4pORbQsxirB0IZEdGt0iNrhyLwS8cfATfhErjPH1jZ9TGuurBN7T78kovTS/Zst7H S7lv0bdYJmDsH2vrxHF7Cpu0zBZu2Nv+mCbiGMWD/uU6YpHfjEbCr33Hbic1/sHnM1PYuS Oh4foQuSvUGjAIlaklrVKdCCQ8KMBS/gv/K8QXInJaLcxWIGc5t2xpOX+t/dxlq2Q+q+oy 93lzCXbozgc3Nob7RlooUyWLOKwwq2ifPOTmJ8tE5JtLCWhD1GNjx6BQAQc90Ldr9vZG+1 T7lMN1KdSE0RhaNvISi7/YxKKdzsgQUBa6NNjwYPY/cg2pKn7AaFaOFwxduVDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727975328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4XnHe64b29DVM6uJcgf/ifrF1+cVjd4gV+mgynxgkI0=; b=GaXHp4sQB0yEH54pAcPQTD/LjLBrEKOrrXwO4UEGVdXVz6JF3GKyZiMXF2IJGAIeA1J+9F 0ZSaiREkeIHJeVvYcWszbyhfiHKcQ90sw1UioXTNzaMBXTY6FzGtQHZt5u8nQZImwc4tLl 8MzUDxWliYx07oEjzMYpxlwAXLaEFST5rLqmu+EMq3drpM/ILis2A+VTwjVYOtJzG296KD 90xKCXcWRXoc/UFdaH6K67yI/y4ziL43KVtds2DgUeeGBGfkevW6o8IfrwXJBka0VwLxpD JBByoz011Ql3d1j6V0vcJvqTUkYGIeUBfmk9o94nRirf0Y0vF4TFFWHprWqhdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727975328; a=rsa-sha256; cv=none; b=kbVWKxw+eh0zDcJjTrrU5JVDoz+k13Q9OEXQodJmofP0UJpW67wzHd+RVLD59bLpSwRMiS 0kMRe8XqmaqN3OMinttTdbZRXAJn5yQ+6GCeSW4fL9Wf55cnVPbnxrkw336BQsKSnHC9Ok 2bgxWB8zC8W2qgb3sMcqGSQRZfEHTnxqgBAwNKHqbGV8eR8naFufQTgVjeJoj+I/bck+TE 16DVABQAJMpFd2HLkDwLxEirZkFggr4LNmVMTBl+kVOLQCMtLS5eVq8ekc1kg2N12XNXPH Ww1+A//yqMI8iYZcOXZX9nFZ1NYMOGfEKNGlWkBGevaQea71W7NNkpZlVvY2Gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKJ6m3qxWzywb; Thu, 3 Oct 2024 17:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493H8mx3021562; Thu, 3 Oct 2024 17:08:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493H8mVu021559; Thu, 3 Oct 2024 17:08:48 GMT (envelope-from git) Date: Thu, 3 Oct 2024 17:08:48 GMT Message-Id: <202410031708.493H8mVu021559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 0f1d5bfb7297 - main - sysent: fix a couple more do-no-edit comments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f1d5bfb7297aca850a8c499a7b7fd0fd440cd50 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=0f1d5bfb7297aca850a8c499a7b7fd0fd440cd50 commit 0f1d5bfb7297aca850a8c499a7b7fd0fd440cd50 Author: Brooks Davis AuthorDate: 2024-10-03 16:59:32 +0000 Commit: Brooks Davis CommitDate: 2024-10-03 17:01:30 +0000 sysent: fix a couple more do-no-edit comments Add blank like after comment to align with upcoming refactor for makesysent.lua. Fixes: 0d490c6a445a sysent: make header comments more consistent --- sys/tools/makesyscalls.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua index 5e6c40c801d4..054e19e24d43 100644 --- a/sys/tools/makesyscalls.lua +++ b/sys/tools/makesyscalls.lua @@ -1547,6 +1547,7 @@ write_line("libsysmap", string.format([[/* * * DO NOT EDIT-- this file is automatically %s. */ + FBSDprivate_1.0 { ]], generated_tag)) @@ -1557,6 +1558,7 @@ write_line("libsys_h", string.format([[/* * * DO NOT EDIT-- this file is automatically %s. */ + #ifndef __LIBSYS_H_ #define __LIBSYS_H_ From nobody Thu Oct 3 17:08:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKJ6n5SmWz5YYlG; Thu, 03 Oct 2024 17:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKJ6n4nbdz4sb2; Thu, 3 Oct 2024 17:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727975329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fspuXci2qgD4w1FCuBClfnBUyzixQEfr0kqXuGtU8qY=; b=CB00pEi4M+kr882Anesxi0xKPIl7jMvq7ubtSQoFpnC5zDs/4bLRpc+lxo9PVLEiNjREXR 1Yv0jHcf/vJLP4dXGdDIF/5cTqpAyyNtFo4/4K2gBtr+DQj4ICYshbLrM87Q7eE7M7ddqr nhmOF/WhZmmVeHEM06IPI4oUj+CY0Zc/+0tLCHYQ1vOaCpy5jta2FWaMRS0SHAH6x185qg KfJ5DgORL7kfCN2paONA67ls8+9/Uv/fjLDHhhCkxOsxWeeJKkpSnC1ghYXPXQjE6Fe2m3 KZmJ56J6wADPy6vIgHW/mnxjhnBFVZLkjR7e3MgTLUuqB7Ggmxl8wRhLQilYVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727975329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fspuXci2qgD4w1FCuBClfnBUyzixQEfr0kqXuGtU8qY=; b=V532FEOr7rW3IqCgOc09hWEE5SsrA91aGEuReYdNWnyLoqQaQNamw43LHyw06txsFeM/w1 x/ZElX1XdT8H6uPUaRBxFIEDL4qIXVhleyPmg+RG2E/1ZWVBQ4dCUDCRReWX89iWRxtHNY OG7do4Dp/SIJ8jsVKFaGv/uUltmAAKlvjwbYZapkytPTNSfdHJonFwdZvBrLFl0ImseQiY oSVNwzJ0nmb/wbZfdNNXZNiHo1wfwU43lCcNz1wdrScvPpLtB30VOTJi/o7dcsliyOJMp3 rUiiB4OazHTy/qwmLV3kdmtPYjmd3sQBZuhCP/i/T2WEwJmXhtMXCmvI0ZibnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727975329; a=rsa-sha256; cv=none; b=RA2waZucKj8+NCOQRi8buxFcvmzIjfzdLg/7oMCC9UoTHKRE9//IAkoG1e8GGEP06Zfhli 3sJ6WgkGz08bHaneFubHgwCIGQk+4hLb+OizMc0fHeFn1yMS/g+6LyaA+Qfy+R/FLExuuK eWq+ZlkMJ1698xFGTr/r7fh7ZvWgfGBiaexhDyqW6pNdnwnx7PU9judSjiv7SLTmH9KJlG 8fHUUcH3zcyb8351JaJwYxYOR6u3gXVORsaWPk+sGkCKJ285zUanOOIvQ4dAxnBr6hh3k2 ncODdir9sQQozaN7JRO1S4TsT/zP4WKEquASjMQDhkFmpRidLNMel0zI6Jq+cQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKJ6n4P6yzyM8; Thu, 3 Oct 2024 17:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493H8nNT021604; Thu, 3 Oct 2024 17:08:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493H8n3Y021601; Thu, 3 Oct 2024 17:08:49 GMT (envelope-from git) Date: Thu, 3 Oct 2024 17:08:49 GMT Message-Id: <202410031708.493H8n3Y021601@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: a57e881d3297 - main - sysent: regen comments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a57e881d3297eb1d37d0edeee28362a23824a1d4 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a57e881d3297eb1d37d0edeee28362a23824a1d4 commit a57e881d3297eb1d37d0edeee28362a23824a1d4 Author: Brooks Davis AuthorDate: 2024-10-03 17:00:49 +0000 Commit: Brooks Davis CommitDate: 2024-10-03 17:01:30 +0000 sysent: regen comments --- lib/libsys/_libsys.h | 1 + lib/libsys/syscalls.map | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h index fcb10ad40c8e..00d966661786 100644 --- a/lib/libsys/_libsys.h +++ b/lib/libsys/_libsys.h @@ -5,6 +5,7 @@ * * DO NOT EDIT-- this file is automatically @generated. */ + #ifndef __LIBSYS_H_ #define __LIBSYS_H_ diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map index 334077c6bb2f..62a2a2005262 100644 --- a/lib/libsys/syscalls.map +++ b/lib/libsys/syscalls.map @@ -3,6 +3,7 @@ * * DO NOT EDIT-- this file is automatically @generated. */ + FBSDprivate_1.0 { _syscall; __sys_syscall; From nobody Thu Oct 3 17:50:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKK2W2cqTz5Ybnj; Thu, 03 Oct 2024 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKK2W0qGVz4vwc; Thu, 3 Oct 2024 17:50:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nqykDUdJG9HVxNZbbPVloHv4aeBeaKChjhOGdlLIQM=; b=MdknsbOqOQyNC4axwBDg/5yrxTXfrpCESFSz+MEboVNEqIbjiXKyumQ0iXmExS//TFLHqx XzhxnoUY5PoNee4yDS+VDwnqDC4KXl5GPBFGQz5OItTCnY5hqZmcMPbbkHKgl6OcRtfyAf Kcr2Gjqqe1Tramrls8CfUmGdAfg7Jxa9sOfIpI5Ep5k261OxaSi2tIbQO2wt9F+veIsDKQ 2HwtwoolBtRl1ooxK08lWGJqocyQ1x0yQ2u95raiFwgFznYd24CQsVsZxXyZwaORpFKuoY YQPzAfrgcgwhTjSOLFEOBfkYFHTsjdSwiJqvkKvnupgkxv2f8t1XmNjT+066Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nqykDUdJG9HVxNZbbPVloHv4aeBeaKChjhOGdlLIQM=; b=LYyZ25IAaKOcWjqFnc9tt4EBsOZcZ20c/BsrfjxWHz6hvOEGzwuigh5xzk29eq0duOBaIS 1Rct7wX4cnoBx6czgRG9MCtHkgMnb3XM7zh8DkDTCiajsOzrWn4dbL8jjfw69w9PpSmGxH SrV+ppkUyOdd6CSzOLh0HV4XLUlQMt4qR2Tn1B6z1hu3uKlIfAM28XydMjoYmk8YndoAD3 lAkwmvStFjZf+2B/k6NsL0g9lwZbaaWDuzHa8Ql97tIjWFVPKwLfJPsX8kSlVBZ3h3+cb8 XumsI6GT00s6e+/GO9blc02pA37qBJSGRCFrr2oEMY6r07oQKbZNFqRgmeNAqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727977811; a=rsa-sha256; cv=none; b=TYUWwiGXinR2EW3bs/G01nSGUOKiTV+KSnsq3qAdHkOpFtKa4Lvag8J6mOtoEhcoI0O14q Rtf1z/HiUYUlFWKovfWzy/Xl1pUoZ2QtGM6Q/7jgS+MABWWlOPJ+5HtagQLvWhF93hvtDi 8s4x3GkZlWip+fAK6/tKiVDkj/VL9KUQLyvfaK0c2U3whC/VDixp3KoGB4+GJNJuMOCQ2J TKioNjxNjpUcZJdi7kColaQRZ9Ihhfj/vGqmUFei0qnZoDs9/TMUCeqoUbaCaJgwb0dHVH a1+rHNm5UfNAQn9uMkT5qikPjVlldvC2YWArBr6XOeQ067UuYG7n7bJJNq3D6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKK2W0Qpdz10PS; Thu, 3 Oct 2024 17:50:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493HoBNW093341; Thu, 3 Oct 2024 17:50:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493HoAa4093336; Thu, 3 Oct 2024 17:50:10 GMT (envelope-from git) Date: Thu, 3 Oct 2024 17:50:10 GMT Message-Id: <202410031750.493HoAa4093336@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: 2d69f02c5745 - main - stats.3: Fix "skipping end of block" syntax errors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2d69f02c5745a89c01bcd76389d53fd2a4189f02 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=2d69f02c5745a89c01bcd76389d53fd2a4189f02 commit 2d69f02c5745a89c01bcd76389d53fd2a4189f02 Author: Graham Percival AuthorDate: 2024-09-24 18:11:03 +0000 Commit: Mitchell Horne CommitDate: 2024-10-03 17:49:09 +0000 stats.3: Fix "skipping end of block" syntax errors These were reported by `mandoc -T lint ...` as errors. The rendered output (in ascii and html) is not affected by this commit. There was a small misunderstanding about the mdoc format: a 1-line enclosure does not need a closing tag. For example, Pc is for closing an Po; if a line uses Pq (enclose the remainder of this line), there's no need for Pc. Signed-off-by: Graham Percival Reviewed by: mhorne MFC after: 3 days Sponsored by: Tarsnap Backup Inc. Pull Request: https://github.com/freebsd/freebsd-src/pull/1434 --- share/man/man3/stats.3 | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/share/man/man3/stats.3 b/share/man/man3/stats.3 index 4dfb1dac63a2..7fe1fa613def 100644 --- a/share/man/man3/stats.3 +++ b/share/man/man3/stats.3 @@ -102,17 +102,17 @@ .Fc .Ft struct voistatspec .Fo "STATS_VSS_CRHIST<32|64>_USR" -.Fa Sy "HBKTS" Ns Pq Sy "CRBKT" Ns ( Em "lb" ) , "..." Pc , +.Fa Sy "HBKTS" Ns Pq Sy "CRBKT" Ns ( Em "lb" ) , "..." , .Fa "vsdflags" .Fc .Ft struct voistatspec .Fo "STATS_VSS_DRHIST<32|64>_USR" -.Fa Sy "HBKTS" Ns Pq Sy "DRBKT" Ns ( Em "lb" , "ub" ) , "..." Pc , +.Fa Sy "HBKTS" Ns Pq Sy "DRBKT" Ns ( Em "lb" , "ub" ) , "..." , .Fa "vsdflags" .Fc .Ft struct voistatspec .Fo "STATS_VSS_DVHIST<32|64>_USR" -.Fa Sy "HBKTS" Ns Pq Sy "DVBKT" Ns ( Em "val" ) , "..." Pc , +.Fa Sy "HBKTS" Ns Pq Sy "DVBKT" Ns ( Em "val" ) , "..." , .Fa "vsdflags" .Fc .Ft struct voistatspec @@ -316,16 +316,16 @@ The maximum VOI value. The minimum VOI value. .It Dv VS_STYPE_HIST A static bucket histogram of VOI values, including a count of -.Dq out-of-band/bucket Dc +.Dq out-of-band/bucket values which did not match any bucket. Histograms can be specified as -.Dq Em C Ns ontinuous Em R Ns ange Dc -.Pq CRHIST Pc , -.Dq Em D Ns iscrete Em R Ns ange Dc -.Pq DRHIST Pc +.Dq Em C Ns ontinuous Em R Ns ange +.Pq CRHIST , +.Dq Em D Ns iscrete Em R Ns ange +.Pq DRHIST or -.Dq Em D Ns iscrete Em V Ns alue Dc -.Pq DVHIST Pc , +.Dq Em D Ns iscrete Em V Ns alue +.Pq DVHIST , with 32 or 64 bit bucket counters, depending on the VOI semantics. .It Dv VS_STYPE_TDGST A dynamic bucket histogram of VOI values based on the t-digest method @@ -433,15 +433,15 @@ Where templates need to be referenced via textual means, for example via a MIB variable, the following string based template spec formats can be used: .Bl -enum .It -.Qq Qc Ns +.Qq Ns : .Ns , for example -.Qq TCP_DEFAULT Qc Ns +.Qq TCP_DEFAULT Ns :1731235399 .It -.Qq Qc +.Qq .Ns , for example -.Qq TCP_DEFAULT Qc +.Qq TCP_DEFAULT .It : .Ns , for example From nobody Thu Oct 3 17:50:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKK2X2FN2z5Ybsg; Thu, 03 Oct 2024 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKK2X1jn8z3x0m; Thu, 3 Oct 2024 17:50:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTWgvfNuci1mnSfVveNbrS8abPO6N55FZshR488dZ1U=; b=OZc/hNSozUTlpODszyomRmM8dXB4sdYA+yFBSmL/V+KvQTMWkdphDtWrPPjfEeHThMCjCb zQJcIFdllEd4k01duANPn9xTKbpKd8Jtypkb8axvwxAB5v4V9N6uYG5vko8NlteMkMm4uK jqtjq/J7MDN4DiDHrvDLNVnqFMD0BCD+TpKMEn/0woz+beJQybxkGYtWGHqj42PSNLq7Uw tbAVNb8NVrWUsrA11VNLX9TuphFGgvCpeHtDtvyOPU7yh9AvQS+TaYA3KiavJ5UzjLVg0u u05aI9Ae5GGK52XMdV/847XYmOT5MNzNuf57zuHOxdD2BQOGg/P4QlifYVKkmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTWgvfNuci1mnSfVveNbrS8abPO6N55FZshR488dZ1U=; b=B3VJTZRjOa3XlLIEC9+0vW9DM+z5HLBZKLPEypAKCD75RHEL1I77YY9WxNDjlGCgsHE+1s WJLUlUEJRAO558tEPlS6kAQ3p/w61v8rHBgU6gZKjTK4lFls1fqcu1be4Aa09kyrfXZlJ4 E0TuYbcN1ndgIcsb4WOJ9ES/qjwUvQ4/e2TZ+ozRM4IsH0+Cx/P48usXScm4kOpfEp/pyh xHbJ9dCZyJqs0P9sApv8jZCV1bW7IOadiz8A1TIkUldvGNfx3UjETJsmGA2C/Ek2y3uyId Tvo+f1k3C1eBNyX+kKUk59Ns2Ysa0UVDH9MrJUSmdm1jGqFW5Aq1o5Y+pYK3kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727977812; a=rsa-sha256; cv=none; b=TosxXM0O14tSTAV7FCzko3qhm19RvzvofbT7SC2Ieg5OoucDX+gV/eJtXEytdftdsPVQe5 cDJBQIi22KSD+96QEZQPhbAj9M3OlL7CSkjpDOnl8QLra6BFJnzi/Fvi73IXhSAcxcgHDu DwzaLsWG28BA8jzQyR/4hIIfwO8h24a/VL2jOBBEHeCjV7aROkFOqypdttf1d5ugGy2po+ 7GaMFoDbCPrCwUbOlihIVO7fC2S4eQ9reZqY5VdxerBoLtxawop4vB5bsioopHxrPkMQvI ESWhwAD0egUC1abU6NRoTAoPFhUUMVuiaKrNEtrCa/yXxhpgPj0MQ+Ltybq1yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKK2X1KKhz117D; Thu, 3 Oct 2024 17:50:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493HoCVF094027; Thu, 3 Oct 2024 17:50:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493HoC4a094017; Thu, 3 Oct 2024 17:50:12 GMT (envelope-from git) Date: Thu, 3 Oct 2024 17:50:12 GMT Message-Id: <202410031750.493HoC4a094017@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: 4f2ef756a404 - main - manuals: Fix "skipping end of block" .Ed errors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4f2ef756a404df70272b79c16fa7b1689cb0118b Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=4f2ef756a404df70272b79c16fa7b1689cb0118b commit 4f2ef756a404df70272b79c16fa7b1689cb0118b Author: Graham Percival AuthorDate: 2024-09-24 18:28:20 +0000 Commit: Mitchell Horne CommitDate: 2024-10-03 17:49:23 +0000 manuals: Fix "skipping end of block" .Ed errors These were reported by `mandoc -T lint ...` as errors; this commit only handles unnecessary .Ed commands. The rendered output (in ascii and html) is not affected by this commit. Signed-off-by: Graham Percival Reviewed by: mhorne MFC after: 3 days Sponsored by: Tarsnap Backup Inc. Pull Request: https://github.com/freebsd/freebsd-src/pull/1435 --- lib/libcapsicum/capsicum_helpers.3 | 1 - sbin/ggate/ggatel/ggatel.8 | 1 - share/man/man4/ahc.4 | 1 - share/man/man4/ahd.4 | 2 -- share/man/man4/ddb.4 | 2 -- share/man/man4/xen.4 | 1 - share/man/man5/pf.conf.5 | 1 - share/man/man7/networking.7 | 1 - share/man/man9/domain.9 | 1 - 9 files changed, 11 deletions(-) diff --git a/lib/libcapsicum/capsicum_helpers.3 b/lib/libcapsicum/capsicum_helpers.3 index 38dd329ef2f3..fdb4f6f87977 100644 --- a/lib/libcapsicum/capsicum_helpers.3 +++ b/lib/libcapsicum/capsicum_helpers.3 @@ -175,7 +175,6 @@ Functions and .Fn caph_cache_catpages can not fail. -.Ed .Sh SEE ALSO .Xr cap_enter 2 , .Xr cap_rights_limit 2 , diff --git a/sbin/ggate/ggatel/ggatel.8 b/sbin/ggate/ggatel/ggatel.8 index 0dd4f30041c5..512e4ab9d187 100644 --- a/sbin/ggate/ggatel/ggatel.8 +++ b/sbin/ggate/ggatel/ggatel.8 @@ -133,7 +133,6 @@ To get details about the failure, should be called with the .Fl v option. -.Ed .Sh SEE ALSO .Xr geom 4 , .Xr ggatec 8 , diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4 index 582b34fe2071..8bc689cb8395 100644 --- a/share/man/man4/ahc.4 +++ b/share/man/man4/ahc.4 @@ -170,7 +170,6 @@ A hint to define whether the SCSI target mode is enabled, defaults to disabled A hint to define whether memory mapped io is enabled or disabled for this adapter, defaults to enabled (0 -- disabled, 1 -- enabled). .El -.Ed .Sh HARDWARE The .Nm diff --git a/share/man/man4/ahd.4 b/share/man/man4/ahd.4 index e7f9b73f085a..d7404662a06b 100644 --- a/share/man/man4/ahd.4 +++ b/share/man/man4/ahd.4 @@ -108,7 +108,6 @@ and the host adapter's .Tn SCSI ID. .El -.Ed .Sh CONFIGURATION OPTIONS To statically configure one or more controllers to assume the target role: .Pp @@ -130,7 +129,6 @@ They are: .It Va hint.ahd. Ns Ar N Ns Va .tmode_enable A hint to define whether the SCSI target mode is enabled (0 -- disabled, 1 -- enabled). .El -.Ed .Sh HARDWARE The .Nm diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index f3443cbac127..b3fc3231f6b4 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -299,7 +299,6 @@ If the modifier has been specified, contents of structs nested up to .Ar depth levels deep will also be included in the output. -.Ed .Pp .It Ic pprint struct Ns Oo Li / Ns Cm d depth Ic Oc Oo Ar name Oc Ns Op Ns Ar addr Print memory at @@ -313,7 +312,6 @@ If the modifier has been specified, contents of structs nested up to .Ar depth levels deep will also be included in the output. -.Ed .Pp .It Xo .Ic write Ns Op Li / Ns Cm bhl diff --git a/share/man/man4/xen.4 b/share/man/man4/xen.4 index 15312866dae6..284b09bc87b7 100644 --- a/share/man/man4/xen.4 +++ b/share/man/man4/xen.4 @@ -39,7 +39,6 @@ PVH mode only. .Pp Xen support is built by default in the i386 and amd64 GENERIC kernels; note however that host mode is only available on amd64. -.Ed .Sh DESCRIPTION The Xen Hypervisor allows multiple virtual machines to be run on a single computer system. diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 28cd2407b41a..9531f18e8858 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -2124,7 +2124,6 @@ pass in proto tcp to port 22 set prio (2, 5) Only match packets which were received on the specified .Ar interface (or interface group). -.Ed .It Ar tag Aq Ar string Packets matching this rule will be tagged with the specified string. diff --git a/share/man/man7/networking.7 b/share/man/man7/networking.7 index 03e80793e98d..acd61f2864a7 100644 --- a/share/man/man7/networking.7 +++ b/share/man/man7/networking.7 @@ -43,7 +43,6 @@ Identify your Wi-Fi hardware: .Ed .Pp Configure your Wi-Fi hardware as wlan0 interface: -.Ed .Bd -literal -offset 2n .Ic # sysrc wlans_iwn0="wlan0" .Ed diff --git a/share/man/man9/domain.9 b/share/man/man9/domain.9 index eaa279cef996..dab8cff89e12 100644 --- a/share/man/man9/domain.9 +++ b/share/man/man9/domain.9 @@ -183,7 +183,6 @@ has an empty slot in its .Va dom_protosw . Dynamically added protocol can later be unloaded with .Fn protosw_unregister . -.Ed .Sh RETURN VALUES The .Fn domain_add From nobody Thu Oct 3 17:50:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKK2Y542Xz5Ybsk; Thu, 03 Oct 2024 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKK2Y3bhTz3wvn; Thu, 3 Oct 2024 17:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+QEuSXwzE14gOn+G4bFB0c72aezT/FKfKZxr5yO56M=; b=HFdK63A7DSlFSQKDDm/XS3TgrA7lmsxJFBsOAdj4M7516sGlXfgKS0xeJTXrDkVVRxYp/H YPccWN1NCT3Hou8sM+BXAGlcdVtvgHPKxd0lc13vWTd/c7VbOvyxjNRUYFWr4kJ13QmkiB UvtuJlKCFRH8N3iWQUdMz/bV7/N2mNUs91hPTSGYxZ5ES5FbcKAPmwFInyAQme2/CqHRtq Cz1X/VtT+rlp5HaYQ/xfonwGB1JEdM9Fo4dZfnDMB0DE+Sj6ehcmy9dNMcD1FpUAUxjeyW FQgwfiDJilWQWQ5FfVQewEOk05o+Tpz3zONteGojnMxJIHzQUpstQxRiH2QuzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727977813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+QEuSXwzE14gOn+G4bFB0c72aezT/FKfKZxr5yO56M=; b=MxuFg56mDyClgLPhcRUPCcrSGPLyD9ZMYxCvAGs1CIpQdsE5TA0qGtl/j5XhvajU5vTg39 zNol1GuWlN5oU2HGe9mf0UcT7e3Hd9fohrspqd8cg58ujnvoExnONp1PNPK4RXS39W6D/Z aw7W3YCrPZQNOIbt4m6CmJU6rp1eoA7qAbuYh0qCCdqwbbce1ZYMREz10/EtgQ7MnoWpoU UevPbYaJKC9mueyytCM71d3nhfnHntT5/jAFPJERCiZW+fcDxQBwJtuKrX/+670JzM4IUs hrbXTv2g5HxPhGLVwRoG3pQ48wkP9ZUq4S0Ya1JB1yeByz2gqMt2CQK7svKDcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727977813; a=rsa-sha256; cv=none; b=P21/pAImfZBr2zy6rSbIZJl/EMNJYA0ktlmtFvr65mXwh6oYp57/33k3R2QU2kxWpJHAsP gYFNxFA/KwSXrlukDhRtqxdgce2yGT6yQaf5JMhu18J0p+pr8yQF1O4rDqK1QDsDtRcc4q IrFc/pzu4Po3oT5UH2jMROD5yuL8EtoKur4uN/4POzB2Ny/3Jh+g612gvg+llxu8jrwgGt A6J2ITwNBCHIUf1VJ7emY2M4CXLunyaelB1DHq44GTdzfqXpqQF4RWxUikRiCgxqTZ+7hb OafLOv7PoubykMDUpHTavLUtm2XReEITkl5FkxiZGhqD3885iAgumiGF1IFPXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKK2Y1ydGz10gD; Thu, 3 Oct 2024 17:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493HoDF1094688; Thu, 3 Oct 2024 17:50:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493HoDlu094678; Thu, 3 Oct 2024 17:50:13 GMT (envelope-from git) Date: Thu, 3 Oct 2024 17:50:13 GMT Message-Id: <202410031750.493HoDlu094678@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: c013ca2cf772 - main - manuals: Fix typos in -offset for .Bd and .Bl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c013ca2cf772194de340aeb452a6ccfe7e1cecd8 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=c013ca2cf772194de340aeb452a6ccfe7e1cecd8 commit c013ca2cf772194de340aeb452a6ccfe7e1cecd8 Author: Graham Percival AuthorDate: 2024-09-24 18:34:26 +0000 Commit: Mitchell Horne CommitDate: 2024-10-03 17:49:31 +0000 manuals: Fix typos in -offset for .Bd and .Bl The intended value is: -offset indent If there's any typo such that the value doesn't match the pre-defined strings, then the offset is the same width as the value. So by chance, "-offset -ident" ended up being a standard-width indent (since the default indent is 6 chars, and "-ident" also has 6 chars), whereas "-offset -indent" had a longer indent, and "-offset ident" had a shorter one. Signed-off-by: Graham Percival Reviewed by: mhorne, Alexander Ziaee MFC after: 3 days Sponsored by: Tarsnap Backup Inc. Pull Request: https://github.com/freebsd/freebsd-src/pull/1436 --- bin/sh/sh.1 | 4 ++-- share/man/man4/efidev.4 | 2 +- share/man/man4/vmd.4 | 2 +- share/man/man5/motd.5 | 2 +- share/man/man7/arch.7 | 2 +- usr.bin/elfctl/elfctl.1 | 4 ++-- usr.sbin/binmiscctl/binmiscctl.8 | 4 ++-- usr.sbin/pwd_mkdb/pwd_mkdb.8 | 2 +- usr.sbin/service/service.8 | 16 ++++++++-------- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index 849133540cdd..1ce26ecba328 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -1074,13 +1074,13 @@ command. Commands may be grouped by writing either .Pp .Sm off -.Bd -literal -offset -ident +.Bd -literal -offset indent .Po Ar list Pc .Ed .Sm on .Pp or -.Bd -literal -offset -ident +.Bd -literal -offset indent .No { Ar list ; } .Ed .Pp diff --git a/share/man/man4/efidev.4 b/share/man/man4/efidev.4 index 684a93340d7f..defae1f31bea 100644 --- a/share/man/man4/efidev.4 +++ b/share/man/man4/efidev.4 @@ -34,7 +34,7 @@ .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: -.Bd -ragged -offset -indent +.Bd -ragged -offset indent .Cd "options EFIRT" .Ed .Pp diff --git a/share/man/man4/vmd.4 b/share/man/man4/vmd.4 index 2d6a06bc10e3..590a368f006b 100644 --- a/share/man/man4/vmd.4 +++ b/share/man/man4/vmd.4 @@ -34,7 +34,7 @@ .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: -.Bd -ragged -offset -indent +.Bd -ragged -offset indent .Cd "device vmd" .Ed .Pp diff --git a/share/man/man5/motd.5 b/share/man/man5/motd.5 index 86cb8f723634..5dce1ccd52ae 100644 --- a/share/man/man5/motd.5 +++ b/share/man/man5/motd.5 @@ -25,7 +25,7 @@ and the contents are written to can be updated without a system reboot by manually restarting the motd service after updating .Pa /etc/motd.template : -.Bd -literal -offset -ident -compact +.Bd -literal -offset indent -compact service motd restart .Ed .Pp diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 21d2b156af87..3fa45af16ba6 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -168,7 +168,7 @@ execution state, however older arm binaries are not supported by .Fx . .Pp On all supported architectures: -.Bl -column -offset -indent "long long" "Size" +.Bl -column -offset indent "long long" "Size" .It Sy Type Ta Sy Size .It short Ta 2 .It int Ta 4 diff --git a/usr.bin/elfctl/elfctl.1 b/usr.bin/elfctl/elfctl.1 index 2dbe04ee0ed2..5ba016b664a3 100644 --- a/usr.bin/elfctl/elfctl.1 +++ b/usr.bin/elfctl/elfctl.1 @@ -87,12 +87,12 @@ elfctl -e +noaslr file .Ed .Pp Features may be specified as numerical values: -.Bd -literal -offset -indent +.Bd -literal -offset indent elfctl -e =0x0001,0x0004 file .Ed .Pp Features may also be specified as a single combined value: -.Bd -literal -offset -indent +.Bd -literal -offset indent elfctl -e =0x5 file .Ed .Sh SEE ALSO diff --git a/usr.sbin/binmiscctl/binmiscctl.8 b/usr.sbin/binmiscctl/binmiscctl.8 index 4a4890146b57..17bce41a3212 100644 --- a/usr.sbin/binmiscctl/binmiscctl.8 +++ b/usr.sbin/binmiscctl/binmiscctl.8 @@ -308,13 +308,13 @@ specified in the .Nm command. Using the example above: -.Bd -literal -offset -ident +.Bd -literal -offset indent mkdir $D/usr/local/bin cp /usr/local/bin/qemu-arm-static $D/usr/local/bin .Ed .Pp Now the user can chroot into the environment normally, as root: -.Bd -literal -offset -ident +.Bd -literal -offset indent chroot $D .Ed .Sh SEE ALSO diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.8 b/usr.sbin/pwd_mkdb/pwd_mkdb.8 index d28d5dc0ab2c..262a07f4ef3c 100644 --- a/usr.sbin/pwd_mkdb/pwd_mkdb.8 +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.8 @@ -139,7 +139,7 @@ A Version 7 format password file. .Sh EXAMPLES Regenerate the password database after manually editing or replacing the password file: -.Bd -literal -offset -indent +.Bd -literal -offset indent /usr/sbin/pwd_mkdb -p /etc/master.passwd .Ed .Sh COMPATIBILITY diff --git a/usr.sbin/service/service.8 b/usr.sbin/service/service.8 index 2c5dfa3f3a66..380fbc8c1269 100644 --- a/usr.sbin/service/service.8 +++ b/usr.sbin/service/service.8 @@ -141,39 +141,39 @@ For a full list of commands available in most rc.d scripts, see .Xr rc 8 . .Pp Enable a service, then start it: -.Bd -literal -offset -indent +.Bd -literal -offset indent service sshd enable service sshd start .Ed .Pp Stop a service, then disable it: -.Bd -literal -offset -indent +.Bd -literal -offset indent service sshd stop service sshd disable .Ed .Pp Start a service which is not enabled: -.Bd -literal -offset -indent +.Bd -literal -offset indent service sshd onestart .Ed .Pp Report the status of a service: -.Bd -literal -offset -ident +.Bd -literal -offset indent service named status .Ed .Pp Restart a service running in a jail: -.Bd -literal -offset -indent +.Bd -literal -offset indent service -j dns named restart .Ed .Pp Start a service with a specific environment variable set: -.Bd -literal -offset -indent +.Bd -literal -offset indent service -E LC_ALL=C.UTF-8 named start .Ed .Pp Report a verbose listing of all available services: -.Bd -literal -offset -indent +.Bd -literal -offset indent service -rv .Ed .Pp @@ -189,7 +189,7 @@ complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' \e The following programmable completion entry can be used in .Xr bash 1 for the names of the rc.d scripts: -.Bd -literal -offset -ident +.Bd -literal -offset indent _service () { local cur cur=${COMP_WORDS[COMP_CWORD]} From nobody Thu Oct 3 20:52:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKP4W3PvCz5Yn35; Thu, 03 Oct 2024 20:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKP4W2vg1z4Gqy; Thu, 3 Oct 2024 20:52:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727988731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UA7EbUqEJn+nDImF40xfr68G7i49j5JnAJwlU3tkAV8=; b=MalnMZNpOE1rREyxvE/WsUdw4vK1iN1vIEeAr0wE8/9hnzbGGGfwxSNHpGIYl2cQ8M3zUr YRE6JjJCXy0157xGH0xUmgRwbTHq3M1tfLLLRmL+aaxocjCIocvl8cwq+Li6qP6QXNFzIg YNwSP1Qe4dGWs9noI99gkIVbt/1HINhPFYBaTGvhMYGtqmLPU55r/RVK6oq5gaeXH3Q/fE 6ZQj70NytT5wpb4+sQOSfGt370J/jJRsdMSo652KtG6O/PVst5zuDb3mYiNzUwpyHZfSZg QmljDgK5HuZvynCq4FB09z91knvn7+xhNKnYt750R2v5lkXVopNkKdYksSlOSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727988731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UA7EbUqEJn+nDImF40xfr68G7i49j5JnAJwlU3tkAV8=; b=cG7zVc4v+ZdZmPi8rPItS4141Et+9PtwO4baGyQzlzoISWMlms69tq6Cs6Ax+Xj3PXrglN rOK8sSk6QDhM1ei+EeFLseLaVfiVV0hIzCa/TvbuHWjRTJ/6H75FOwPZ49HrBO0yFkG+Dh kV/OBFek7u2yr/T9tbG0NPd1+Pd/LkfKSBIUHEx3jKdX6e94LOfq57ohF0R2ddSDJFJJNc 6a0/cHWroHrJ/BhxMYaLm3dc3q139/KXYMQZw+5G7mPEkP/R37KrQjPJUp7LulG9gdyOsM PsSuaFvjR4S+Qakg6G9ShoGnDy5HphwQp3HdvdiT9UpsjwLcKtxlLLWofAr4/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727988731; a=rsa-sha256; cv=none; b=So2dnJ5BmsBdVNFISeOs5WNFS/viOTMOkcQ+QENUmiOznl3tbpPG8Xqijg4Psx3XuXy+ML Aocq5kYlCZpmRrdE8Xu6bJ1DD0OUttmeHSQ8BevP+eMihXjStlzFlJQ1vb1N6PMqyevzqG d9jkjf2ZgfvN7efyDwAcbfUtyZJpSs1Q6cR10Pvx/IcpuqAdiRf2Xv1g6UpxJtSdXwXE5c fDqGZklzni/dkzFyn1dlRmp5N8XiwgMI8mUMI7AFgf5YIBlB5UnDvm2q3YV6xWuzIzIdn4 ivGRAwATeSR4i+usZgBVKYD9SVLvFunuoCB8qs66ByUJC8C5KwOEop4oQhQEsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKP4W2Vrtz15b8; Thu, 3 Oct 2024 20:52:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493KqBO2014664; Thu, 3 Oct 2024 20:52:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493KqBc5014661; Thu, 3 Oct 2024 20:52:11 GMT (envelope-from git) Date: Thu, 3 Oct 2024 20:52:11 GMT Message-Id: <202410032052.493KqBc5014661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Danilo Egea Gondolfo Subject: git: fd3d13678e9e - main - sglist.9: fix typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: danilo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd3d13678e9e82635fe4274a3668cd2ceb642cdd Auto-Submitted: auto-generated The branch main has been updated by danilo: URL: https://cgit.FreeBSD.org/src/commit/?id=fd3d13678e9e82635fe4274a3668cd2ceb642cdd commit fd3d13678e9e82635fe4274a3668cd2ceb642cdd Author: Danilo Egea Gondolfo AuthorDate: 2024-09-28 11:08:50 +0000 Commit: Danilo Egea Gondolfo CommitDate: 2024-10-03 20:50:57 +0000 sglist.9: fix typo In the explanation section sglist_append_mbuf is duplicated. The second reference is meant to be sglist_append_single_mbuf. Approved by: mhorne (src) Pull Request: https://github.com/freebsd/freebsd-src/pull/1439 --- share/man/man9/sglist.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/sglist.9 b/share/man/man9/sglist.9 index 49d0cbfd1871..f4930134e7cf 100644 --- a/share/man/man9/sglist.9 +++ b/share/man/man9/sglist.9 @@ -285,7 +285,7 @@ to the scatter/gather list .Fa sg . .Pp The -.Nm sglist_append_mbuf +.Nm sglist_append_single_mbuf function appends the physical address ranges described by a single mbuf .Fa m to the scatter/gather list From nobody Thu Oct 3 21:14:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKPZh0lTGz5XKWx; Thu, 03 Oct 2024 21:14: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKPZh0B2Bz4J0R; Thu, 3 Oct 2024 21:14:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727990092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwqKgy1qfjyBwAHlu8T8lM54TtjxZAw+ww/YTHBxysw=; b=RX4q4EvGnUiaYQ4dQKqEtLWakIRnmX7ZnajQ0/zPunwUW6DSKOcnjGIxyad1QZ9Qy+Negh b+2VzTkJf4WVM/Bh/zIWUALr+vBwIioIjHqLaepvzCBWt0RlDtg+bCbnPLog6OE8mNyefl tr8SlB5FDKMFPen/s2laVHMta5RxCzYr0CUhTGJtL24mSGlvYu6i9qvXSYfwcYyV8eBH1c fldg9iIWkpeYKWQeGMUA8dmqLhHPCKVCY9/e/qcNHrAI9Qydg+qgSgUGm/ml6xGClWaGsF 3M9m9TR1bMc1+dKcbkISmgh0N1DDaT4j28t22hqkcIXdWqWNHM4ioZhjzLV+hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727990092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwqKgy1qfjyBwAHlu8T8lM54TtjxZAw+ww/YTHBxysw=; b=N4326uxX58BOsDB8yHxTLgQ+0jCZQdbI8IjGkCCrbA1JnNuNkF98CNcAZJ/vUOzNOaJbJ9 Rf7yOvZWFkEXNemiOaBtrc7JUwKV8lFX2c838Q+FhvI2rce4JeyzUWV3dExJY5W1etccR0 LsLvlBT0JUEM1gS9+gudV5ZQ9hRY15bDafn+2e9mR3A2PQ0ZYJ9uFBEv7C56O5maazyGmv 4bz98L01YqGiZhvSqFwCISzwvq2iSfpvCfqipIv0UI7KYNsQ7gZH/WhvB0fAj6V/sVZF5K ZBuuUgk40k5xjPpJoG6aNjTI6BW+n8tmcBwgkIdQXA/nioYLdqnXXdE5m5UYhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727990092; a=rsa-sha256; cv=none; b=v/OUJQ7q99Ysrw8DLNStuvjuZoE68gXtFRuECGx6AoY6vQl8WeHYoH9DDeVeKJ+ThmE0sH kmjM22bpLt2xL8rr2zhUIEjy8twK0jg1HR8DRu7ixTyzURBnz7Rgxe7HB9HPQu50PoqHgM V5U93xaA0CwelRkg/y5lHxZs10+FkzxGYW/deQQ5UlatbgIg9Uz8ygtmKLakM1h9cM841/ fy8biIJrX9FBsaikDA/0OKoUgKgeaVMJPBhf/D+IYoT7OL03qdoHCfPpRdFX6KEyyqtXmc sewLtkhjF84CJE/pqTkr86t+LmRc2vGFNdAIhj83VrQE/c0ZfdLjNnf1xk5ttg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKPZg6pS4z160M; Thu, 3 Oct 2024 21:14:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493LEpJo051306; Thu, 3 Oct 2024 21:14:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493LEpR1051303; Thu, 3 Oct 2024 21:14:51 GMT (envelope-from git) Date: Thu, 3 Oct 2024 21:14:51 GMT Message-Id: <202410032114.493LEpR1051303@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: e94a1d6a7f2e - main - bhyve: improve bounds checks in hda_codec List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e94a1d6a7f2eb932850e1db418bf34d5c6991ce8 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e94a1d6a7f2eb932850e1db418bf34d5c6991ce8 commit e94a1d6a7f2eb932850e1db418bf34d5c6991ce8 Author: Pierre Pronchery AuthorDate: 2024-07-24 14:56:54 +0000 Commit: Ed Maste CommitDate: 2024-10-03 21:14:11 +0000 bhyve: improve bounds checks in hda_codec The function hda_codec_command is vulnerable to buffer over-read, the payload value is extracted from the command and used as an array index without any validation. Fortunately, the payload value is capped at 255, so the information disclosure is limited and only a small part of .rodata of bhyve binary can be disclosed. The risk is low because the leaked information is not sensitive. An attacker may be able to validate the version of the bhyve binary using this information disclosure (layout of .rodata information, ex: jmp_tables) before executing an exploit. Reported by: Synacktiv Reviewed by: christos, emaste Security: HYP-13 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46098 --- usr.sbin/bhyve/hda_codec.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/hda_codec.c b/usr.sbin/bhyve/hda_codec.c index 1866149c020a..b7d6ec043675 100644 --- a/usr.sbin/bhyve/hda_codec.c +++ b/usr.sbin/bhyve/hda_codec.c @@ -521,7 +521,6 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) payload = cmd_data & 0xffff; } - assert(cad == hci->cad); assert(hci); hops = hci->hops; @@ -530,7 +529,10 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) sc = (struct hda_codec_softc *)hci->priv; assert(sc); - assert(nid < sc->no_nodes); + if (cad != hci->cad || nid >= sc->no_nodes) { + DPRINTF("Invalid command data"); + return (-1); + } if (!hops->response) { DPRINTF("The controller ops does not implement \ @@ -540,7 +542,8 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) switch (verb) { case HDA_CMD_VERB_GET_PARAMETER: - res = sc->get_parameters[nid][payload]; + if (payload < HDA_CODEC_PARAMS_COUNT) + res = sc->get_parameters[nid][payload]; break; case HDA_CMD_VERB_GET_CONN_LIST_ENTRY: res = sc->conn_list[nid][0]; From nobody Thu Oct 3 22:22:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKR4K1Djbz5XQQs; Thu, 03 Oct 2024 22:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKR4K0mnxz4Mjj; Thu, 3 Oct 2024 22:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727994129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HBo5WC9ht3NjELsr7B0YODt0rRm33J/uJlCzb1i8lbQ=; b=vTcjnSLsrbNS5bCwoOmSDbFcFoED7SqgpMRA/oWgixSIKI1uHgyi80TkpLfFhop7/9oC18 UmLaw8c0g2mPw3C1HDAewTIwrQ8mrnW/V7QxE4RrpFJckUmFjmRhBqiGX8Rr5X9RD+BjRT /mqN1WfgeiCA/T+fjfqZpFvtnv4sb0uJFY6iwQtTWZKzHYMJsdOFrhFG3RhOMYqqOGg1lx eRs5/e4PgSCmO8DsLUmzyUoPhm1OzVanLDhinI9a7k8XDLxAfrue4MIDAcIanoKjHLAc9M Vsm1/GM7ysEVHtWxAEO4kr4REiDOaVCkvWtcWCh8x47lbZ/AR/WtDTSBQ05ZjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727994129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HBo5WC9ht3NjELsr7B0YODt0rRm33J/uJlCzb1i8lbQ=; b=pVzDnEiJ+hbQRqrEuZ5NiTf7O1KgFkgz6THvkluW2hbhqoenxlDzSPsxAgwOdaUJiD5g0J lC7pM7yWEYu+oZq7VKMzR9xBmJ2KuiUr2NzPEL9O90oI4lp+cLXYx5t2XVJNgpc0T++Ctq 6DcI0WMEVKbuNaHRqOq1zFzzlsyQbgTB0tOw47xzFJEB+79XEDtLFKxTJm9z9clSwi5BdO VXGzjy0TMjhheqzaiELCPE8brgrzjVn2jVRL/q5E9OH7YIpWnxd2+SMBhEC7171NqvjRxr KsyvvuCxRA+RU3+dXWuZQMZ9ddbZ7MIko2V7+SkKhRZQiQXHes+eQYEcam1Wxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727994129; a=rsa-sha256; cv=none; b=TBLR59xautyn2ZKPIlYE0mnXROWk+xrdUh4h8LeRaD2nBuTUwutKM2zCDJOakAxvzu3+hy I79zt1kmpY1MTdYzsinWKnlCNZjeC6OoxHniKhPR1egmLnjbT54HVj8ZBTJKqvsLv1sRNB 64ECb1imIcyvL9VqYdGTyMyOmnUe+zMKGd936IlnafPENjPkAkX58jY6llZq98zAWHBIL7 WQBqtYqm/gF24nxmjBoJfBwSYfRgnfBeQRiQyHI8C0fMthtnKKtawo5vytm/1c74oHcIxu Vd5/OjZWxstChUNXfI0GQs2OCSxWo+pXoUGisqMLSOE+cMiSMWdXah3LxFAwqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKR4K0N6bz17ln; Thu, 3 Oct 2024 22:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493MM8vM069062; Thu, 3 Oct 2024 22:22:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493MM8rP069059; Thu, 3 Oct 2024 22:22:08 GMT (envelope-from git) Date: Thu, 3 Oct 2024 22:22:08 GMT Message-Id: <202410032222.493MM8rP069059@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 618ae939b7f9 - main - zfsd: replace vdevs with the AUX faulted state List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 618ae939b7f95a197a0518cbb390a572bb90c6d0 Auto-Submitted: auto-generated The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=618ae939b7f95a197a0518cbb390a572bb90c6d0 commit 618ae939b7f95a197a0518cbb390a572bb90c6d0 Author: Alan Somers AuthorDate: 2024-10-03 21:54:28 +0000 Commit: Alan Somers CommitDate: 2024-10-03 22:21:46 +0000 zfsd: replace vdevs with the AUX faulted state Without this patch, vdevs faulted via AUX state would not be replaced once the appropriate drive is replaced. ZFS does not internally use that state, but a drive can be manually forced into such a state with a command like zinject. Submitted by: Goran Mekić Sponsored by: ConnectWise MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D46866 --- cddl/usr.sbin/zfsd/case_file.cc | 2 +- tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib | 2 +- .../zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh | 26 +++++++++++++--------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/cddl/usr.sbin/zfsd/case_file.cc b/cddl/usr.sbin/zfsd/case_file.cc index f9fd84da7277..7adfb08b75c6 100644 --- a/cddl/usr.sbin/zfsd/case_file.cc +++ b/cddl/usr.sbin/zfsd/case_file.cc @@ -288,7 +288,7 @@ CaseFile::ReEvaluate(const string &devPath, const string &physPath, Vdev *vdev) return (/*consumed*/false); } - if (VdevState() > VDEV_STATE_CANT_OPEN) { + if (VdevState() > VDEV_STATE_FAULTED) { /* * For now, newly discovered devices only help for * devices that are missing. In the future, we might diff --git a/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib b/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib index a4a7ef80ed9f..6369387ba069 100644 --- a/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib +++ b/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib @@ -52,7 +52,7 @@ function wait_for_pool_dev_state_change function wait_for_pool_removal { typeset -i timeout=$1 - wait_for_pool_dev_state_change $timeout $REMOVAL_DISK "REMOVED|UNAVAIL" + wait_for_pool_dev_state_change $timeout $REMOVAL_DISK "REMOVED|UNAVAIL|FAULTED" } function wait_until_scrubbed diff --git a/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh b/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh index 4eb04d60809e..7ad7a9113402 100644 --- a/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh +++ b/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh @@ -83,19 +83,25 @@ typeset SPARE_NOP=${DISK4}.nop typeset OTHER_DISKS="${DISK1} ${DISK2}" typeset OTHER_NOPS=${OTHER_DISKS//~(E)([[:space:]]+|$)/.nop\1} set -A MY_KEYWORDS "mirror" "raidz1" "raidz2" +set -A MY_FAILURES "FAULTED" "REMOVED" ensure_zfsd_running log_must create_gnops $OTHER_DISKS $SPARE_DISK -for keyword in "${MY_KEYWORDS[@]}" ; do - log_must create_gnop $REMOVAL_DISK $PHYSPATH - log_must create_pool $TESTPOOL $keyword $REMOVAL_NOP $OTHER_NOPS spare $SPARE_NOP - log_must $ZPOOL set autoreplace=on $TESTPOOL +for failure in "${MY_FAILURES[@]}" ; do + for keyword in "${MY_KEYWORDS[@]}" ; do + log_must create_gnop $REMOVAL_DISK $PHYSPATH + log_must create_pool $TESTPOOL $keyword $REMOVAL_NOP $OTHER_NOPS spare $SPARE_NOP + log_must $ZPOOL set autoreplace=on $TESTPOOL - log_must destroy_gnop $REMOVAL_DISK - log_must wait_for_pool_removal 20 - log_must create_gnop $NEW_DISK $PHYSPATH - verify_assertion - destroy_pool "$TESTPOOL" - log_must destroy_gnop $NEW_DISK + if [ $failure = "FAULTED" ]; then + log_must zinject -d $REMOVAL_NOP -A fault $TESTPOOL + fi + log_must destroy_gnop $REMOVAL_DISK + log_must wait_for_pool_removal 20 + log_must create_gnop $NEW_DISK $PHYSPATH + verify_assertion + destroy_pool "$TESTPOOL" + log_must destroy_gnop $NEW_DISK + done done log_pass From nobody Fri Oct 4 00:01:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKTHQ2dxRz5XXTX; Fri, 04 Oct 2024 00:01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKTHQ1Qcgz4V48; Fri, 4 Oct 2024 00:01:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728000114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F/xDKyVYvmw6/XstVgt2ned1oL98pXGO3OkAqLNLEGY=; b=nbvy9QauIoWkmzrv4mpSuabnWgv+SMLFJYMt6P8+/2xpdF7juEl7msRzQiXUiBpVMTa+Hb OA0Pnyi575AalIgj8tSHycx0WM1+49+r5SW760LY9u75Fc5Be5g+sJ3eYB7WAW3ZJeEMhV xZpiggrHgsX1ZzTVOqZA3nyzqFmWhPYZ1ZzldY9fxEp3yTkq/Rttm1eGY58m8tu7n8xGN2 gmtSTJbrqq2TF1uq5u2scMT4UpzFcHLNgqny+v6T5WeSxrNGGaisxYFJNfo3NSGbIgUSV9 i1j6H3vmhltWIobKSesNTAqrRn4hki8615lKetumPi00BLLL1IFlUE+irFnqOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728000114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F/xDKyVYvmw6/XstVgt2ned1oL98pXGO3OkAqLNLEGY=; b=xNJ98z5go08kfH/PrIgbisBTQ8BUIjuTgtGWIxbrKwhWhbFbqjZXcyIYaMa3Q/fW1jhWUG bJceyNlvJDWW6XfvyS3TekIplWOwHK5Co4XFDXbWron9HJjCOZp3YSbYa4MwAa7JmW2/fP sc6bjYLuOJi3g5cz/stCb7RwQ88/tS8vv5rm77FTJaEwJCMGTpgQqKVHwWoC8bVbtVLaO1 m6jerQupwgILVl7IioGDH/rVEHq/ToQjIfzjfjPNrYhkBef5r3kx2nEO+Df8vjFhvwM9Vj 2hmMd/VvceyRkSB9zf40HeuBYSZ/Rp35eD4RH2dccY0uUvWneEDWUgmn/ia1Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728000114; a=rsa-sha256; cv=none; b=mJIW/AHpMnNomxDkdgizCsX0A+RKaJD11YmfH351vit2D2PQRIqH9GfmMAz5kA2gJlAJGZ oyzqrXuWTzofsdJtEcPgRCjNhvJecWSnqSyvD3E+ZeFXTEnuui4q+eYZb8Kgm2USg6ascO BEtWIH0QguXML+oBevClqtaWFRRpMy0HZ/sgMlQrBTIC9wZPGq04l0twySVI9BsqweIfqF +Y/CsK7aIH/fXI/PYnqNyDwAM1YYu0FlySewPy3V2kBmlb2Ev+RRlof1eJtwWqyD7tBRbF PtROWN9RqLkfC8Y4/WxUJMmuXX55bXGRtGzu/8OShr1UfoeApTQvCM4irxn7tA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKTHQ11wPz1BML; Fri, 4 Oct 2024 00:01:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49401sZd039591; Fri, 4 Oct 2024 00:01:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49401sBs039588; Fri, 4 Oct 2024 00:01:54 GMT (envelope-from git) Date: Fri, 4 Oct 2024 00:01:54 GMT Message-Id: <202410040001.49401sBs039588@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: 593d7a1634b5 - main - apcidump: Add dumping SPCR List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 593d7a1634b5536f0ce2935305c3a5d1d6dd56bd Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=593d7a1634b5536f0ce2935305c3a5d1d6dd56bd commit 593d7a1634b5536f0ce2935305c3a5d1d6dd56bd Author: Warner Losh AuthorDate: 2024-10-03 22:48:27 +0000 Commit: Warner Losh CommitDate: 2024-10-04 00:01:07 +0000 apcidump: Add dumping SPCR When we find a SPCR (Serial Port Console Redirection) TABLE, print all the details. This includes support for the recent Revision 3 and Revision 4 tables, though I've not encountered them in the wild yet, so that code is untested. https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table Sponsored by: Netflix --- usr.sbin/acpi/acpidump/acpi.c | 170 +++++++++++++++++++++++++++++++++++++- usr.sbin/acpi/acpidump/acpidump.8 | 1 + 2 files changed, 168 insertions(+), 3 deletions(-) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index fe68b5062351..95ecb42825eb 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -1257,18 +1257,180 @@ acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp) printf(END_COMMENT); } + static void acpi_handle_tpm2(ACPI_TABLE_HEADER *sdp) { ACPI_TABLE_TPM2 *tpm2; - + printf (BEGIN_COMMENT); acpi_print_sdt(sdp); tpm2 = (ACPI_TABLE_TPM2 *) sdp; printf ("\t\tControlArea=%jx\n", tpm2->ControlAddress); - printf ("\t\tStartMethod=%x\n", tpm2->StartMethod); + printf ("\t\tStartMethod=%x\n", tpm2->StartMethod); + printf (END_COMMENT); +} + +static int spcr_xlate_baud(uint8_t r) +{ + static int rates[] = { 9600, 19200, -1, 57600, 115200 }; + _Static_assert(nitems(rates) == 7 - 3 + 1, "rates array size incorrect"); + + if (r == 0) + return (0); + + if (r < 3 || r > 7) + return (-1); + + return (rates[r - 3]); +} + +static const char *spcr_interface_type(int ift) +{ + static const char *if_names[] = { + [0x00] = "Fully 16550-compatible", + [0x01] = "16550 subset compatible with DBGP Revision 1", + [0x02] = "MAX311xE SPI UART", + [0x03] = "Arm PL011 UART", + [0x04] = "MSM8x60 (e.g. 8960)", + [0x05] = "Nvidia 16550", + [0x06] = "TI OMAP", + [0x07] = "Reserved (Do Not Use)", + [0x08] = "APM88xxxx", + [0x09] = "MSM8974", + [0x0a] = "SAM5250", + [0x0b] = "Intel USIF", + [0x0c] = "i.MX 6", + [0x0d] = "(deprecated) Arm SBSA (2.x only) Generic UART supporting only 32-bit accesses", + [0x0e] = "Arm SBSA Generic UART", + [0x0f] = "Arm DCC", + [0x10] = "BCM2835", + [0x11] = "SDM845 with clock rate of 1.8432 MHz", + [0x12] = "16550-compatible with parameters defined in Generic Address Structure", + [0x13] = "SDM845 with clock rate of 7.372 MHz", + [0x14] = "Intel LPSS", + [0x15] = "RISC-V SBI console (any supported SBI mechanism)", + }; + + if (ift >= (int)nitems(if_names) || if_names[ift] == NULL) + return ("Reserved"); + return (if_names[ift]); +} + +static const char *spcr_interrupt_type(int ift) +{ + static char buf[100]; + +#define APPEND(b,s) \ + if ((ift & (b)) != 0) { \ + if (strlen(buf) > 0) \ + strlcat(buf, ",", sizeof(buf)); \ + strlcat(buf, s, sizeof(buf)); \ + } + + *buf = '\0'; + APPEND(0x01, "PC/AT IRQ"); + APPEND(0x02, "I/O APIC"); + APPEND(0x04, "I/O SAPIC"); + APPEND(0x08, "ARMH GIC"); + APPEND(0x10, "RISC-V PLIC/APLIC"); + +#undef APPEND + + return (buf); +} + +static const char *spcr_terminal_type(int type) +{ + static const char *term_names[] = { + [0] = "VT100", + [1] = "Extended VT100", + [2] = "VT-UTF8", + [3] = "ANSI", + }; + + if (type >= (int)nitems(term_names) || term_names[type] == NULL) + return ("Reserved"); + return (term_names[type]); +} + +/* + * Serial Port Console Redirection version 3 and 4 are too new to have proper + * definitions in ACPI headers, so provide them. + */ +#pragma pack(1) +struct SPCR_3 +{ + ACPI_TABLE_SPCR spcr2; + UINT32 UARTClockFrequency; +}; + +struct SPCR_4 +{ + struct SPCR_3 spcr3; + UINT32 PreciseBaudRate; + UINT16 NamespaceStringLength; + UINT16 NamespaceStringOffset; +}; +#pragma pack() + +static void acpi_handle_spcr(ACPI_TABLE_HEADER *sdp) +{ + ACPI_TABLE_SPCR *spcr; + + printf (BEGIN_COMMENT); + acpi_print_sdt(sdp); + + /* Rev 1 and 2 are the same size */ + spcr = (ACPI_TABLE_SPCR *) sdp; + printf ("\tInterfaceType=%d (%s)\n", spcr->InterfaceType, + spcr_interface_type(spcr->InterfaceType)); + printf ("\tSerialPort="); + acpi_print_gas(&spcr->SerialPort); + printf ("\n\tInterruptType=%#x (%s)\n", spcr->InterruptType, + spcr_interrupt_type(spcr->InterruptType)); + printf ("\tPcInterrupt=%d (%s)\n", spcr->PcInterrupt, + (spcr->InterruptType & 0x1) ? "Valid" : "Invalid"); + printf ("\tInterrupt=%d\n", spcr->Interrupt); + printf ("\tBaudRate=%d (%d)\n", spcr_xlate_baud(spcr->BaudRate), spcr->BaudRate); + printf ("\tParity=%d\n", spcr->Parity); + printf ("\tStopBits=%d\n", spcr->StopBits); + printf ("\tFlowControl=%d\n", spcr->FlowControl); + printf ("\tTerminalType=%d (%s)\n", spcr->TerminalType, + spcr_terminal_type(spcr->TerminalType)); + printf ("\tPciDeviceId=%#04x\n", spcr->PciDeviceId); + printf ("\tPciVendorId=%#04x\n", spcr->PciVendorId); + printf ("\tPciBus=%d\n", spcr->PciBus); + printf ("\tPciDevice=%d\n", spcr->PciDevice); + printf ("\tPciFunction=%d\n", spcr->PciFunction); + printf ("\tPciFlags=%d\n", spcr->PciFlags); + printf ("\tPciSegment=%d\n", spcr->PciSegment); + + /* Rev 3 added UARTClockFrequency */ + if (sdp->Revision >= 3) { + struct SPCR_3 *spcr3 = (struct SPCR_3 *)sdp; + + printf("\tUARTClockFrequency=%jd", + (uintmax_t)spcr3->UARTClockFrequency); + } + + /* Rev 4 added PreciseBaudRate and Namespace* */ + if (sdp->Revision >= 4) { + struct SPCR_4 *spcr4 = (struct SPCR_4 *)sdp; + + printf("\tPreciseBaudRate=%jd", + (uintmax_t)spcr4->PreciseBaudRate); + if (spcr4->NamespaceStringLength > 0 && + spcr4->NamespaceStringOffset >= sizeof(*spcr4) && + sdp->Length >= spcr4->NamespaceStringOffset + + spcr4->NamespaceStringLength) { + printf ("\tNamespaceString='%s'\n", + (char *)sdp + spcr4->NamespaceStringOffset); + } + } + printf (END_COMMENT); } - + static const char * devscope_type2str(int type) { @@ -2468,6 +2630,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp) acpi_handle_lpit(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_TPM2, 4)) acpi_handle_tpm2(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_SPCR, 4)) + acpi_handle_spcr(sdp); else { printf(BEGIN_COMMENT); acpi_print_sdt(sdp); diff --git a/usr.sbin/acpi/acpidump/acpidump.8 b/usr.sbin/acpi/acpidump/acpidump.8 index f193b9a3511a..9703741f418f 100644 --- a/usr.sbin/acpi/acpidump/acpidump.8 +++ b/usr.sbin/acpi/acpidump/acpidump.8 @@ -112,6 +112,7 @@ utility dumps contents of the following tables: .It RSD PTR .It RSDT .It SLIT +.It SPCR Serial Port Console Redirection .It SRAT .It TCPA .It TPM2 From nobody Fri Oct 4 00:22:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKTlP3JYRz5XZ9w; Fri, 04 Oct 2024 00:22:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKTlP17Stz4WPq; Fri, 4 Oct 2024 00:22:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728001361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4OY8KoQ8EYvC9++34TupyaXk1cRu2qokLZ3KWrvAkrM=; b=h2fkbFiN5A4hWJbstY1t+cFvvdBgMcIRaFY3pTtwS40/Mkcfwz19CmDizuo2LH81hhZDEx 8ckAv5Ua3Hcat+6IhPp1iLHQ+M2YsJX/9UyKK3TiJmp4he/vFlMGOErDvshUUXfXh3mSKw hOmmhR1e3iuK7ip7TLjsMRemVRLC2ir6wqGas+eQdaaxdDkv7QBK546Co2z2p6dJYfb7aK o/hv1rfWc+hJVK45QEYCZNVdMt2KYksqx3dXt08XmYHA2llvhQ/anPnx0MJLVpi51TCKOh uTItUpZYiQomw6nm8cb/35qM+4LYrdtu8WCecPuodKVXAwzQUcaxTWIYoFIsZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728001361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4OY8KoQ8EYvC9++34TupyaXk1cRu2qokLZ3KWrvAkrM=; b=Q7UvW1Q4S7nsSDuLQthgqvGTfg/yX6PfHG69ZkQgWP9y6FoJsUjSOpzvlRsbUKVRsPZEAm RFsb/nwNAR1PNCKJsdcQSxQDATJbsu1wSWboJ5HaJ4OXP9BDRCzz27/LzkfBgy3YGP31Qc ViFmhDcMxKbJ60AekGEn8mOSKsdiK5JdkSnVlqHaxBzehMCddSKrQc7HENScL6XEPdnbxz xah5uVEylRMwGg108lVayk52ezYkWIXl481tbirWtrpzfnYoePxqTZdoS1a+4yWLxdp173 gCTvcabV5qN+jtH0PrtSO6sxdf0Xgz5ojIj4EOuYYa/VABuNRVizyEoGG5uxrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728001361; a=rsa-sha256; cv=none; b=AHRNNrGCcukMHqg4v2OUua8qkH2rCOV0UzYVjIE0V+5LYFh+kw5QtCaHO4eshIFJjT0pHo iqo5Rnh5li16glnrxx+oGvPKKYEUyBycY7uY54VapjclhB5LYXB+MJjwgBufeLjCxLp3GB stm7zNR8B/Cf0HsNEWOXVf4R/pkUDBfwWnllBj2kV50R1aWAmVyStyH0IUcgvsxWiJ+eeX vPEFHzsAJaDDVq7OAKwR3QemZCJ38jTKFtuJsu5tY7XGdPCGTUfBsdcptdurnkCn6vOAKX PD9VRhclmDaJ2hWrurHtvf9NA6tLHT1xG26iyiDCcmDPpuJ4hs/ICWkbUYLNnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKTlP0kdCz1BL9; Fri, 4 Oct 2024 00:22:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4940Mfpo073209; Fri, 4 Oct 2024 00:22:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4940MejF073206; Fri, 4 Oct 2024 00:22:40 GMT (envelope-from git) Date: Fri, 4 Oct 2024 00:22:40 GMT Message-Id: <202410040022.4940MejF073206@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: 64b0f52be2c9 - main - ctl: limit memory allocation in pci_virtio_scsi List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 64b0f52be2c9d7bcecebfeef393f8ec56cb85f47 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=64b0f52be2c9d7bcecebfeef393f8ec56cb85f47 commit 64b0f52be2c9d7bcecebfeef393f8ec56cb85f47 Author: Pierre Pronchery AuthorDate: 2024-07-19 17:32:27 +0000 Commit: Ed Maste CommitDate: 2024-10-04 00:22:34 +0000 ctl: limit memory allocation in pci_virtio_scsi The virtio_scsi device allows a VM guest to directly send SCSI commands (ctsio->cdb array) to the kernel driver exposed on /dev/cam/ctl (ctl.ko). All kernel commands accessible from the guest are defined by ctl_cmd_table. The command ctl_persistent_reserve_out (cdb[0]=0x5F and cbd[1]=0) allows the caller to call malloc() with an arbitrary size (uint32_t). This can be used by the guest to overload the kernel memory (DOS attack). Reported by: Synacktiv Reviewed by: asomers Security: HYP-08 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46044 --- sys/cam/ctl/ctl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index b1367cd79fab..da147f0ec914 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -8269,6 +8269,18 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio) param_len = scsi_4btoul(cdb->length); + /* validate the parameter length */ + if (param_len != 24) { + ctl_set_invalid_field(ctsio, + /*sks_valid*/ 1, + /*command*/ 1, + /*field*/ 5, + /*bit_valid*/ 1, + /*bit*/ 0); + ctl_done((union ctl_io *)ctsio); + return (CTL_RETVAL_COMPLETE); + } + if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) { ctsio->kern_data_ptr = malloc(param_len, M_CTL, M_WAITOK); ctsio->kern_data_len = param_len; From nobody Fri Oct 4 07:45:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKgZb63ktz5Y5j6; Fri, 04 Oct 2024 07:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKgZb5TDhz437H; Fri, 4 Oct 2024 07:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728027943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=htIAc26rdfI5FPV+avL7s6kuqkYIaeGVdLb8AP6DLsk=; b=CnwKuNYlcXyw7m0qjomYqHl76aG871axcoArNASwURejaZDtIB4gC0te7qXA7Jw4e71t/t vjiqgmY18Oto7GcgfBO7JRLa+MP/ydUCca05ehQ0N43FGNY0C+W7UXdEHU/Xdnn1vLh3yU AIKO7ed0oRT4J5sROgZ/ql+ZeRUwDLmIYPhYgIn8pa98I2cD2K8IzHFQG3KvEzyp3dZO2D AhwvJLtAXp+cTFRonbGat5pDeJMJM80o7GZzBL767u0NQ4ouVt0W5UJtcg/L/gcv+oyLWE KQpMQVpYwuDUlLQTI3GxcPmxnXLTRD5FBwoc6q8QOk/LEo1C4VMk/3PKdU5yUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728027943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=htIAc26rdfI5FPV+avL7s6kuqkYIaeGVdLb8AP6DLsk=; b=YGlQspMbgNwILL+NnwCT2ukOOVUo0RJkSyQv4c5vnvrlYcMBguiws0UyWIi25yheCy1uLY blj08BOQVPX7WfzJMrtOLw9PI9gVhkXHbEiZBwEedPSSBoypHCbNfbjc82Yug+Cy09SLr1 sXCT8FYfihUqBi++8g921boeRMbIvXrwNZeH4OROJndqX4qD5L8A3Tjl6QO43Er4zzmvZl DYOk3sGzzzGYTKDmt40jNu9qFIWxL7RDn2SVDLUUUvUSz6dEpKur/mSs3ecqjdIyuVQpmy Leky7VzdW8ZBDUHPB5E6eYTJfOkGW7MB6K8ItBveWULdwDWUcwuvPb7y/1QBdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728027943; a=rsa-sha256; cv=none; b=BU16LVZj7FPPu+k5JMV2YVxkG1oFMwFaX0Nk3I4cRqxJH4/+p182483Lqxmg4rZzhKWi1o BqpxC4aejsKqV2vGsabtGeRPxypf5hVz2tC6B8gu7ZacXLMdKQFFh40atkIHO3RiEftcfb b0xvRJedOozX59s210yE52OobwQO+/N4Yj4C94cdqdiXHjwxeb7ly6ExyUOJSZaW9T6iib IXmCSjIfiY9c1zdk1D/ZwnwHaV94GPXSPG/4awjBFzKIeaflKdsrhXOm6LHQJ3wXMTxmD/ 6g7jZCiDwLZmapzTKwSoPtLdx0fQ2KmqgVb76uAeyVS8XKKga6iRqA7ghhG6uQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKgZb4n2DzQTh; Fri, 4 Oct 2024 07:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4947jh8c018493; Fri, 4 Oct 2024 07:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4947jhwn018490; Fri, 4 Oct 2024 07:45:43 GMT (envelope-from git) Date: Fri, 4 Oct 2024 07:45:43 GMT Message-Id: <202410040745.4947jhwn018490@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 75734c4360fc - main - tmpfs: check residence in data_locked List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75734c4360fcd5c70ab9650683ae47ca11aea15f Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=75734c4360fcd5c70ab9650683ae47ca11aea15f commit 75734c4360fcd5c70ab9650683ae47ca11aea15f Author: Doug Moore AuthorDate: 2024-10-04 07:44:19 +0000 Commit: Doug Moore CommitDate: 2024-10-04 07:44:19 +0000 tmpfs: check residence in data_locked tmpfs_seek_data_locked should return the offset of the first page either resident in memory or in swap, but may return an offset to a nonresident page. Check for residence to fix that. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D46879 --- sys/fs/tmpfs/tmpfs_vnops.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index b278c3153863..fa9945a9074a 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -2099,7 +2099,7 @@ static off_t tmpfs_seek_data_locked(vm_object_t obj, off_t noff) { vm_page_t m; - vm_pindex_t p, p_m, p_swp; + vm_pindex_t p, p_swp; p = OFF_TO_IDX(noff); m = vm_page_find_least(obj, p); @@ -2108,15 +2108,24 @@ tmpfs_seek_data_locked(vm_object_t obj, off_t noff) * Microoptimize the most common case for SEEK_DATA, where * there is no hole and the page is resident. */ - if (m != NULL && vm_page_any_valid(m) && m->pindex == p) + if (m != NULL && m->pindex == p && vm_page_any_valid(m)) return (noff); p_swp = swap_pager_find_least(obj, p); if (p_swp == p) return (noff); - p_m = m == NULL ? obj->size : m->pindex; - return (IDX_TO_OFF(MIN(p_m, p_swp))); + /* + * Find the first resident page after p, before p_swp. + */ + while (m != NULL && m->pindex < p_swp) { + if (vm_page_any_valid(m)) + return (IDX_TO_OFF(m->pindex)); + m = TAILQ_NEXT(m, listq); + } + if (p_swp == OBJ_MAX_SIZE) + p_swp = obj->size; + return (IDX_TO_OFF(p_swp)); } static off_t From nobody Fri Oct 4 13:43:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKqWD1xMGz5XnW9; Fri, 04 Oct 2024 13:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKqWD1PCkz4rk4; Fri, 4 Oct 2024 13:43:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728049400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lhyy7r+Fp2Y+/EjTR7OCgWooxEBKZDfhjutMIIWmId8=; b=nz0EuK2iY9WD3gciIHpmgRXH/FYxli/4C+C3QriAgKCtjVOblMIPsvFGssy9oavcPR6ohX +QF3cpMGJrq/84ZURaAt5+odtKFQmhgQa6Y8A+mtJ5sPXXoOTtDqf5ZwKGiBlFp8ytH0N5 J7NWqmQlCIk/pk96NymqMKG+YzHcad5bBT/6wz3WOvYTWGymO2EqNYTRXfXUDy/6vJaYYC 8UozOd1f8swFqmlEz6HaXIW/wxDrI+rnbyIQY8XAsTSGjArHFBX+9l6PrRE5rR8g0IWYTA q44djUqbfx83d2FToifBAO+l2qaxLRLrsM7w11s7Fl4bmjoNZwq8xI37DZ4MtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728049400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lhyy7r+Fp2Y+/EjTR7OCgWooxEBKZDfhjutMIIWmId8=; b=xg8Sybcw2NdlFC4i5iT76Mdh3/6mHVw0+CTzWuJICH2d5PALf7/QWXUn6Pk5siJlX9uRks +WAttleg8iarTBiTJysWevbL+QGA74DBNZcf3A3ZXwRUkBMlvdzS9RGEqAEy/pHg905OZ9 BJFApU/bYiZjtbt4wv6E0dnNJ6UUtK3FYrHpWaUnZoYCa1jjmVTmCUCXcuvqpsPnu+xjvj huHIz64u4p0bumvhjrm/FqYm9RmEFIbvTxRGpSUwrF/mpzn1aIZ/SP5VgR61/OPJDAJ18/ mIw8Y/YCDomocqXwLl6jnXnIB+1SgPDuEADvin9s1uHk73oFCqx/60dslwg56w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728049400; a=rsa-sha256; cv=none; b=JpTp8Jy70qGC8dWbhg00aXoqoV4WKPZ+CxSoZIvl1EoVxG+iwpboQqYojw3BSXqIAMnagM HuplkA2QXgQUOGNK8ZteVxQffGHq0n6f1jz4MJBL9GD8GpVJfbR41W+Y61bEwu18kaY8Xv lFMZjZWqExMJJbqcOGTQbmXGpyoNyiYZy4UT8e0+X/XM44quG9NCqMT73kLNb/6u68GuuD Aq6pY2d9w3lWuSjtEh0m2gfpnvnJj5G1dym5uf8waTbzdqgsaqw8vlf2cYd7iyJNtWl/yz XAmv2hmRLctOQpEOcDvsjp50jX+wxj2cZVORgvwjoe9+AGwYKjwF4VegksXKOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKqWD10NNzcP6; Fri, 4 Oct 2024 13:43:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494DhKhZ027840; Fri, 4 Oct 2024 13:43:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494DhKR4027837; Fri, 4 Oct 2024 13:43:20 GMT (envelope-from git) Date: Fri, 4 Oct 2024 13:43:20 GMT Message-Id: <202410041343.494DhKR4027837@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 34aa6f2c2db5 - main - pflogd: Move struct definitions out of header file List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34aa6f2c2db5cc9655f201a1ef01adbb9fb484d5 Auto-Submitted: auto-generated The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=34aa6f2c2db5cc9655f201a1ef01adbb9fb484d5 commit 34aa6f2c2db5cc9655f201a1ef01adbb9fb484d5 Author: Joseph Mingrone AuthorDate: 2024-10-03 19:49:51 +0000 Commit: Joseph Mingrone CommitDate: 2024-10-04 13:41:53 +0000 pflogd: Move struct definitions out of header file In libpcap 1.10.5, two structures that we relied on, pcap_timeval and pcap_sf_pkthdr, were made private. As a workaround, we initially defined the structures in pflogd.h. After further investigation, mostly by kp@, we concluded that it is reasonable to define these structures ourselves since they represent a file format and thus are unlikely to change from under us. We will stick with this solution but move the definitions out of the header file to prevent others from using pflogd.h to access them. Another solution that was considered was using libpcap's pcap_dump() function to write packets, but there are blockers. For example, pflogd writes to a memory buffer, and libpcap lacks support for this. Reviewed by: kp MFC after: 3 days Event: EuroBSDCon 2024 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46894 --- contrib/pf/pflogd/pflogd.c | 11 +++++++++++ contrib/pf/pflogd/pflogd.h | 13 ------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/contrib/pf/pflogd/pflogd.c b/contrib/pf/pflogd/pflogd.c index 6df97f8b84f4..e24553dfc37b 100644 --- a/contrib/pf/pflogd/pflogd.c +++ b/contrib/pf/pflogd/pflogd.c @@ -74,6 +74,17 @@ char errbuf[PCAP_ERRBUF_SIZE]; int log_debug = 0; unsigned int delay = FLUSH_DELAY; +struct pcap_timeval { + bpf_u_int32 tv_sec; /* seconds */ + bpf_u_int32 tv_usec; /* microseconds */ +}; + +struct pcap_sf_pkthdr { + struct pcap_timeval ts; /* time stamp */ + bpf_u_int32 caplen; /* length of portion present */ + bpf_u_int32 len; /* length of this packet (off wire) */ +}; + char *copy_argv(char * const *); void dump_packet(u_char *, const struct pcap_pkthdr *, const u_char *); void dump_packet_nobuf(u_char *, const struct pcap_pkthdr *, const u_char *); diff --git a/contrib/pf/pflogd/pflogd.h b/contrib/pf/pflogd/pflogd.h index 6e6b588d24bf..596e69692614 100644 --- a/contrib/pf/pflogd/pflogd.h +++ b/contrib/pf/pflogd/pflogd.h @@ -40,19 +40,6 @@ int priv_open_log(void); int priv_move_log(void); pcap_t *pcap_open_live_fd(int fd, int snaplen, char *ebuf); -/* XXX TODO: Investigate a permanent solution, rather than defining these two - structures here. */ -struct pcap_timeval { - bpf_u_int32 tv_sec; /* seconds */ - bpf_u_int32 tv_usec; /* microseconds */ -}; - -struct pcap_sf_pkthdr { - struct pcap_timeval ts; /* time stamp */ - bpf_u_int32 caplen; /* length of portion present */ - bpf_u_int32 len; /* length of this packet (off wire) */ -}; - void set_pcap_filter(void); /* File descriptor send/recv */ void send_fd(int, int); From nobody Fri Oct 4 15:31:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKsvn3FzVz5XwSQ; Fri, 04 Oct 2024 15:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKsvn2rTCz3wl7; Fri, 4 Oct 2024 15:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728055877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Akh5nCgIYi/F2DIo4prGxOkCE9hzy3wGevIgTqEFphA=; b=uHkGpw4O9FDFzJP7BFBTRwTmhe1uWgD6DxIXwD40NlAKgPlH8EnWBvAohGhdEpWM3FKDkD qtxP0ekk+uD8bpRVCTjgVhKJN+ZTs+1i7Z1fbmMREbhF399zD8dRYxAsKBrbIcgQgnkNZJ 8cRv3gByGbHM7AlIkVXTYY1KPloeRGkvVxwMk61GFczEuN1j7N8SxeIzXWMLsYLry2jqTO HMCBBYWpwEaiS5d8FUsIDxg2/jdJ1UbjEqm+SXHNYoeVQtQdpfCM+KQOzUzgUV+xHYYvM5 EJvo6u/WZ1Cd9SjkAXbB+pWa1+y3xt3Evgl0LYA2iRKL2IqwIu2kPtWo+4nHqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728055877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Akh5nCgIYi/F2DIo4prGxOkCE9hzy3wGevIgTqEFphA=; b=MFzKU5X4GLt/1LLOovTksd6lrA2U4F8oHwxpfkXTJuIogGAvPktflAcoLBv1EQKVw+hAG6 g5zhGCCNfKxqtiiCK8R4aRf2Gfi5Nq9TxhpLdSvZlJGsuD5RxUKjGReJJTd4pCO8mx15Ct euNaDJD5xxdJGZq3k7RngQ0wjsXQnarXHcwEPJeTk4jm+WTD74N+gE+zpwO5KOdFrqQj4D YYoBsPkuSEOxH+eZnaONDKluyoG4By1ZEhkuA/SEPW9wGuTU5b/c9aHQHF1gQEA+3HEFSV PAlovV3i9lwLL4gkyTmIRlvJSdZYS6ATqplIv//eFEiZEJkYU2uyoD2kaKqPMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728055877; a=rsa-sha256; cv=none; b=iAi9nixT2Gv2FeUopwh11Z8CsZzjNuVw+vfvad/DYEHEFAsvQ+arGPyKHp2teVcTNt1nVF qgcnTmMv+e0EDyyXTgWMuqTQrY0fSzfSd9kpyEEstbr4sftuqLLzaoRmXBi7Hlnvo34LDh UPXQZBR9adhlUQwXjzsy9JnYFcoHDzt8f4N3y8RVUYnG1IvU//lCheZFYlnxCHlhrxnjfU bdxYpIeA8SE1pVExwUsLkYzDAmMEKHp0Gnq+PcMw7Q9HLWS66si7SYUhBMEWWvJm07Yx5O oSnuP5V3vv62b+rd0z2qL2K4N9LWNEA0+ztVNtI8EFk6wzfeUZTmwAxqfIw5ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKsvn2Cv3zfj4; Fri, 4 Oct 2024 15:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494FVH5b008561; Fri, 4 Oct 2024 15:31:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494FVHJ2008558; Fri, 4 Oct 2024 15:31:17 GMT (envelope-from git) Date: Fri, 4 Oct 2024 15:31:17 GMT Message-Id: <202410041531.494FVHJ2008558@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: 48979e8def00 - main - arm64: Support HWCAP2_AFP and HWCAP2_RPRES List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 48979e8def00b69a07880e7827af7e32d5e377ff Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=48979e8def00b69a07880e7827af7e32d5e377ff commit 48979e8def00b69a07880e7827af7e32d5e377ff Author: Andrew Turner AuthorDate: 2024-10-04 13:08:36 +0000 Commit: Andrew Turner CommitDate: 2024-10-04 14:06:29 +0000 arm64: Support HWCAP2_AFP and HWCAP2_RPRES These add alternative behaviour to some floating-point instructions so don't need any kernel support and can just be exposed to userspace. Sponsored by: Arm Ltd --- sys/arm64/arm64/identcpu.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 3bf4f9a80c90..0e82381a9ac6 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -942,6 +942,11 @@ static const struct mrs_field_value id_aa64isar2_rpres[] = { MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64isar2_rpres_caps[] = { + MRS_HWCAP(2, HWCAP2_RPRES, ID_AA64ISAR2_RPRES_IMPL), + MRS_HWCAP_END +}; + static const struct mrs_field_value id_aa64isar2_wfxt[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, WFxT, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -956,7 +961,8 @@ static const struct mrs_field id_aa64isar2_fields[] = { id_aa64isar2_apa3, id_aa64isar2_apa3_caps), MRS_FIELD_HWCAP(ID_AA64ISAR2, GPA3, false, MRS_EXACT, id_aa64isar2_gpa3, id_aa64isar2_gpa3_caps), - MRS_FIELD(ID_AA64ISAR2, RPRES, false, MRS_EXACT, id_aa64isar2_rpres), + MRS_FIELD_HWCAP(ID_AA64ISAR2, RPRES, false, MRS_LOWER, + id_aa64isar2_rpres, id_aa64isar2_rpres_caps), MRS_FIELD(ID_AA64ISAR2, WFxT, false, MRS_EXACT, id_aa64isar2_wfxt), MRS_FIELD_END, }; @@ -1099,6 +1105,11 @@ static const struct mrs_field_value id_aa64mmfr1_afp[] = { MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64mmfr1_afp_caps[] = { + MRS_HWCAP(2, HWCAP2_AFP, ID_AA64MMFR1_AFP_IMPL), + MRS_HWCAP_END +}; + static const struct mrs_field_value id_aa64mmfr1_hcx[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, HCX, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -1165,7 +1176,8 @@ static const struct mrs_field id_aa64mmfr1_fields[] = { MRS_FIELD(ID_AA64MMFR1, CMOVW, false, MRS_EXACT, id_aa64mmfr1_cmovw), MRS_FIELD(ID_AA64MMFR1, TIDCP1, false, MRS_EXACT, id_aa64mmfr1_tidcp1), MRS_FIELD(ID_AA64MMFR1, nTLBPA, false, MRS_EXACT, id_aa64mmfr1_ntlbpa), - MRS_FIELD(ID_AA64MMFR1, AFP, false, MRS_EXACT, id_aa64mmfr1_afp), + MRS_FIELD_HWCAP(ID_AA64MMFR1, AFP, false, MRS_LOWER, id_aa64mmfr1_afp, + id_aa64mmfr1_afp_caps), MRS_FIELD(ID_AA64MMFR1, HCX, false, MRS_EXACT, id_aa64mmfr1_hcx), MRS_FIELD(ID_AA64MMFR1, ETS, false, MRS_EXACT, id_aa64mmfr1_ets), MRS_FIELD(ID_AA64MMFR1, TWED, false, MRS_EXACT, id_aa64mmfr1_twed), From nobody Fri Oct 4 15:57:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKtTd1Xttz5Xxd3; Fri, 04 Oct 2024 15:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKtTc6RQBz41Rx; Fri, 4 Oct 2024 15:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kzo7/lrgs0wBZR5QSLdTyWdb0kGMohNlC89AjuIK0z8=; b=QChRnS4xcU5nS44Dw9cOhAa3mBPsVSDvVfTt74lzYFXX283obcwL/g/DMIGiAGnIaGdLk1 wfhwhwVi7zf/oHp/DPuMINKcGEzNKKYjnzoWygzGGmvzdmDArEdA9Pbr/v91ji8IXSiC14 QWjdmjxLUBkkSBs8hTaY5VOLcap6AAybnQ2uLuroF0qR4gbFEEnGrcIqSE9/ODW5NCKsiD qQEPrH+62vEYapyRne9akdXXo5fau4n25oaoALuPRjAWI5Bnp/hpgsLITVmggYTSX9Bp+w 2xclbYkeoNj7x2g+FrHPI9JJ8duag3mporrJGtBhWUVUh5wS+A5Tmdm+qWy9TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kzo7/lrgs0wBZR5QSLdTyWdb0kGMohNlC89AjuIK0z8=; b=mjqlfA7X5fBD1n3u8q20tzCfUFbzmzjjLzl4j6qNb4YmGY5HfOu+zDjlKVNCBiuNmNWNed xHvbwljJa4IJcFLCR80RCnvDh6GK37YYOF5d2PWt+GNm7uDNkUeERIl1oWuDjPxTnBEnqn H5u3fpoVKOnnXxa0fyU3JtKUBKs0V7zLG3JQcHBXRRP6K1SBWK5GSQCGW9cVj58sOOSbbv WoJgD2ZcNTnd+ddX5/i7KQp+B5+8W3n2KlKbz4RBS/t2NDygoQj9x8fDRCbPL4zcMAJU+O Y7b3qLC1GHkD0/vQ8Lkk6bmtJktAKJCtliHvypRBG2H5O6D1XqtBSEOZMO9wPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728057428; a=rsa-sha256; cv=none; b=vSZeIhPY8EUvSZTmKJW4b0m6HhsbZhmVwqdZA3Xb0rrR281Dar/SfrgRwvFQfbT+vBfFzN XSoeZ0Pd4yPX4laR5MleZV9eXkBWfIQkQ1ceyhdMMrHo059v+3JrVby3YrVr6S1p88Y6XA SfCl3C1x07J/rzwC644I330hvb6DfgoL1kC5WWRCBzQB8RJMamsud0oUWYS9IX/Cc75ZIb BOL/Gms0TemOGHR2CFSe9nq3f/4Y7XdJGtHxDpUoIGxRf5SlrhqACx6MzpBKTNWq2iXZ3s 28YCO704XIiD/fytf4zZIY+508nQoa8TPNUOioPdSHw/ALL24pAyBzzAgwdY0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKtTc5xFhzgnn; Fri, 4 Oct 2024 15:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494Fv8rq048723; Fri, 4 Oct 2024 15:57:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494Fv8Zk048720; Fri, 4 Oct 2024 15:57:08 GMT (envelope-from git) Date: Fri, 4 Oct 2024 15:57:08 GMT Message-Id: <202410041557.494Fv8Zk048720@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: d9fe71828797 - main - makefs: Remove the warning printed when makefs -t zfs is used List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d9fe71828797508d1d28655e40780a5ae9078e66 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d9fe71828797508d1d28655e40780a5ae9078e66 commit d9fe71828797508d1d28655e40780a5ae9078e66 Author: Mark Johnston AuthorDate: 2024-10-04 14:53:42 +0000 Commit: Mark Johnston CommitDate: 2024-10-04 15:56:34 +0000 makefs: Remove the warning printed when makefs -t zfs is used We haven't seen bug reports relating to this feature for a while, so stop printing a warning. Reviewed by: cperciva MFC after: 2 weeks --- usr.sbin/makefs/tests/makefs_zfs_tests.sh | 2 +- usr.sbin/makefs/zfs.c | 8 +------- usr.sbin/makefs/zfs/zfs.h | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 6e20ae33b354..7040cf9fd736 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -28,7 +28,7 @@ # SUCH DAMAGE. # -MAKEFS="makefs -t zfs -o nowarn=true" +MAKEFS="makefs -t zfs" ZFS_POOL_NAME="makefstest$$" TEST_ZFS_POOL_NAME="$TMPDIR/poolname" diff --git a/usr.sbin/makefs/zfs.c b/usr.sbin/makefs/zfs.c index b16a48564f04..a0c81f9654ab 100644 --- a/usr.sbin/makefs/zfs.c +++ b/usr.sbin/makefs/zfs.c @@ -92,7 +92,7 @@ zfs_prep_opts(fsinfo_t *fsopts) { '\0', "ashift", &zfs->ashift, OPT_INT32, MINBLOCKSHIFT, MAXBLOCKSHIFT, "ZFS pool ashift" }, { '\0', "nowarn", &zfs->nowarn, OPT_BOOL, - 0, 0, "Suppress warning about experimental ZFS support" }, + 0, 0, "Provided for backwards compatibility, ignored" }, { .name = NULL } }; @@ -779,12 +779,6 @@ zfs_makefs(const char *image, const char *dir, fsnode *root, fsinfo_t *fsopts) zfs_check_opts(fsopts); - if (!zfs->nowarn) { - fprintf(stderr, - "ZFS support is currently considered experimental. " - "Do not use it for anything critical.\n"); - } - dirfd = open(dir, O_DIRECTORY | O_RDONLY); if (dirfd < 0) err(1, "open(%s)", dir); diff --git a/usr.sbin/makefs/zfs/zfs.h b/usr.sbin/makefs/zfs/zfs.h index ff94c270bbf6..5c47b7c3156b 100644 --- a/usr.sbin/makefs/zfs/zfs.h +++ b/usr.sbin/makefs/zfs/zfs.h @@ -73,7 +73,7 @@ typedef struct { */ char filebuf[MAXBLOCKSIZE] __aligned(alignof(uint64_t)); - bool nowarn; + bool nowarn; /* ignored */ /* Pool parameters. */ const char *poolname; From nobody Fri Oct 4 15:57:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKtTf296Cz5Xy00; Fri, 04 Oct 2024 15:57:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKtTf0nYQz41BJ; Fri, 4 Oct 2024 15:57:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w5lvDTxf0I3Amz6mn62d9VZ+QEeyZMt9tA4DSBc+tZ0=; b=LS6ZjXn8pWoNgHss/xy5+bvuUJl6kaCFBgokb5YJ1UQ9SRYvj4K+GroJlVKoJwRhC1Vc+q /iDf6veWnvHzivJ8fmQHT/W43z7wux4mmWKo7SR42aQb3JI/zAN9NtOO1nkbXXe0KVOb18 hxD/uGxxtMP2xZBNW4+1jsMsogqGkVXdsfYaoaBTu3q2sZ5PfYQdz1p9ZlSIk4ebws48A6 hDr0uwLGci84iy2iAipLC6PJpZEa116r3iFu2lzaahnt48fmH5SrWVtE0a8teO9w4cBT8r gXgeSFzaS1Rj4uW0MRTq1fU+hQ+gMKBTkpAFgr6i0y8fVoGR1D50PeoLL66e3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w5lvDTxf0I3Amz6mn62d9VZ+QEeyZMt9tA4DSBc+tZ0=; b=u5jaQsgUObqqDNnjKIuIKTLRjCmyNs69SrvOR7OEbdWZqFow/mSFa7KTfopPgHX55qw61G ohy5WBiQqqN0e1jH9jCEbflm7+0zRyofumxRWSy7UTAYC7jsx6mHmoj8wO9hPBR6b3WfaX 4ZxAQ0vB6m1v/b33A2OTlzj27nbbyzLJpeGRHE/4JoWS/CRztiSLWf3NMXLezS5HEFpDQA cO8sgTX31oXyF4+rCrR8+3sjBy7E0PeeFAiN4GGCwBOWWz/3x14uevHNUq1abmr2SIOER2 moU6urnt04b5o4rSmuNO+ZCX76Kw98PNi8q+5fOeDxP7ajtCtTk8C1XVcS3Ngw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728057430; a=rsa-sha256; cv=none; b=uTeffqFHHK+Agfu8UopvEmzGXxw5zxCFAo4NcUH4qGVrvJq392McSZ1ukkbvHX32ElJHp/ woN2kpzWCnPkccW6wAP0AYMj0YtnJlE98myleCSVkUDCWcYV2fTX4zVsxQyYq/WfcLxoOg U0/ayTOo+pPb+CKuTBf3Kx/PxWmqNrj5s1K+1Vq081vLWhodiNlqEvD/Wb/qGNCz5vVANH GLInrHxqMj+J4Jw273hapHicfujTqz7N/m6RBooWdFbR4wDpeTTAStQ1XRcVB92zpiNG1e G471rq/W1zYE3w3iXMVk/B3xCihbDQnje8Gn/0atHHtwcQ6pdpeHYECsj89jxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKtTd6mw2zhJG; Fri, 4 Oct 2024 15:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494Fv9Bf048777; Fri, 4 Oct 2024 15:57:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494Fv95M048774; Fri, 4 Oct 2024 15:57:09 GMT (envelope-from git) Date: Fri, 4 Oct 2024 15:57:09 GMT Message-Id: <202410041557.494Fv95M048774@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: b37b2543a23b - main - ggate: Avoid dropping the GEOM topology lock in dumpconf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b37b2543a23b44c78f6d78823dcfcedba46570db Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b37b2543a23b44c78f6d78823dcfcedba46570db commit b37b2543a23b44c78f6d78823dcfcedba46570db Author: Mark Johnston AuthorDate: 2024-10-04 14:53:57 +0000 Commit: Mark Johnston CommitDate: 2024-10-04 15:56:34 +0000 ggate: Avoid dropping the GEOM topology lock in dumpconf In general it's not safe to drop the topology lock in these routines, as GEOM assumes that the mesh will be consistent during traversal. However, there's no reason we can't hold the topology lock across calls to g_gate_release(). (Note that g_gate_hold() can be called with the topology lock held.) PR: 238814 MFC after: 2 weeks --- sys/geom/gate/g_gate.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/geom/gate/g_gate.c b/sys/geom/gate/g_gate.c index 85c21406eda0..ecdcacff6707 100644 --- a/sys/geom/gate/g_gate.c +++ b/sys/geom/gate/g_gate.c @@ -329,7 +329,6 @@ static void g_gate_release(struct g_gate_softc *sc) { - g_topology_assert_not(); mtx_lock(&g_gate_units_lock); sc->sc_ref--; KASSERT(sc->sc_ref >= 0, ("Negative sc_ref for %s.", sc->sc_name)); @@ -453,9 +452,7 @@ g_gate_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, sc->sc_queue_size); sbuf_printf(sb, "%s%u\n", indent, sc->sc_ref); sbuf_printf(sb, "%s%d\n", indent, sc->sc_unit); - g_topology_unlock(); g_gate_release(sc); - g_topology_lock(); } static int From nobody Fri Oct 4 15:57:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKtTg3yDCz5XxX7; Fri, 04 Oct 2024 15:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKtTg16tjz41Dr; Fri, 4 Oct 2024 15:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ol1+sqXsu0ObINMeHsGamq+lgA6jZFKPS90BTgjSnJU=; b=pJHWKbiFKmyWsE0ok7XhaXvC/682Qwy9N8faFz036hPyY5cLow806Z4Z8Me+gTw350yCp5 TYfyBWJZWXtGVW63Q5VPAoVsDU6M6F/bpsC5iuxGFEjYMt2OOcfeT6TRXyetAT54HZgrmS DKF+KAtOokHGhBvB6LjbLDi0PtOCuHepIt64mbsGpBlZOpaTNKQPr+taW7hj1ugD1fpXgg 95V7NPsy55hHu3cfJMYjp2pYnnn+/rSCTI/G4oF3GHye49KFZCb8SNSxlnrUcrVyqZe5mK d4hV37uKzXt6NVGsQQ8Po7dgMvZ33Ns+YinoOEHZ703NSC8q6XJjrDTPm2czKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728057431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ol1+sqXsu0ObINMeHsGamq+lgA6jZFKPS90BTgjSnJU=; b=nYMo7unh8rTqwMImKdJfPArD2h2VUvzXnPk/CnwRYyVwUXh47V3n/8q0WHojOW7X/7/in1 m2yrqS14+6oLaPna0vcJ1fJTvx++Ciiwmy/tXG2mGqzPmLcuLJRqwAxu5vCrT7qiyYAGUJ uBNdWcPg3CyPJeoqM5zaq/M3e+OsgRnPAEkKDcG7C05vIP9K5He52gqBBCqNXRTWIJwXSw xqM4MihjMv3k1gjUZzGCbLVj06eS1niRkA6zpJhLmdKJX2V/zKsrSdNYNrcATuLh3TX70k licBD9/pMU7BB/n9GSeJj0GE9M/qQqwXhLUpxGI/RjC2TZDqo0YbnGBTK0dhbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728057431; a=rsa-sha256; cv=none; b=l4H9Uq/8/eD4M+r9UKGAZQqrmzQGbKzzrRTCTEJvMSFSHo5XGe7Xn5sBYTvcNqM3WnYFZ4 dpfudTAk3TNGMLgMPWw/VO+i824wUjLBUJD6YFjQF8UO3irshq/z8xprOxppnOPj8UoecX ZCmugjbo0DEoZhmIWQFLAC7vgw2dEl9Q5KU7fYGViqeYBnHo/gyNi439WqgwEXtoIz8Tr1 n9VmmFGStwHM/425Lakk0NyMzpDzfZw13TSQY93bVoNSo+HJbrwk3WdPjMrfWwJhT9NafI PZxZ2fZMONQyA1MMbPFZm96SeWbQlLbk5Y/gUhYbA0baJOuvPATpX913eQtTYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKtTg0jjWzhCW; Fri, 4 Oct 2024 15:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494FvB5H048825; Fri, 4 Oct 2024 15:57:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494FvBGg048822; Fri, 4 Oct 2024 15:57:11 GMT (envelope-from git) Date: Fri, 4 Oct 2024 15:57:11 GMT Message-Id: <202410041557.494FvBGg048822@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: 33c2c58f0a3d - main - shm: Respect PROT_MAX when creating private mappings List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 33c2c58f0a3db0a6d3996fa14ac7967274678771 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=33c2c58f0a3db0a6d3996fa14ac7967274678771 commit 33c2c58f0a3db0a6d3996fa14ac7967274678771 Author: Mark Johnston AuthorDate: 2024-10-04 14:54:44 +0000 Commit: Mark Johnston CommitDate: 2024-10-04 15:56:34 +0000 shm: Respect PROT_MAX when creating private mappings We were previously unconditionally adding PROT_WRITE to the maxprot of private mapping (because a private mapping can be written even if the fd is read-only), but this might violate the user's PROT_MAX request. While here, rename cap_maxprot to max_maxprot. This is the intersection of the maximum protections imposed by capsicum rights on the fd (not really relevant for private mappings) and the user-required maximum protections (which were not being obeyed). In particular, cap_maxprot is a misnomer after the introduction of PROT_MAX. Add some regression test cases. mmap__maxprot_shm fails without this patch. Note: Capsicum's CAP_MMAP_W is a bit ambiguous. Should it be required in order to create writeable private mappings? Currently it is, even though such mappings don't permit writes to the object referenced by the fd. Reported by: brooks Reviewed by: brooks MFC after: 1 month Fixes: c7841c6b8e41 ("Relax restrictions on private mappings of POSIX shm objects.") Differential Revision: https://reviews.freebsd.org/D46741 --- sys/kern/uipc_shm.c | 8 ++--- tests/sys/posixshm/posixshm_test.c | 29 +++++++++++++++- tests/sys/vm/mmap_test.c | 70 +++++++++++++++++++++++++++++++++++++- 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 49b5b56dee17..a5b2e62c568e 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -1658,7 +1658,7 @@ fail: static int shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *addr, vm_size_t objsize, - vm_prot_t prot, vm_prot_t cap_maxprot, int flags, + vm_prot_t prot, vm_prot_t max_maxprot, int flags, vm_ooffset_t foff, struct thread *td) { struct shmfd *shmfd; @@ -1681,8 +1681,8 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *addr, vm_size_t objsize, * writeable. */ if ((flags & MAP_SHARED) == 0) { - cap_maxprot |= VM_PROT_WRITE; - maxprot |= VM_PROT_WRITE; + if ((max_maxprot & VM_PROT_WRITE) != 0) + maxprot |= VM_PROT_WRITE; writecnt = false; } else { if ((fp->f_flag & FWRITE) != 0 && @@ -1702,7 +1702,7 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *addr, vm_size_t objsize, goto out; } } - maxprot &= cap_maxprot; + maxprot &= max_maxprot; /* See comment in vn_mmap(). */ if ( diff --git a/tests/sys/posixshm/posixshm_test.c b/tests/sys/posixshm/posixshm_test.c index ade07a118707..55514a5f4bde 100644 --- a/tests/sys/posixshm/posixshm_test.c +++ b/tests/sys/posixshm/posixshm_test.c @@ -1190,6 +1190,33 @@ ATF_TC_BODY(accounting, tc) ATF_REQUIRE(close(fd) == 0); } +ATF_TC_WITHOUT_HEAD(mmap_prot); +ATF_TC_BODY(mmap_prot, tc) +{ + void *p; + int fd, pagesize; + + ATF_REQUIRE((pagesize = getpagesize()) > 0); + + gen_test_path(); + fd = shm_open(test_path, O_RDONLY | O_CREAT, 0644); + ATF_REQUIRE(fd >= 0); + + p = mmap(NULL, pagesize, PROT_READ, MAP_SHARED, fd, 0); + ATF_REQUIRE(p != MAP_FAILED); + ATF_REQUIRE(munmap(p, pagesize) == 0); + p = mmap(NULL, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + ATF_REQUIRE_ERRNO(EACCES, p == MAP_FAILED); + p = mmap(NULL, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); + ATF_REQUIRE(p != MAP_FAILED); + ATF_REQUIRE(munmap(p, pagesize) == 0); + + ATF_REQUIRE_MSG(shm_unlink(test_path) == 0, + "shm_unlink failed; errno=%d", errno); + ATF_REQUIRE_MSG(close(fd) == 0, + "close failed; errno=%d", errno); +} + static int shm_open_large(int psind, int policy, size_t sz) { @@ -1920,7 +1947,6 @@ ATF_TC_BODY(largepage_reopen, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, remap_object); ATF_TP_ADD_TC(tp, rename_from_anon); ATF_TP_ADD_TC(tp, rename_bad_path_pointer); @@ -1954,6 +1980,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, fallocate); ATF_TP_ADD_TC(tp, fspacectl); ATF_TP_ADD_TC(tp, accounting); + ATF_TP_ADD_TC(tp, mmap_prot); ATF_TP_ADD_TC(tp, largepage_basic); ATF_TP_ADD_TC(tp, largepage_config); ATF_TP_ADD_TC(tp, largepage_mmap); diff --git a/tests/sys/vm/mmap_test.c b/tests/sys/vm/mmap_test.c index e5f4a81a7858..6bc30f73ca95 100644 --- a/tests/sys/vm/mmap_test.c +++ b/tests/sys/vm/mmap_test.c @@ -295,14 +295,82 @@ ATF_TC_BODY(mmap__write_only, tc) munmap(p, pagesize); } -ATF_TP_ADD_TCS(tp) +ATF_TC_WITHOUT_HEAD(mmap__maxprot_basic); +ATF_TC_BODY(mmap__maxprot_basic, tc) +{ + void *p; + int error, pagesize; + + ATF_REQUIRE((pagesize = getpagesize()) > 0); + + p = mmap(NULL, pagesize, PROT_READ | PROT_MAX(PROT_READ), + MAP_ANON, -1, 0); + ATF_REQUIRE(p != MAP_FAILED); + + error = mprotect(p, pagesize, PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_EXEC); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + + ATF_REQUIRE(munmap(p, pagesize) == 0); +} + +/* Make sure that PROT_MAX applies as expected to mappings of shm objects */ +ATF_TC_WITHOUT_HEAD(mmap__maxprot_shm); +ATF_TC_BODY(mmap__maxprot_shm, tc) { + void *p; + int error, fd, pagesize; + + ATF_REQUIRE((pagesize = getpagesize()) > 0); + fd = shm_open(SHM_ANON, O_RDWR, 0644); + ATF_REQUIRE(fd >= 0); + + error = ftruncate(fd, pagesize); + ATF_REQUIRE(error == 0); + + p = mmap(NULL, pagesize, PROT_READ | PROT_MAX(PROT_READ), + MAP_PRIVATE, fd, 0); + ATF_REQUIRE(p != MAP_FAILED); + + error = mprotect(p, pagesize, PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_EXEC); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + + ATF_REQUIRE(munmap(p, pagesize) == 0); + + /* Again, this time with a shared mapping. */ + p = mmap(NULL, pagesize, PROT_READ | PROT_MAX(PROT_READ), + MAP_SHARED, fd, 0); + ATF_REQUIRE(p != MAP_FAILED); + + error = mprotect(p, pagesize, PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_WRITE); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + error = mprotect(p, pagesize, PROT_READ | PROT_EXEC); + ATF_REQUIRE_ERRNO(EACCES, error == -1); + + ATF_REQUIRE(munmap(p, pagesize) == 0); + + ATF_REQUIRE(close(fd) == 0); +} + +ATF_TP_ADD_TCS(tp) +{ ATF_TP_ADD_TC(tp, mmap__map_at_zero); ATF_TP_ADD_TC(tp, mmap__bad_arguments); ATF_TP_ADD_TC(tp, mmap__dev_zero_private); ATF_TP_ADD_TC(tp, mmap__dev_zero_shared); ATF_TP_ADD_TC(tp, mmap__write_only); + ATF_TP_ADD_TC(tp, mmap__maxprot_basic); + ATF_TP_ADD_TC(tp, mmap__maxprot_shm); return (atf_no_error()); } From nobody Fri Oct 4 18:41:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKy722zvNz5YB3d; Fri, 04 Oct 2024 18:41: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKy72074Kz4JZw; Fri, 4 Oct 2024 18:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728067278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kNg/mWVB58YCTcjAicMZMS6Vk5z7hmsdCsEpcSCco88=; b=iAIRrwfACth+fagLL2PV0Edu21q898o6+du33PbNxDj1vJHL4RGkVEkFJdfjUqHHckQlFJ QHl1dnU1aibV2J0dGUV4ek55Km4DGTg8E3VcymzXhQwLlQHlVR9ezbilsA0mbe/DYcnsXu Yv4sDSYCCl7qjrn1SRFV4LpbgogUOktJwxWt5t+AOGfkPRAX8NVzOI20kljDFKvPfmUzbd 65p5lKC8MXurn1oGJp7p1yVqIyJTyCuMb5CRKA14+Xfcb5HRkC6Z/AGnbu47nenUO7s7mL Awj6xJSzUfZLkUKpzFdHPmeBTKP5BGv2Lb3LqJp5iSX07ESSBAxh4wiVVy9iEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728067278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kNg/mWVB58YCTcjAicMZMS6Vk5z7hmsdCsEpcSCco88=; b=Tkf2rowzzNHS1OR51V6mKtbAhdmIhgIHDannb3QBq10FMhPTS+YrHkOnY7ZsgpySdmnNDQ 2yJhyD6xLNiVS4TvQY+FM9EWLviQMZC8fzDryY0yYAzGG3EKW6YFI06d3GRXuucTTbWtaV 7I8tyA9tV9HoXwQR1bnoe/mtGv2NzeGtCsttG4BO0p6fWmpZWWU3LmCy01DR8aFLd6oMdJ GKdQQryxmZ3PjUIRTj+YJrZqx5LHlAX6FrsJd25I6icR0fs/JYFEMXxRzRTDpVaUzJphQL TzwlXd8h+Zlm8gN3ttsac/0+RD4EFEsxZMwqJkd0hl5pLhBpcMo6eYDBbqKspA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728067278; a=rsa-sha256; cv=none; b=gLqz7/djN5HFfB+hFRRFl/1jFm3MpIbPr/oxvXUDgTm48H/MJ/AB1lIzK+ULXX0/XUy+Sp FXcvdlpm1xxN5yL/JPFAmKhHAD8qQzBrXdoy6RkrwaLxlnki2kBNWj7aY2R6IYoHEKyRpU WRpid8corsrUNgsnKT9uVxm5X04oaJxvK5z+mG9+fUljrNdQTnfiNQiEtKNkaAa9wrGEWD fRbSc9mMqIz37dfL5M4Dvsqmj2QY/qltHW33YLFNqd7Q9zjDpGdp8CTIPh6DnzR9LG8ldb cyZL87wNQobyupX4dIDHDUvime9iUSwI3oh10cWMehcbr7vnmXBQfnWzVEDhkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKy716rQszlsc; Fri, 4 Oct 2024 18:41:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494IfHkS029112; Fri, 4 Oct 2024 18:41:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494IfHn4029109; Fri, 4 Oct 2024 18:41:17 GMT (envelope-from git) Date: Fri, 4 Oct 2024 18:41:17 GMT Message-Id: <202410041841.494IfHn4029109@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: 9e7e15b539a6 - main - snd_hdspe(4): AO4S/AI4S support. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e7e15b539a6f3ef98854a47ee346c9100875c8a Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=9e7e15b539a6f3ef98854a47ee346c9100875c8a commit 9e7e15b539a6f3ef98854a47ee346c9100875c8a Author: Ruslan Bukin AuthorDate: 2024-10-04 18:33:36 +0000 Commit: Ruslan Bukin CommitDate: 2024-10-04 18:36:06 +0000 snd_hdspe(4): AO4S/AI4S support. Add support for RME AO4S/AI4S extension cards. They are designed as a bracket with 4 stereo TRS jacks each. https://archiv.rme-audio.de/download/ao4s192_e.pdf https://archiv.rme-audio.de/download/ai4s192_e.pdf Reviewed by: Florian Walpen Differential Revision: https://reviews.freebsd.org/D46409 --- sys/dev/sound/pci/hdspe-pcm.c | 4 ++++ sys/dev/sound/pci/hdspe.c | 1 + sys/dev/sound/pci/hdspe.h | 22 ++++++++++++---------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index 79bfcbea3406..322fd69723c0 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -136,6 +136,8 @@ hdspe_channel_count(uint32_t ports, uint32_t adat_width) /* AIO ports. */ if (ports & HDSPE_CHAN_AIO_LINE) count += 2; + if (ports & HDSPE_CHAN_AIO_EXT) + count += 4; if (ports & HDSPE_CHAN_AIO_PHONE) count += 2; if (ports & HDSPE_CHAN_AIO_AES) @@ -189,6 +191,8 @@ hdspe_port_slot_offset(uint32_t port, unsigned int adat_width) /* AIO ports */ case HDSPE_CHAN_AIO_LINE: return (0); + case HDSPE_CHAN_AIO_EXT: + return (2); case HDSPE_CHAN_AIO_PHONE: return (6); case HDSPE_CHAN_AIO_AES: diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c index 66f5bc5c5d7a..0e25e9599328 100644 --- a/sys/dev/sound/pci/hdspe.c +++ b/sys/dev/sound/pci/hdspe.c @@ -78,6 +78,7 @@ static struct hdspe_clock_source hdspe_clock_source_table_aio[] = { static struct hdspe_channel chan_map_aio[] = { { HDSPE_CHAN_AIO_LINE, "line" }, + { HDSPE_CHAN_AIO_EXT, "ext" }, { HDSPE_CHAN_AIO_PHONE, "phone" }, { HDSPE_CHAN_AIO_AES, "aes" }, { HDSPE_CHAN_AIO_SPDIF, "s/pdif" }, diff --git a/sys/dev/sound/pci/hdspe.h b/sys/dev/sound/pci/hdspe.h index daffeb4ddebc..2f0bdddd930f 100644 --- a/sys/dev/sound/pci/hdspe.h +++ b/sys/dev/sound/pci/hdspe.h @@ -119,23 +119,25 @@ #define HDSPE_DMASEGSIZE (HDSPE_CHANBUF_SIZE * HDSPE_MAX_SLOTS) #define HDSPE_CHAN_AIO_LINE (1 << 0) -#define HDSPE_CHAN_AIO_PHONE (1 << 1) -#define HDSPE_CHAN_AIO_AES (1 << 2) -#define HDSPE_CHAN_AIO_SPDIF (1 << 3) -#define HDSPE_CHAN_AIO_ADAT (1 << 4) +#define HDSPE_CHAN_AIO_EXT (1 << 1) +#define HDSPE_CHAN_AIO_PHONE (1 << 2) +#define HDSPE_CHAN_AIO_AES (1 << 3) +#define HDSPE_CHAN_AIO_SPDIF (1 << 4) +#define HDSPE_CHAN_AIO_ADAT (1 << 5) #define HDSPE_CHAN_AIO_ALL_REC (HDSPE_CHAN_AIO_LINE | \ + HDSPE_CHAN_AIO_EXT | \ HDSPE_CHAN_AIO_AES | \ HDSPE_CHAN_AIO_SPDIF | \ HDSPE_CHAN_AIO_ADAT) #define HDSPE_CHAN_AIO_ALL (HDSPE_CHAN_AIO_ALL_REC | \ HDSPE_CHAN_AIO_PHONE) \ -#define HDSPE_CHAN_RAY_AES (1 << 5) -#define HDSPE_CHAN_RAY_SPDIF (1 << 6) -#define HDSPE_CHAN_RAY_ADAT1 (1 << 7) -#define HDSPE_CHAN_RAY_ADAT2 (1 << 8) -#define HDSPE_CHAN_RAY_ADAT3 (1 << 9) -#define HDSPE_CHAN_RAY_ADAT4 (1 << 10) +#define HDSPE_CHAN_RAY_AES (1 << 6) +#define HDSPE_CHAN_RAY_SPDIF (1 << 7) +#define HDSPE_CHAN_RAY_ADAT1 (1 << 8) +#define HDSPE_CHAN_RAY_ADAT2 (1 << 9) +#define HDSPE_CHAN_RAY_ADAT3 (1 << 10) +#define HDSPE_CHAN_RAY_ADAT4 (1 << 11) #define HDSPE_CHAN_RAY_ALL (HDSPE_CHAN_RAY_AES | \ HDSPE_CHAN_RAY_SPDIF | \ HDSPE_CHAN_RAY_ADAT1 | \ From nobody Fri Oct 4 18:49:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKyJf5vLGz5YBQp; Fri, 04 Oct 2024 18:49:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKyJf4WRnz4KtK; Fri, 4 Oct 2024 18:49:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728067778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=syL4c805njtmQhDuI5f5jbsNDEwyBOrQ9hLkIy98n3Q=; b=uBAXqpTwgTFvfpxVJFhiOf1jKtO+IM5BJhiv5xWyxn2hd+lh56xBYH3RosIY0EUaMmphvX 0MSC5e1Xvqka+FJCen2qQkpPFgu25sl841oK78/i3YpEfksB3tGT2c02FJat7yr6Zu9tEv 3U7T74lF5mI6ay3sy1CVhwsjq3XSJGvsyrlXNB1eRnlmJQEaFgvzCP6GVxrRDP3h9IHMk1 D33CHeZsuSeKXogLwMhYy1gCLPIa5DzAzLhN2iGWpHsTvIRdS58Psgkz7944T9qdegu4Ic LM9JmC+H51rrcMlFmW8uodx+phmFSXYqb1hyk+kU7hJRhR6iMXvbRom+QifPBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728067778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=syL4c805njtmQhDuI5f5jbsNDEwyBOrQ9hLkIy98n3Q=; b=gjeto0QKH7l/YC2kS6ekWWWuCQnsB1zqhPoV4cqxNfKYNBt+8P+gwNt0GHHB3W8b2un+B3 vWss+z2i/lu3x3WK127/3qY2ReFosNIeMInefEWjuXKM2XWh26j6mS20ayofwIl4NAQRrZ 5JpcdQCweuDPEo8wdoPlUpAq8uuScee2dY1JtEAf/WV80NdJCM6LkwtNnprDpVqvs/9u29 mhUC7EhUghi/GQKffmkLnDWXrl8LgkMVwFvSEs3xup63gCIJnh8on19nRLputo8Y63nytV acIzxVQA9Ujyb6n6mPZKCqKxTKOJPapqp0XbvyMPq9+MDcfv/w7nhedGwCCDzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728067778; a=rsa-sha256; cv=none; b=LCD6L5xmsWAXKQHuPXao2YZEfyUNPLTHwH5we66u7OFpWk6E7kdSLN5HznX6FUwl6ZjVS6 euSHLZBqSwoSFG/Ur31bbRP8blVtSWmXrSZyGAR6LsRpPBZIGc1q5Lr10ld9TXPkAdGXTF Z4FQMTGb5dW45Swcg1ZuvtjTsN3cmPyT8Meq9cz0ftHk5p11ZE54Aslq73SFEwsQA1YCln FEQ3lJMeIYwx8RW7FVvjNkVetFDrgqbC9liMbkLHCMSkuRm7TNWlETawQX3lct0n/oG3ZE 88V6HvOduJc+45a2RHVk5cSDca21w6z+DaAieYUF9L/WQQERg1AXzEhxqkaU2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKyJf3RW5zlt0; Fri, 4 Oct 2024 18:49:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494Inccx036912; Fri, 4 Oct 2024 18:49:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494Inc0k036909; Fri, 4 Oct 2024 18:49:38 GMT (envelope-from git) Date: Fri, 4 Oct 2024 18:49:38 GMT Message-Id: <202410041849.494Inc0k036909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: 8fb467568877 - main - snd_hdspe(4): Addendum to AO4S-192 and AI4S-192 support. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8fb4675688770783203e012fe21aa61154bb32f6 Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=8fb4675688770783203e012fe21aa61154bb32f6 commit 8fb4675688770783203e012fe21aa61154bb32f6 Author: Florian Walpen AuthorDate: 2024-10-04 18:46:39 +0000 Commit: Ruslan Bukin CommitDate: 2024-10-04 18:46:39 +0000 snd_hdspe(4): Addendum to AO4S-192 and AI4S-192 support. Fix unified pcm mode after support for the AO4S-192 and AI4S-192 extension boards was added. Adjust the man page accordingly. Reviewed by: br Differential Revision: https://reviews.freebsd.org/D46946 --- share/man/man4/snd_hdspe.4 | 6 +++--- sys/dev/sound/pci/hdspe-pcm.c | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/share/man/man4/snd_hdspe.4 b/share/man/man4/snd_hdspe.4 index a8c7be538dd1..ac81356fb783 100644 --- a/share/man/man4/snd_hdspe.4 +++ b/share/man/man4/snd_hdspe.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 9, 2024 +.Dd September 28, 2024 .Dt SND_HDSPE 4 .Os .Sh NAME @@ -55,7 +55,7 @@ driver supports the following audio devices: .Pp .Bl -bullet -compact .It -RME HDSPe AIO +RME HDSPe AIO (optional AO4S-192 and AI4S-192 extension boards) .It RME HDSPe RayDAT .El @@ -84,7 +84,7 @@ For resulting channel numbers consult the following table: .Bl -column "HDSPe RayDAT" "Single Speed" "Double Speed" "Quad Speed" .Sy "Sound Card" Ta Sy "Single Speed" Ta Sy "Double Speed" Ta Sy "Quad Speed" .It "" Ta "Play | Rec" Ta "Play | Rec" Ta "Play | Rec" -.It HDSPe AIO Ta " 16 | 14" Ta " 12 | 10" Ta " 10 | 8" +.It HDSPe AIO Ta " 20 | 18" Ta " 16 | 14" Ta " 14 | 12" .It HDSPe RayDAT Ta " 36 | 36" Ta " 20 | 20" Ta " 12 | 12" .El .Sh SYSCTL TUNABLES diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index 322fd69723c0..1f8fbbcef078 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -114,10 +114,8 @@ hdspe_port_first_row(uint32_t ports) uint32_t ends; /* Restrict ports to one set with contiguous slots. */ - if (ports & HDSPE_CHAN_AIO_LINE) - ports = HDSPE_CHAN_AIO_LINE; /* Gap in the AIO slots here. */ - else if (ports & HDSPE_CHAN_AIO_ALL) - ports &= HDSPE_CHAN_AIO_ALL; /* Rest of the AIO slots. */ + if (ports & HDSPE_CHAN_AIO_ALL) + ports &= HDSPE_CHAN_AIO_ALL; /* All AIO slots. */ else if (ports & HDSPE_CHAN_RAY_ALL) ports &= HDSPE_CHAN_RAY_ALL; /* All RayDAT slots. */ From nobody Fri Oct 4 18:53:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKyPL2YPNz5YBxL; Fri, 04 Oct 2024 18:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKyPL1cyNz4LWm; Fri, 4 Oct 2024 18:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728068022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KwZdAcvti2J4pJQJuoG56NciUVoeg5bFFvmsZnk31OU=; b=ntTmzPL502zSrzFaZ79WYYjzbJLvKsa9iUi2yb6IylQJMaxWXqPT6Z8NCT5R55Kmt1SAzd 6TkNHMOchhlJXNqkalyYVSLyY6IhdOxqxIIwsqBMuW89WRVURjE/Xlsm0AxdbTpw4CvrcQ tYOh+VUTEx8KOR1S0MRxPOZeThUpSd7o1xB2/moKdA81Qw+tLbQI6l2SLBcDWMMVtG5sap rObahLT/7JeiX06A1zMhf+hGQEupYH3Z3ebU8HWQQy+aEXJFFJUjq5rBQdD6Oos0Ls3OHr PdrQVKp6YMxtSrfq0pUq72A9pdnk8ETzQDZ2cO5PFtm1mas8kFvVuIohkTZd/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728068022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KwZdAcvti2J4pJQJuoG56NciUVoeg5bFFvmsZnk31OU=; b=YKy2nIkt0UP2T6k0DTXtpAI1mZ1ImJoXjzqRHCEbW85u14fUGKNm4D5Jl81ba9GX2gJ3dE AJnMi4gMBneGBxq7zLxnF0lSXreuyC3E7i2wdXFHkL/zgcwxG196YecfGyTpRVBEDiZDMi bboZ4pV6wgfKaBgaVZo5PtogjvbpnAViek5vam5JeNrtJ99pmgqbJZ0ZksfGm4egdXPcjt StgH0jA9QVVt1DHQ6Sd6hKbSIu19FEwOMiUp5vL0lr1DolQuTSLRXJ+LxbgGSXNqtRV6H+ zo3hdF6VpiAYzjpkg5CWD3jX6aqA67Xfsfu1SJpRfCNYV6Ck3/9e6wP4Ih/OSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728068022; a=rsa-sha256; cv=none; b=t27IxGO3evYOAu/QRwEqbSqsDG00gnlZZ3AQTK5B86vDI4p+p3TfobebrP02Z1tF5JnlxR jWmlMG5IDcNzAH76CcV1z+0qReLxel1PNlk7GnYJfTpp9zRJcQiTQABLdgPB1yTMlDzYvE PMcNS1xBF0kqWY+chpbTQvlMrC1HhgykkZai+TwXZlxOvW0YBFOFn6F89TpfZ//+JKRGzG /advsX361SREip3S5wD/6IpmD/Jl8DFxEgFqwnbcyVI1QlTVgR9h6cUVJii2ZW9rwvPQhx jtm03r/B1y5S5pjtZtxB1dMXukP/IBxTc5KRGbvci6C2Q33/hfBrZv5cdRfhBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKyPL1C8gzlhJ; Fri, 4 Oct 2024 18:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494Irgt0052498; Fri, 4 Oct 2024 18:53:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494IrgSW052495; Fri, 4 Oct 2024 18:53:42 GMT (envelope-from git) Date: Fri, 4 Oct 2024 18:53:42 GMT Message-Id: <202410041853.494IrgSW052495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: e0c37c160b11 - main - snd_hdsp(4): Support AO4S-192 and AI4S-192 extension boards. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0c37c160b115b0bf41847ab60a5dabf0dc71300 Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=e0c37c160b115b0bf41847ab60a5dabf0dc71300 commit e0c37c160b115b0bf41847ab60a5dabf0dc71300 Author: Florian Walpen AuthorDate: 2024-10-04 18:51:38 +0000 Commit: Ruslan Bukin CommitDate: 2024-10-04 18:51:49 +0000 snd_hdsp(4): Support AO4S-192 and AI4S-192 extension boards. Create an additional 4 channel pcm device for RME HDSP 9632 sound cards, to support the optional AO4S-192 and AI4S-192 extension boards. For simplicity, the pcm device is always present, even if the extension boards are not installed. Unfortunately I cannot test this with actual hardware, but I made sure the additional channels do not affect the functionality of the HDSP 9632 as currently in src. Reviewed by: christos, br Differential Revision: https://reviews.freebsd.org/D46837 --- share/man/man4/snd_hdsp.4 | 6 +++--- sys/dev/sound/pci/hdsp-pcm.c | 2 +- sys/dev/sound/pci/hdsp.c | 1 + sys/dev/sound/pci/hdsp.h | 5 +++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/share/man/man4/snd_hdsp.4 b/share/man/man4/snd_hdsp.4 index 23eb98a3ccc2..d6661c80b2ea 100644 --- a/share/man/man4/snd_hdsp.4 +++ b/share/man/man4/snd_hdsp.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 1, 2024 +.Dd September 28, 2024 .Dt SND_HDSP 4 .Os .Sh NAME @@ -56,7 +56,7 @@ driver supports the following audio devices: .Pp .Bl -bullet -compact .It -RME HDSP 9632 +RME HDSP 9632 (optional AO4S-192 and AIS-192 extension boards) .It RME HDSP 9652 .El @@ -86,7 +86,7 @@ For resulting channel numbers consult the following table: .Bl -column "Sound Card" "Single Speed" "Double Speed" "Quad Speed" .Sy "Sound Card" Ta Sy "Single Speed" Ta Sy "Double Speed" Ta Sy "Quad Speed" .It "" Ta "Play | Rec" Ta "Play | Rec" Ta "Play | Rec" -.It HDSP 9632 Ta " 12 | 12" Ta " 8 | 8" Ta " 4 | 4" +.It HDSP 9632 Ta " 16 | 16" Ta " 12 | 12" Ta " 8 | 8" .It HDSP 9652 Ta " 26 | 26" Ta " 14 | 14" Ta " - | -" .El .Sh SYSCTL TUNABLES diff --git a/sys/dev/sound/pci/hdsp-pcm.c b/sys/dev/sound/pci/hdsp-pcm.c index 29bd0bc70ee4..a50fc2b52fc0 100644 --- a/sys/dev/sound/pci/hdsp-pcm.c +++ b/sys/dev/sound/pci/hdsp-pcm.c @@ -107,7 +107,7 @@ hdsp_port_slot_map(uint32_t ports, uint32_t speed) slot_map |= (0x03 << 8); /* 2 channels SPDIF. */ if (ports & HDSP_CHAN_9632_LINE) slot_map |= (0x03 << 10); /* 2 channels line. */ - if (ports & HDSP_CHAN_9632_EXT_BOARD) + if (ports & HDSP_CHAN_9632_EXT) slot_map |= (0x0f << 12); /* 4 channels extension. */ } else if ((ports & HDSP_CHAN_9652_ALL) && (speed <= 96000)) { /* Map HDSP 9652 ports to slot bitmap, no quad speed. */ diff --git a/sys/dev/sound/pci/hdsp.c b/sys/dev/sound/pci/hdsp.c index 769615cb1f4b..cf251a5636a1 100644 --- a/sys/dev/sound/pci/hdsp.c +++ b/sys/dev/sound/pci/hdsp.c @@ -74,6 +74,7 @@ static struct hdsp_channel chan_map_9632[] = { { HDSP_CHAN_9632_ADAT, "adat" }, { HDSP_CHAN_9632_SPDIF, "s/pdif" }, { HDSP_CHAN_9632_LINE, "line" }, + { HDSP_CHAN_9632_EXT, "ext" }, { 0, NULL }, }; diff --git a/sys/dev/sound/pci/hdsp.h b/sys/dev/sound/pci/hdsp.h index 5ff622892c52..981188ad8aff 100644 --- a/sys/dev/sound/pci/hdsp.h +++ b/sys/dev/sound/pci/hdsp.h @@ -130,10 +130,11 @@ #define HDSP_CHAN_9632_ADAT (1 << 0) #define HDSP_CHAN_9632_SPDIF (1 << 1) #define HDSP_CHAN_9632_LINE (1 << 2) +#define HDSP_CHAN_9632_EXT (1 << 3) /* Extension boards */ #define HDSP_CHAN_9632_ALL (HDSP_CHAN_9632_ADAT | \ HDSP_CHAN_9632_SPDIF | \ - HDSP_CHAN_9632_LINE) -#define HDSP_CHAN_9632_EXT_BOARD (1 << 3) + HDSP_CHAN_9632_LINE | \ + HDSP_CHAN_9632_EXT) #define HDSP_CHAN_9652_ADAT1 (1 << 5) #define HDSP_CHAN_9652_ADAT2 (1 << 6) From nobody Fri Oct 4 20:35:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XL0fL31Q2z5YK9G; Fri, 04 Oct 2024 20:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XL0fL0w8pz4TL0; Fri, 4 Oct 2024 20:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728074106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukoLyTCsZDnEK52R7OapfxvcVTt63L+axrUZL4tkViE=; b=X/wq24O4Ro7tGxkgQXfU/3he+41YLtTs3cgs/6a+GprJl8HFFiAxT4lum94UzapOMW6gjP bka9/4xQ1Cj3cbSmgNzYb30+NupjyBX4bJHCMu+ioEV+X7KZ/ameH2EBKBIFD810iNO5ZU MbFzG6G2aDCjqM2m+XxNhDVLyBAlpGAtb9/k6+T0pRklFfCfP48kurQFCS1rKu1fUID+GP gZ5MahovWo/WjbMVRUsTo5bIQ0IG5QuErydxUcH6aG26nnMffNgZ6aNDhTkrt4nCIvbJhU VgpZvfZ1+wLmJlcbmavzbTk7d9e65W2mny7SxEijTfY1MpaVZpY05o3PkH2IzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728074106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukoLyTCsZDnEK52R7OapfxvcVTt63L+axrUZL4tkViE=; b=ovQXymUi0XJtYiEN1G7ROQ8/0qGVvAhFmLuVs1WvsHvaUvUkjDDa1tZUmHpdfDAehHKXtN aJ+ngFbwe0uHYwqIonuWPdQfKLf30n526zQX0V8eaiW0iFmACKBFkgLUAykMv5MHWOIC65 RN8+PU/rCZKVZWpvHGuoRH3uWRg/PRAbN0KfmahwfFMM7XUJpURZ9YzjNFAHc/Wi/Yx/Np 7+eW6YA21g1ngO61IT+jyle2qcMLeo5i/iP/KVu57fD8AbZyaoyjbwI+1JfR645stlkoTx VdQvWQtlCZPkU3BIEtPaGaOiCkXR4mWssikIEZ3m9IQhK1XSpA/8YW+y5R0X9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728074106; a=rsa-sha256; cv=none; b=URW605NuPlKOIu0Ztn7Ms2WVUWK/Q9JDDnZ+LM2MBpYc2/8Z6PmJITFKMNkCgXcbkKjMw/ 7fInt1rV9hRUq9qFmS1B8QmOiTS6Y2jxbjMYzHB7yJyQ9lF0YkBxTjWusSRF8ZUskZ03wy w3VtjkJGqO3wIQrZVXHWDeoSVkYrfWj81saNGTLFEkCliu09CvQd5sh45PVFymG+FvTnvc ooLNn8uY3oHSRV78TlmLaOnNCkZyoJzPm2/tPiWRhZQewe8bx8ueH6FsXVHxsCLGmgH9yu Nz5KUzNT6kqDmAq7qgNKqpcJ8WY/D5pDZ3qgqZdR86Loj2pCTTqmBCh1f2HWWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XL0fL0WyKzpsL; Fri, 4 Oct 2024 20:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494KZ5Pf023228; Fri, 4 Oct 2024 20:35:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494KZ5TL023225; Fri, 4 Oct 2024 20:35:05 GMT (envelope-from git) Date: Fri, 4 Oct 2024 20:35:05 GMT Message-Id: <202410042035.494KZ5TL023225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: d0af970e3ce4 - main - sysv shm: Fix SHM_REMAP flag value List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0af970e3ce4a7e2108a4bc2442c6c98f6aa4ffa Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d0af970e3ce4a7e2108a4bc2442c6c98f6aa4ffa commit d0af970e3ce4a7e2108a4bc2442c6c98f6aa4ffa Author: Brooks Davis AuthorDate: 2024-10-04 20:34:03 +0000 Commit: Brooks Davis CommitDate: 2024-10-04 20:34:03 +0000 sysv shm: Fix SHM_REMAP flag value SHM_REMAP was incorrectly defined to 030000 which collides with SHM_RDONLY and SHM_RND. Renumber to 040000 (incidentally matching Linux). This is an ABI break, but the previous ABI was unusable (SHM_REMAP would imply SHM_RDONLY and vice versa). Fortunately SHM_REMAP has very few consumers in the wild (I spotted openjdk for Linux, libfabric, MIPCH, and one other MPI thing in Debian code search) Reviewed by: kib Fixes: ea7e7006db10 Implement shmat(2) flag SHM_REMAP. Differential Revision: https://reviews.freebsd.org/D46825 --- sys/sys/shm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/shm.h b/sys/sys/shm.h index d80de811ef7d..df32230dcdc7 100644 --- a/sys/sys/shm.h +++ b/sys/sys/shm.h @@ -51,7 +51,7 @@ #define SHM_RDONLY 010000 /* Attach read-only (else read-write) */ #define SHM_RND 020000 /* Round attach address to SHMLBA */ -#define SHM_REMAP 030000 /* Unmap before mapping */ +#define SHM_REMAP 040000 /* Unmap before mapping */ #define SHMLBA PAGE_SIZE /* Segment low boundary address multiple */ /* "official" access mode definitions; somewhat braindead since you have From nobody Fri Oct 4 23:06:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XL4180PKKz5YTr5; Fri, 04 Oct 2024 23:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XL41771mVz4hbD; Fri, 4 Oct 2024 23:06:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728083196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kb+DZ9R3DYeEGmpy5m31rXsTdlvsK3P7SGKexHhL/Ow=; b=CIUadnRqqaEhPDCzKnyeX6RdrCryoAfm19Uurex8V0CS3viAM+AAOoW6qLaPBmzgVePtpr Q2txIJ/+cvm+Qt6m8SfKa7UTtq+tSYXSWGrAZTLVAhy8Ui2ZsPTEPSWUHFgyLApQDkY6v/ 19Z/Dm122BDu8dljA1PQ87ozqERGUj/OycRJmnvE2QQ9Lu4rFz8mBMCfgDwSWR3AX9vPwH 5dJZbjiEWDtTo9dyeCdAE9k7bxNrznZDkQF3g+sAl+bRz+unIjjD4OU6hDOv+mYB0D5yMv /qACgylAS/6qVmEJB1M6Cnqbexyurj3rgsfGrsAzwipGUzGcxb0vrMUo64NTAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728083196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kb+DZ9R3DYeEGmpy5m31rXsTdlvsK3P7SGKexHhL/Ow=; b=b8ZzldPUDNLiRj8tgtgC/G427t26tkfmnaOjNUr/RL9nhDmgoX5GEWbckZbuXD/RjR/QYZ kKFJyM3Z24KK7URgjjbZFqKx3rWSzInIo5G4YZN+5FWmrXq1f79GqXz1PhSlcatdgEW7aT EGhAdKFRehodEEalI5DksA8yrxYxSHs3sciGkcwRPUyj+pL3YXNp2HboDBzAPqnCCBLEAA FUKO116zOHpcGtScN1QbjYhmVSYuEIYZs/IB6aDs5j3ibdcv1A8ZcLFn+gSisZUFOOsG9R a5l34sB0yuBUhDOot9d5XMygVnlK7o+PE0TJ+5ooniYVX/sAA4O7AYtD2j5XUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728083196; a=rsa-sha256; cv=none; b=rBKaFPGKduj7vUHdokQu2hYOchvc85PZcv4CF0ZO6GgOFmWMeXlvBesW7CyWAkQMjyQoVq IWTKyYBgSRBxpFsY5C/u0xJzxFP3/wv7Uyk+8NSArILVNq9MJbb1Ngx7UrLHhoj1i4Xb+e xpL3nMCKbrVUhwVfnUh+v6YdbAqCLAwzIt0Xmw9/AS1yOF4gxKZE4hzC64nthG4B8FDoSt pCWSrX/UplwIPo/jKPKya0tZDOMe3lkPDRXRvXsP58i0ueslzpFEOHwXI4qFvUbpmGUpF6 7HdkwLT/TBlIikDfe5L9ypvo+rWJtIbGM7EHNsG+ezNLDN2Ai7sFQEDJRcaixA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XL4176cq4ztbP; Fri, 4 Oct 2024 23:06:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494N6ZHT077167; Fri, 4 Oct 2024 23:06:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494N6Zas077164; Fri, 4 Oct 2024 23:06:35 GMT (envelope-from git) Date: Fri, 4 Oct 2024 23:06:35 GMT Message-Id: <202410042306.494N6Zas077164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 77fd02501f09 - main - src.conf.5: regen after diff3 changes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77fd02501f0966ef54eb4a42e086a61a48134c42 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=77fd02501f0966ef54eb4a42e086a61a48134c42 commit 77fd02501f0966ef54eb4a42e086a61a48134c42 Author: Brooks Davis AuthorDate: 2024-10-04 22:01:03 +0000 Commit: Brooks Davis CommitDate: 2024-10-04 22:01:03 +0000 src.conf.5: regen after diff3 changes Fixes: 2201f7c49f11 Build BSD diff3 if GNU diff3 is disabled. --- share/man/man5/src.conf.5 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index c259e05af807..72ca14b8eae8 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 26, 2024 +.Dd October 4, 2024 .Dt SRC.CONF 5 .Os .Sh NAME @@ -720,7 +720,10 @@ and programs instead of the enhanced versions. .It Va WITHOUT_GNU_DIFF Do not build GNU -.Xr diff3 1 . +.Xr diff3 1 ; +build BSD +.Xr diff3 1 +instead. .It Va WITHOUT_GOOGLETEST Neither build nor install .Lb libgmock , From nobody Fri Oct 4 23:06:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XL4191sHNz5YV9l; Fri, 04 Oct 2024 23:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XL4190XSqz4hGg; Fri, 4 Oct 2024 23:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728083197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tg2N/59C/8m25OBdNSDHIVK/0zWs+YICxydRHVN7In4=; b=GzBZyCaUdE0FJvDq7YpZMWpupZOmp88gLmbbDhlfPhNDi6DylBuWogc62Wag22WOS2WcVu nj+p3iwZDi7y5t5WMVkTA5soTJ5zlCM5/WVNdomA8dGzbBofE3fObJWvzCYOwzpVGzs7kD rE8rp3lw4OAf09YlGJhjfKvJofWhFG9GEM77+ujl+YPNg2WO7bbWSqLn0fWOMLgTymYKgz 6BMH9b94Zq4QfqgWHZg571ujwyB18oQgmFbjAjHD3uUP8q6Q+3odK74hBktUETMV7nj6iU s0wuVAuj+axdr6NVliVLvJYKtK080ItAMKigw74wDEM5a5ax34FQjfFAj15SoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728083197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tg2N/59C/8m25OBdNSDHIVK/0zWs+YICxydRHVN7In4=; b=Y5s/icw7WhrqVTnzKaUIShDsQvdl9CpCFE1i29deHglM+BLagFLN8WiQpmS1QJQMXE1LA9 VS12ztHxIZK8WJFqeVVa+amPiYdhqo9J0kAXGUoHmcgyOsSop3SmXIwhudAhYnTB2KFYGv f+6buBbOcTmambSojF7QreMJ+czqyV855NjHcu2mQxDPPQa9XEldveLBRzCZgCc5Pr2WEP SOGIP9fuzh9Ifb9sKw+pUQ3JhfVgMxKqKPy/B5bmAPPkb51XUtHlrpbLTSXQF0HHeoFuMA /DoEi4dF1ETWRHC0r+thzyTkQmb7/qzYUm/pxc/BiHLZmnTaLw7ERAHTMdF7eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728083197; a=rsa-sha256; cv=none; b=BRjUwk7FtTjkKLNPpo8rKN2ENNF1MTfwOX0DdHlUhhDZoiGRTkC7RbjOUi4t9kir2GjBOA Nib8j3CqPk4t37GR76+z5RGDxgHH5ZEAOyTal7wdJ9ieoxCG0t5m+cNmmarlmIM59DQ+sy kjd2KyhGqMEYDScbpbsJUPrtSIMy0TBBxEiog5zpsHYgDISV4haRybIGgANuFbpETXD0KR clFh8YZOd7lZcjpqDDMSXkDPUTzHP6eSdt+5+STmY46V1JzDoGQvD/e0eQlCuVjZVoBmXD ukH+VWVgNsEDX7lDvuP2EBCDQ/iWX7oYEMQSqSjvzg6viKXSyrXPt9OhqXO7iA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XL419083VztbQ; Fri, 4 Oct 2024 23:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 494N6acD077216; Fri, 4 Oct 2024 23:06:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 494N6a3V077213; Fri, 4 Oct 2024 23:06:36 GMT (envelope-from git) Date: Fri, 4 Oct 2024 23:06:36 GMT Message-Id: <202410042306.494N6a3V077213@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 74f6ec6fe3cf - main - lib{c,sys}: .note.GNU-stack in syscall stubs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f commit 74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f Author: Brooks Davis AuthorDate: 2024-10-04 21:13:41 +0000 Commit: Brooks Davis CommitDate: 2024-10-04 22:01:45 +0000 lib{c,sys}: .note.GNU-stack in syscall stubs Explicitly disable executable stacks in the syscall stubs on all architectures. Previously, aarch64 and riscv64 didn't include the .note.GNU-stack note due it being disabled by default in those ABIs. This appears to have been harmless in practice, but better to be clear in case a different compiler/linker has different defaults. This also reduces special cases in the Makefile. Reported by: jrtc27 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44883 --- lib/libsys/Makefile.sys | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index d18f4bc23227..7454f5a47720 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -129,12 +129,7 @@ SYM_MAPS+= ${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map # Generated files CLEANFILES+= ${SASM} ${SPSEUDO} -.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ - ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm" NOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n' -.else -NOTE_GNU_STACK='' -.endif .if ${MACHINE_CPUARCH} == "aarch64" FEATURE_NOTE='\#include \nGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)\n' .else From nobody Sat Oct 5 09:51:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLLKh0J83z5Y4G9; Sat, 05 Oct 2024 09:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLLKg6Nrfz4kNL; Sat, 5 Oct 2024 09:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728121911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWBFHBQFt/CLN5TYEB3OqT1OTPeQyJVOMI8dFJeGRi4=; b=SfGv546e6b1cLxPHM8RmhmzSA9WJQZkSLcZRxeGOK158316ODQv7WjOY/kqbjf+tD7PHLO NvmJZos2R/S8gtTdiEWk7OyFa/uFBvvqNGch1jP4j3eutlINE36+T5nrGTmPAztnj0hWP7 xBqwU9QF4WqWphq2UnPmDenpVYDN81HuFMUtdBP8pYw7cEXXikpCfZGIRaMhWiJFQlGDIH HRJTHxUGkqi+Og7lkGjTY5dJ0Ie67JesBC9SS6QsdE0o4PqRx7IsEZHXaDL0PfNhAyCq41 xHEL/1PXne8q+q11qHhHh8sOK5Zh3Upf6nYRqnczCeulT7CmI4miWkt+B3K3SA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728121911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWBFHBQFt/CLN5TYEB3OqT1OTPeQyJVOMI8dFJeGRi4=; b=cZLFhrZzGR5x5ETyIHVY+K4A4kzjKOpEh7H3RDXud8Am0R3dYP3Ygjb6DTf6aBS0Jl2PZ6 +NNo9CZCTiu+I6nMRaVG+NTGCcumtcCdFJNcriGKhTK+HLJiJHBN8qbXQSApu9COEpvFB0 yMaOK5KC4Tw4hyFGrvKergkNK8amyYBKYtZXw7u4NQKzKCqjDMXuZs5h2oGj005LytHsf7 hTpl+5vxW31xvBP2AoCzlwXMUr2G2th34F+iR2zNl1bulunzXhER/wVMJgBod3qyjG07Vy hoYzDTEY/sYrZ+8RJ4mltLIFdWg4VdI2MDAsgV01NWKj9O/Wzj36el8GtCYFoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728121911; a=rsa-sha256; cv=none; b=MwFDzfTRt8oLR5HRDHs7EjNF/fP8K041V7j0eTEdcdaHO69SwxYmtkCa/MRww6SOQoi8e2 4IuC31RFheAK1Ck2ddY7o/Iftl0OCwKJPGuUzS9JjEmJCyPid21M454Fm+syuc+6MkAnRW aj8uZIGnZpq8Oa8fu1HHHf+fg/IfVVx292Mki8ATrog5nYc8cY0xFOfYWWJWSl/SBVLU7g zrET2XipFx/UfuoZj5gRBue01CGxiTdaOPq27LDvwdwq6b+gldiMvDQQBvDy6rrw10gU1J 8tDjo5cDWhxRXfEbpX7u9SwixYOq1m7vruj1L0gALwX304o/IluHkeUAH0Xjkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XLLKg5hKKz1Cqy; Sat, 5 Oct 2024 09:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4959ppcI076883; Sat, 5 Oct 2024 09:51:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4959ppFH076880; Sat, 5 Oct 2024 09:51:51 GMT (envelope-from git) Date: Sat, 5 Oct 2024 09:51:51 GMT Message-Id: <202410050951.4959ppFH076880@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: 9f146a81d2b3 - main - dummymbuf: Validate syntax upon write to net.dummymbuf.rules sysctl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f146a81d2b33cfed0d5a494e798100c4e4f2a72 Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=9f146a81d2b33cfed0d5a494e798100c4e4f2a72 commit 9f146a81d2b33cfed0d5a494e798100c4e4f2a72 Author: Igor Ostapenko AuthorDate: 2024-10-05 08:04:08 +0000 Commit: Igor Ostapenko CommitDate: 2024-10-05 08:04:08 +0000 dummymbuf: Validate syntax upon write to net.dummymbuf.rules sysctl For now, opargs are not validated due to their runtime nature. Reviewed by: kp Approved by: kp (mentor) Differential Revision: https://reviews.freebsd.org/D46496 --- sys/net/dummymbuf.c | 61 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/sys/net/dummymbuf.c b/sys/net/dummymbuf.c index d4ba00b13235..99b6e6944752 100644 --- a/sys/net/dummymbuf.c +++ b/sys/net/dummymbuf.c @@ -40,6 +40,8 @@ #include #include +static int validate_rules(const char *); + /* * Separate sysctl sub-tree */ @@ -65,6 +67,7 @@ VNET_DEFINE_STATIC(struct sx, dmb_rules_lock); #define DMB_RULES_SUNLOCK() sx_sunlock(&V_dmb_rules_lock) #define DMB_RULES_XLOCK() sx_xlock(&V_dmb_rules_lock) #define DMB_RULES_XUNLOCK() sx_xunlock(&V_dmb_rules_lock) +#define DMB_RULES_LOCK_ASSERT() sx_assert(&V_dmb_rules_lock, SA_LOCKED) static int dmb_sysctl_handle_rules(SYSCTL_HANDLER_ARGS) @@ -86,12 +89,14 @@ dmb_sysctl_handle_rules(SYSCTL_HANDLER_ARGS) } else { /* read and write */ DMB_RULES_XLOCK(); - if (*rulesp == NULL) { - *rulesp = malloc(arg2, M_DUMMYMBUF_RULES, - M_WAITOK | M_ZERO); - } - arg1 = *rulesp; + arg1 = malloc(arg2, M_DUMMYMBUF_RULES, M_WAITOK | M_ZERO); error = sysctl_handle_string(oidp, arg1, arg2, req); + if (error == 0 && (error = validate_rules(arg1)) == 0) { + free(*rulesp, M_DUMMYMBUF_RULES); + *rulesp = arg1; + arg1 = NULL; + } + free(arg1, M_DUMMYMBUF_RULES); DMB_RULES_XUNLOCK(); } @@ -135,7 +140,13 @@ VNET_DEFINE_STATIC(pfil_hook_t, dmb_pfil_ethernet_hook); * Logging */ -#define FEEDBACK(pfil_type, pfil_flags, ifp, rule, msg) \ +#define FEEDBACK_RULE(rule, msg) \ + printf("dummymbuf: %s: %.*s\n", \ + (msg), \ + (rule).syntax_len, (rule).syntax_begin \ + ) + +#define FEEDBACK_PFIL(pfil_type, pfil_flags, ifp, rule, msg) \ printf("dummymbuf: %s %b %s: %s: %.*s\n", \ (pfil_type == PFIL_TYPE_IP4 ? "PFIL_TYPE_IP4" : \ pfil_type == PFIL_TYPE_IP6 ? "PFIL_TYPE_IP6" : \ @@ -198,7 +209,7 @@ bad: } static bool -read_rule(const char **cur, struct rule *rule) +read_rule(const char **cur, struct rule *rule, bool *eof) { // {inet | inet6 | ethernet} {in | out} [ ]; @@ -276,11 +287,37 @@ read_rule(const char **cur, struct rule *rule) return (false); rule->opargs = *cur; + // the next rule & eof *cur = delim + 1; + while (**cur == ' ') + (*cur)++; + *eof = strlen(*cur) == 0; return (true); } +static int +validate_rules(const char *rules) +{ + const char *cursor = rules; + bool parsed; + struct rule rule; + bool eof = false; + + DMB_RULES_LOCK_ASSERT(); + + while (!eof && (parsed = read_rule(&cursor, &rule, &eof))) { + /* noop */ + } + + if (!parsed) { + FEEDBACK_RULE(rule, "rule parsing failed"); + return (EINVAL); + } + + return (0); +} + static pfil_return_t dmb_pfil_mbuf_chk(int pfil_type, struct mbuf **mp, struct ifnet *ifp, int flags, void *ruleset, void *unused) @@ -289,26 +326,26 @@ dmb_pfil_mbuf_chk(int pfil_type, struct mbuf **mp, struct ifnet *ifp, const char *cursor; bool parsed; struct rule rule; + bool eof = false; DMB_RULES_SLOCK(); cursor = V_dmb_rules; - while ((parsed = read_rule(&cursor, &rule))) { + while (!eof && (parsed = read_rule(&cursor, &rule, &eof))) { if (rule.pfil_type == pfil_type && rule.pfil_dir == (flags & rule.pfil_dir) && strcmp(rule.ifname, ifp->if_xname) == 0) { m = rule.op(m, &rule); if (m == NULL) { - FEEDBACK(pfil_type, flags, ifp, rule, + FEEDBACK_PFIL(pfil_type, flags, ifp, rule, "mbuf operation failed"); break; } counter_u64_add(V_dmb_hits, 1); } - if (strlen(cursor) == 0) - break; } if (!parsed) { - FEEDBACK(pfil_type, flags, ifp, rule, "rule parsing failed"); + FEEDBACK_PFIL(pfil_type, flags, ifp, rule, + "rule parsing failed"); m_freem(m); m = NULL; } From nobody Sat Oct 5 11:34:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLNc93lcXz5YBQR; Sat, 05 Oct 2024 11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLNc93MTtz4rqg; Sat, 5 Oct 2024 11:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728128073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPQ4VOsjfThRmeG4fAFt/7SNWnq5DmFJctDEpN8cEvg=; b=nnK5jE0Anu7LOiyKtD1NkhVGgO4W/fnHy83zEtirXIvSh7mJVTWmf/+psA/M7vLQliUJe6 xfNqK0LKi1kjDVu48hmZb86l6Tu0uoRNL3NUhZwaICG6UrUPY1OKkzLB3zYLv0aI8dlM9Y psWYbM/tWSQaI/COFkcb0NS7lG93uWBAfyaSJXfgnWS+Sdvbq2uffslDiUOLUWvWEJ+kLq m2BVVHx+vR0Fey4JUELEakooryyIYnKwak01Y5L0fCHpGx4usX7TYTsx9v8pICD+NMtzxQ vTe2ywOfSvMw9Eii5ehfkucG2pF11PiYWOIZp4nXgh3lC7HCJFmaBlndv6e0vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728128073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPQ4VOsjfThRmeG4fAFt/7SNWnq5DmFJctDEpN8cEvg=; b=UpRaZKOAsPgnnQPlqKT6KTX6Oq10AoJn338fDE9w0/GCUPzQ9GfFJWwwP8KQVOrMYVZvgN dH2rdnWOt1YBYv4OWy5ypDX/GaqiW/M4AmfvJ6jyD7cFjY8SmFuv8dY6FvhjoQ0pk6bUjZ RtWGpBMVXwu74m74mhskOWHCtSOEWAzwIRIPAbC274Llb4aEd5hVqnPp8bfipfO/iS7Z3P bsNc0VBp4hiqxcEE6riqUaOIwO7CwqKl4Y7GttIisCymXDISBosZ2LxIpS4qpj45vRplbF Mn78qDj8YkGqjKA9FOLjV9H5YxRiEj9uAgiHB3B1FUal70P/IaDgZMAtwAmRAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728128073; a=rsa-sha256; cv=none; b=gKHFrSEZ5/QmcFQVMAdoM2r4YyxagXTLcOheaXgRZ7e4RbbQL68OFJ7E5q5nAZoITwx3Im HQKPlvy8LPCneElMHqL+WL2r5kPHraJpx+qH5jKoubDOZdTvm4f/zMkRrSFXJZMigp2bck WHG0aFcJsTycfrKEir9PN6pj46eN0e9Aqv2so/YRnVs6KQSn8PRUeMzjUn3B1yCMXhuw6j ktPaAKDFhhA+BNrpOoL6PfgILkogdH3auglV1L2D76QD2lm90WQ/zB8SIx5su3/KPOhuYz pTe48M9W4WZzRqGykaAwv7vvYnvL+lTuOxGZ+iHm9FwgpiOVH5nxK+dhbXMaLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XLNc92qkjzH5F; Sat, 5 Oct 2024 11:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 495BYXY7047818; Sat, 5 Oct 2024 11:34:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 495BYXar047815; Sat, 5 Oct 2024 11:34:33 GMT (envelope-from git) Date: Sat, 5 Oct 2024 11:34:33 GMT Message-Id: <202410051134.495BYXar047815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: 99689201a1eb - main - kyua: Do not count skipped as passed in test cmd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99689201a1eb7bcd503987c5220b79330dc058b7 Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=99689201a1eb7bcd503987c5220b79330dc058b7 commit 99689201a1eb7bcd503987c5220b79330dc058b7 Author: Igor Ostapenko AuthorDate: 2024-10-05 10:19:31 +0000 Commit: Igor Ostapenko CommitDate: 2024-10-05 10:22:22 +0000 kyua: Do not count skipped as passed in test cmd It changes output of 'kyua test' CLI command only. Hence, other outputs like junit are kept intact for CI and other use cases. It's meant to improve UX of attended use cases. The issue is that the following can be tricky to interpret: 222/222 passed (0 failed) It can be read as all tests are passed, but it might be a summary line of all tests skipped due to some requirement is not met. It's reworked to easily distinguish such cases: 222/222 passed (0 broken, 0 failed, 0 skipped) 0/222 passed (0 broken, 0 failed, 222 skipped) The overall formula is: / (
) Suggested by: kp Reviewed by: ngie, markj Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D46653 --- contrib/kyua/cli/cmd_test.cpp | 50 +++++++++++++++++++++---------- contrib/kyua/integration/cmd_test_test.sh | 42 +++++++++++++------------- contrib/kyua/model/test_result.cpp | 48 ++++++++++++++++++++++------- contrib/kyua/model/test_result.hpp | 15 ++++++++++ 4 files changed, 107 insertions(+), 48 deletions(-) diff --git a/contrib/kyua/cli/cmd_test.cpp b/contrib/kyua/cli/cmd_test.cpp index cfaeec9b74cc..b7afa6d11547 100644 --- a/contrib/kyua/cli/cmd_test.cpp +++ b/contrib/kyua/cli/cmd_test.cpp @@ -64,11 +64,8 @@ class print_hooks : public drivers::run_tests::base_hooks { bool _parallel; public: - /// The amount of positive test results found so far. - unsigned long good_count; - - /// The amount of negative test results found so far. - unsigned long bad_count; + /// The amount of test results per type. + std::map type_count; /// Constructor for the hooks. /// @@ -76,10 +73,10 @@ public: /// \param parallel_ True if we are executing more than one test at once. print_hooks(cmdline::ui* ui_, const bool parallel_) : _ui(ui_), - _parallel(parallel_), - good_count(0), - bad_count(0) + _parallel(parallel_) { + for (const auto& pair : model::test_result_types) + type_count[pair.first] = 0; } /// Called when the processing of a test case begins. @@ -116,10 +113,8 @@ public: } _ui->out(F("%s [%s]") % cli::format_result(result) % cli::format_delta(duration)); - if (result.good()) - good_count++; - else - bad_count++; + + type_count[result.type()]++; } }; @@ -159,8 +154,21 @@ cmd_test::run(cmdline::ui* ui, const cmdline::parsed_cmdline& cmdline, kyuafile_path(cmdline), build_root_path(cmdline), results.second, parse_filters(cmdline.arguments()), user_config, hooks); + unsigned long total = 0; + unsigned long good = 0; + unsigned long bad = 0; + for (const auto& pair : model::test_result_types) { + const auto& type = pair.second; + const auto count = hooks.type_count[type.id]; + total += count; + if (type.is_run && type.is_good) + good += count; + if (!type.is_good) + bad += count; + } + int exit_code; - if (hooks.good_count > 0 || hooks.bad_count > 0) { + if (total > 0) { ui->out(""); if (!results.first.empty()) { ui->out(F("Results file id is %s") % results.first); @@ -168,10 +176,20 @@ cmd_test::run(cmdline::ui* ui, const cmdline::parsed_cmdline& cmdline, ui->out(F("Results saved to %s") % results.second); ui->out(""); - ui->out(F("%s/%s passed (%s failed)") % hooks.good_count % - (hooks.good_count + hooks.bad_count) % hooks.bad_count); + ui->out(F("%s/%s passed (") % good % total, false); + const auto& types = model::test_result_types; + for (auto it = types.begin(); it != types.end(); it++) { + const auto& type = it->second; + if (!type.is_run || !type.is_good) { + if (it != types.begin()) + ui->out(", ", false); + ui->out(F("%s %s") % hooks.type_count[type.id] % type.name, + false); + } + } + ui->out(")"); - exit_code = (hooks.bad_count == 0 ? EXIT_SUCCESS : EXIT_FAILURE); + exit_code = (bad == 0 ? EXIT_SUCCESS : EXIT_FAILURE); } else { // TODO(jmmv): Delete created empty file; it's useless! if (!results.first.empty()) { diff --git a/contrib/kyua/integration/cmd_test_test.sh b/contrib/kyua/integration/cmd_test_test.sh index bc8c62daf223..f0862cf29582 100644 --- a/contrib/kyua/integration/cmd_test_test.sh +++ b/contrib/kyua/integration/cmd_test_test.sh @@ -44,7 +44,7 @@ simple_all_pass:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF utils_cp_helper simple_all_pass . @@ -69,7 +69,7 @@ simple_some_fail:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/2 passed (1 failed) +1/2 passed (0 broken, 1 failed, 0 skipped) EOF utils_cp_helper simple_some_fail . @@ -102,7 +102,7 @@ third:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -7/7 passed (0 failed) +3/7 passed (0 broken, 0 failed, 4 skipped) EOF utils_cp_helper simple_all_pass first @@ -138,7 +138,7 @@ third:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -4/7 passed (3 failed) +3/7 passed (0 broken, 3 failed, 1 skipped) EOF utils_cp_helper simple_some_fail first @@ -172,7 +172,7 @@ expect_all_pass:timeout -> expected_failure: This times out [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -5/5 passed (0 failed) +5/5 passed (0 broken, 0 failed, 0 skipped) EOF # CHECK_STYLE_ENABLE @@ -203,7 +203,7 @@ expect_some_fail:timeout -> failed: Test case was expected to hang but it cont Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/6 passed (5 failed) +1/6 passed (0 broken, 5 failed, 0 skipped) EOF # CHECK_STYLE_ENABLE @@ -231,7 +231,7 @@ bogus_test_cases:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/3 passed (2 failed) +1/3 passed (2 broken, 0 failed, 0 skipped) EOF # CHECK_STYLE_ENABLE @@ -270,7 +270,7 @@ subdir/simple_some_fail:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -3/4 passed (1 failed) +2/4 passed (0 broken, 1 failed, 1 skipped) EOF atf_check -s exit:1 -o file:expout -e empty kyua test } @@ -302,7 +302,7 @@ subdir/simple_all_pass:skip -> skipped: The reason for skipping is this [S.UU Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF # CHECK_STYLE_ENABLE atf_check -s exit:0 -o file:expout -e empty kyua test subdir @@ -328,7 +328,7 @@ first:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/1 passed (0 failed) +0/1 passed (0 broken, 0 failed, 1 skipped) EOF atf_check -s exit:0 -o file:expout -e empty kyua test first:skip } @@ -354,7 +354,7 @@ second:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/2 passed (1 failed) +1/2 passed (0 broken, 1 failed, 0 skipped) EOF atf_check -s exit:1 -o file:expout -e empty kyua test second } @@ -402,7 +402,7 @@ subdir/second:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/3 passed (1 failed) +2/3 passed (0 broken, 1 failed, 0 skipped) EOF atf_check -s exit:1 -o file:expout -e empty kyua test subdir first:pass } @@ -470,7 +470,7 @@ third:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -3/4 passed (1 failed) +2/4 passed (0 broken, 1 failed, 1 skipped) EOF cat >experr < failed: This fails on purpose [S.UUUs] Results file id is $(utils_results_id root) Results saved to $(utils_results_file root) -2/3 passed (1 failed) +1/3 passed (0 broken, 1 failed, 1 skipped) EOF atf_check -s exit:1 -o file:expout -e empty kyua test \ -k "$(pwd)/root/Kyuafile" first subdir/fourth:fail @@ -542,7 +542,7 @@ first:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF CREATE_COOKIE="$(pwd)/cookie"; export CREATE_COOKIE atf_check -s exit:0 -o file:expout -e empty kyua test first @@ -612,7 +612,7 @@ some-program:pass -> passed [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -1/2 passed (1 failed) +1/2 passed (0 broken, 1 failed, 0 skipped) EOF atf_check -s exit:1 -o file:expout -e empty kyua test @@ -710,7 +710,7 @@ subdir/third:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -6/6 passed (0 failed) +3/6 passed (0 broken, 0 failed, 3 skipped) EOF mkdir build @@ -745,7 +745,7 @@ sometest:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF atf_check -s exit:0 -o file:expout -e empty kyua test -k myfile atf_check -s exit:0 -o file:expout -e empty kyua test --kyuafile=myfile @@ -774,7 +774,7 @@ sometest:skip -> skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF atf_check -s exit:0 -o file:expout -e empty kyua test -k myfile sometest cat >expout < skipped: The reason for skipping is this [S.UUUs] Results file id is $(utils_results_id) Results saved to $(utils_results_file) -2/2 passed (0 failed) +1/2 passed (0 broken, 0 failed, 1 skipped) EOF atf_check -s exit:0 -o file:expout -e empty kyua test --kyuafile=myfile \ sometest @@ -987,7 +987,7 @@ non_executable:__test_cases_list__ -> broken: Permission denied to run test pr Results file id is $(utils_results_id) Results saved to $(utils_results_file) -0/2 passed (2 failed) +0/2 passed (2 broken, 0 failed, 0 skipped) EOF # CHECK_STYLE_ENABLE atf_check -s exit:1 -o file:expout -e empty kyua test diff --git a/contrib/kyua/model/test_result.cpp b/contrib/kyua/model/test_result.cpp index 7392e77f5561..f3e1b66f260b 100644 --- a/contrib/kyua/model/test_result.cpp +++ b/contrib/kyua/model/test_result.cpp @@ -35,6 +35,42 @@ namespace text = utils::text; +const std::map + model::test_result_types = +{ + { test_result_broken, + { .id = test_result_broken, + .name = "broken", + .is_run = true, + .is_good = false, } }, + + { test_result_expected_failure, + { .id = test_result_expected_failure, + .name = "xfail", + .is_run = true, + .is_good = true, } }, + + { test_result_failed, + { .id = test_result_failed, + .name = "failed", + .is_run = true, + .is_good = false, } }, + + { test_result_passed, + { .id = test_result_passed, + .name = "passed", + .is_run = true, + .is_good = true, } }, + + { test_result_skipped, + { .id = test_result_skipped, + .name = "skipped", + .is_run = false, + .is_good = true, } }, +}; + + /// Constructs a base result. /// /// \param type_ The type of the result. @@ -74,17 +110,7 @@ model::test_result::reason(void) const bool model::test_result::good(void) const { - switch (_type) { - case test_result_expected_failure: - case test_result_passed: - case test_result_skipped: - return true; - - case test_result_broken: - case test_result_failed: - return false; - } - UNREACHABLE; + return test_result_types.at(_type).is_good; } diff --git a/contrib/kyua/model/test_result.hpp b/contrib/kyua/model/test_result.hpp index b9c439ce789a..33c76124550f 100644 --- a/contrib/kyua/model/test_result.hpp +++ b/contrib/kyua/model/test_result.hpp @@ -34,12 +34,27 @@ #include "model/test_result_fwd.hpp" +#include #include #include namespace model { +/// Test result type metadata. +struct test_result_type_desc { + enum test_result_type id; + std::string name; + bool is_run; + bool is_good; +}; + + +/// Description of each test result type. +extern const std::map test_result_types; + + /// Representation of a single test result. /// /// A test result is a simple pair of (type, reason). The type indicates the From nobody Sat Oct 5 15:08:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLTM53ZV8z5YSMw; Sat, 05 Oct 2024 15:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLTM533s1z4CVD; Sat, 5 Oct 2024 15:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728140913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C7ewSU1NqJ13ELxjL+c2D50DEl8u6If4oxuHytb7aNE=; b=hy9CEHhU0aBzBTP283YXoI1E+C5dhsIGtNBw13gGm5pF4BN5w15rTfDte0WsloPYinne0G uIxbDtEyxIqyoCT1WBoKjkC2O6CbZ+y7pdyp6qtn18/pAnThvXqUZXEwFson29xnGCQzQ/ YjQA15pov028p4CFKP5ymj50uKrp24vO8WdlQUWPWSlN10XhBuC1+SATIqJ+EhjiTNi4A8 YD9EQf1/O8hyBBbXrrp8VFPBl2G/bHNsB55BhNDP0ESFxHtDMHRb11X62DqFFKmnK6Izo8 Mg5jBzx+3KOhOv34GsCs+90LsPHv88VnfFqpTOLP2rADTs1S/6EcwHvPVtuT9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728140913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C7ewSU1NqJ13ELxjL+c2D50DEl8u6If4oxuHytb7aNE=; b=gaL4WyUiCGybL45phNPZYG1SfbMkWzgL+o+HaxsRG/qK3dm697VGpG2A70tBMuJC68keAq ZMORLnQJvKq4+qBKneNgo6W1vZ/SbgsvcHyPnENjApWoFgKf57y16D9UvTE9PHxbxcQwhi +VYo8GezvVrP/fkSApbK8s3Rf0cZPNsZsiZPZJ7SdCYyo80dlDrLdmmrYKj2C29nhcsuyZ ZcC30yTphNgyVxCeQWWS9u+ARvn4GkCfolegmmOxOg8kUq3T+ykUts+MmEyo1B1cYE6qAu 07q8ykN75YhyDAJTwxKe5WnSFsP3ecM9S+RoMVDBleIErzVE8lPtBipkpXskyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728140913; a=rsa-sha256; cv=none; b=NOmhdUeMcQfFg/bQ9DUxY1UuL5c21tNW/EHN/xYZ703DsF7mbfw6dp99NXWT8ydQyrIOZ8 AG7f+gNSq1AWgHUGtPgmO2f39sN7Xw2oFsAXJ0xCiZus4N9KaRBuPxBVC31nh4UP+RRNrh WxyPxDDeEtOw6N7ILK1WKW73qOptzJXL/uV3NovCVubhQ8S5y0+fWD4uP3zY98kpv3HJHA D2p70525T8Ib6t64OhC8AIxe8ymPr9QKlgRD893yOm6856djA44iwQ2+tEDYYONoX47GdJ TgYxZHnDNdW9jyBihoiduxhmtrCEot9pUEOv9F3757XjcnCUyJ+3whEwIwOnIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XLTM52gkczN3N; Sat, 5 Oct 2024 15:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 495F8XMo004396; Sat, 5 Oct 2024 15:08:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 495F8XMC004393; Sat, 5 Oct 2024 15:08:33 GMT (envelope-from git) Date: Sat, 5 Oct 2024 15:08:33 GMT Message-Id: <202410051508.495F8XMC004393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 149e1af6ae49 - main - vm_kern: Use VM_ALLOC_NOFREE when allocating 'zero_region' 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 149e1af6ae4936fac0a907d4c62d745c179b4dc5 Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=149e1af6ae4936fac0a907d4c62d745c179b4dc5 commit 149e1af6ae4936fac0a907d4c62d745c179b4dc5 Author: Bojan Novković AuthorDate: 2024-10-05 15:05:40 +0000 Commit: Bojan Novković CommitDate: 2024-10-05 15:05:40 +0000 vm_kern: Use VM_ALLOC_NOFREE when allocating 'zero_region' page Allocate the 'zero_region' page using VM_ALLOC_NOFREE since it never gets released. Differential Revision: https://reviews.freebsd.org/D46885 Reviewed by: alc, markj, kib --- sys/vm/vm_kern.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index fb7c80b767ed..22776e2196b0 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -762,7 +762,8 @@ kmem_init_zero_region(void) * zeros, while not using much more physical resources. */ addr = kva_alloc(ZERO_REGION_SIZE); - m = vm_page_alloc_noobj(VM_ALLOC_WIRED | VM_ALLOC_ZERO); + m = vm_page_alloc_noobj(VM_ALLOC_WIRED | VM_ALLOC_ZERO | + VM_ALLOC_NOFREE); for (i = 0; i < ZERO_REGION_SIZE; i += PAGE_SIZE) pmap_qenter(addr + i, &m, 1); pmap_protect(kernel_pmap, addr, addr + ZERO_REGION_SIZE, VM_PROT_READ); From nobody Sun Oct 6 01:14:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLkpr5hHqz5Y1Gm for ; Sun, 06 Oct 2024 01:15:00 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-55.consmr.mail.gq1.yahoo.com (sonic316-55.consmr.mail.gq1.yahoo.com [98.137.69.31]) (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 4XLkpp4Qzcz40LM for ; Sun, 6 Oct 2024 01:14:58 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=kUFNqYIH; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.31 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=1728177295; bh=IkgTWOl+l8qlM9olImegrAxVaFSsmhMrX+g8kVstqKQ=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=kUFNqYIHyouxakOC7VcsKgocJQGnM4pSRXLGUAXQ8wytr1G6ZF39B35cL66zi1c5xQVz+w4+nlMQczKiE2p4HFB0BBzjUq5DtqDY6WFD/X3kbXhDjqmhcsfcBND+PLVVcXLQanX7ISHo3afsEXkji2rLyNohTF+NM7/lS1BKCPZpzWbleHyaUmItFhhVreuJBpe6GsvqCAV5InCvZPJgqdlw+FZvLI7Imcwg17vku6rMRlXXm+Req6uHpXl3InrwDJfdydhCLdlrzHHVUMRlwWlyVROesVdbZLtcN2t5dgI37JWml2r30dUtt6jsCW7QCs/Q5qKdhCY58MFrFwo09Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1728177295; bh=tRYHZHPIzZqYx7Ry5d5DhMi1JslBRTWSthYdnIUAYTk=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=ZNwEH+sNGeDtvC9fsYAz5G9OygKG41QaBlektRahMZb3sEWsbvRgUqjPx+j2NxtVZ0TT7qqgazwkHSTRS0Tt7ZPtuTQT6mADsGl1fx8ajSepp7D87ZzcX90/5AY7/dudwoFStDsDOGOSE0X/adU19qhW/qgxk65ULV0KFye1BRP2/oSDdrMC4Tf++573E2+ZnM4vxETaOel9E8N46dPMSPBRlzNJxnsXxKrubHXdVb1hPTwTr0GvQHgF/okt7T3VJUbV9luwrEgHWG8giNT5mKN3XoGr31H5vMLH0bIe7WZbrb33xC87VuRx6w2xpcw0r53ec2VMnbNmctaHP3ZGjg== X-YMail-OSG: 69HMn4IVM1nWHRHAAllcFYFmqlkw1lds.Y3F1xkl._z_RQEVGDD7BC64_B3WVFR 8JljZz6N_BMKnSa2h2cMGYPVWDT7Uzqu9KQ5XxxqnAgVpdMteoblLrF3_gTa1HK9ddqhuAh285BI wBQReyayA9GAsn_97DY.XpnY.QyY6Ei4.CPmluFpsgmBNR941sR_QaMfrSxrxelCWq6dzm4jTVT3 lz9Z_P3Knvd5I99dWnxxlECDVoflubOUP.eZcjvNlf_x3eWw2Wph9DuQLf84c6B_Jn1nO.9YNWF1 e16g8YqHAUFs2NEKedg_JjBxS9dp5NTWClqZ9ks1iE1n03wMjTkAfVsgWljeH2WH.4ookgOQENnP 5AEknAdybZ9wyXD5N6.6A8SfxiIfPwsDG2fJNEUjS8aOT70g89EYx927jlI1MnSfLG36zzSLKtW2 _qu4KIcKYtBLM3YHBO8b0VAaNgmcwH4Lx3Ts7AfxgJcf76XE9oB6pIHMmcb8eJ7AjBk4aCEzNQa5 PmmtKb_9o7tPLbqOHO2eVheytlF9latGHVUy7Q9n7Z_N4e9FYQLsG5Izc9LHpjAabrNGAxUGJHjT 32KD2ExAMFRZsgaPaJOfjGDKITiNmdz7qBXJ_ZZc021JwV0PkuP_L4pF42br8IpTlBiMneXb6G6x C9k2KE6pmSNKPMtwUsZkgr2ErMZxjcs8UuOhbR1nRemBm1vQWBWsWf.PRC_8P2xaAux_.4v4ryIv iRNSwzh9_ecVEiRisKGI2Lg8KfdEDrUzkQ7SxppuzviVS7cUeBjeoP25_wtb0b41uuQSWhNGHAAo mbH8r_cSjMsPhO.KQi1f6lzKM6sHsqsqXogMMPN37zlVaWrjXFi92toveNPmiNhE16V1bF8nT937 F46S3cTpjs3niqok1oAdyozbWKlvNzMQpnam5xftqG1DB0uEPEjCzW2XSry4l_boC_cleJ.9pq0f uGZcUvlkN7I1DVj7rgrHsXMi_Mirf7Qg6uPpthYRSbRhm4RXjyHWOQ5z1vLeC26kNmjAeWwx42FO Amvapxl_GP8Kakk.yc3eyB95PlYf51CSByrEpj5gqurMpTQ8KwkwFranVYvMPYo6vrkc1aftjZOk kEAnIKX7eSOKtS9ZLTNSSZGmndwTzz1vd8C8POXdyROMuVgF5930LaDRuFh.Hc1rZFOV0Jrs5kbb oIPI5XFzbrFS4V.AnN9N8NfwduAAx.7EKauU6QIl4j5kFlF08jbIhnB0cxe8nCMOOx8QNh_rtokM 033L6huuYNyBhNY.QZ0q_vDsCGl5LmVqVlpNykuCguvNlEehLmxdOUr7g6oqdDL229E41D3tsi7q cs467bpJJgxITqX.QiHn08YcvtSOrXRXhMjMtQlyqE2IlY2fUxMzNMzWf418f71lcPaz9xpOSUtg vByVUEGrVa0JVpPr_B4_rgGoGsA9yss3Ae3AqG2SHFxFSMTdtSl.2G4G21.Hm3u8V_.FLZ96.IMh OfkcWhtrk7vmsiyKGBD10GCXCTpyOzjqPKbmkULwGcge9CwBE8TnSW4aRQAQAehUdbPtURWugZJw e28EbD8OssZkqiBNHzhhAKmn6JT0wS17QkydCcj4yG4gaHafuRo0F74ssWV8rsFnxacu1KDDyXDQ 0YsLXiIqe6Y13pxJz_31o2cq.kZh9rV3Ph0ztIwg_A6fxY2mhkVAwBpDAuEsGzfRD.ZUdRbfN7I. BULUfa2RaczTzlA0WAqvZvRzE1J.yg4nJtSau3MrtU_TYQWBrzNuvet1LFMDwdso7Fz0arYboSyU QA22McWhuPqSEaHIJXircKjLTOdL1.C6t8OqIB7VUW5KneBb5EwfLOYDeXGFo5EY9TsV98Ut.s0K 7iQBBd8hPfl0ELd7cC2d7WrNITU1sKXMVu6ud11LQ1IJbPHwmwiUjrhFjt195KPuMcY2YgYSXIra fJo46G23l2WB7ezmI2TWShmeqWJXzDiSE_nbB_LLUDMKoHYaRYGqgJlODwXeUFixLAoq8YDdomkb xPDkMSq40V..x6h96o0_rOZTWwtFeyzNtTDIIGP8VGUCkmtHxCveVtkJb1EU9aNdxYX9nY2pdXXv 22.lWszJGfVotl2ncHae9hvnDLjEzq1T2qfvQrCb1FkTxdinssU_zQbPlhod0sE527dSZOb2XN.R BxD0FWPuUGu_SI2tl_hZ_XuS_uxp9GgFTQxmb.5y3frMZ64sggnGt.t_uAwcYHhkaDtbK2zoapJX _NinwmLfmbZPyoh_vxSy3E9Teug.QwEifR9yqIrtHKvkukAv797mVDQki8ponqTtoIx0eJDJ2ubF 9Cg2qtMKv5xMdhI387uUQ4goV1Xfq3O81U0lRbXYWCASF X-Sonic-MF: X-Sonic-ID: cf059f8a-dd7f-4eb3-bf11-378e84cde9bb Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Sun, 6 Oct 2024 01:14:55 +0000 Received: by hermes--production-gq1-5d95dc458-dxlpk (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 4f72946c8be910634aeda29d4ef2ccfc; Sun, 06 Oct 2024 01:14:51 +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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: RE: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument Message-Id: <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> Date: Sat, 5 Oct 2024 18:14:40 -0700 Cc: Konstantin Belousov To: Current FreeBSD , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3776.700.51) References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> X-Spamd-Result: default: False [-3.70 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.70)[-0.702]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; 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)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; RCPT_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.31:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.31:from] X-Rspamd-Queue-Id: 4XLkpp4Qzcz40LM X-Spamd-Bar: --- Konstantin Belousov wrote on Date: Fri, 20 Sep 2024 21:09:29 UTC : > The branch main has been updated by kib: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D2c1963d46335576d29fe21a4e7b424c4= 7b711ef4 >=20 > commit 2c1963d46335576d29fe21a4e7b424c47b711ef4 > Author: Konstantin Belousov > AuthorDate: 2024-09-20 15:04:06 +0000 > Commit: Konstantin Belousov > CommitDate: 2024-09-20 21:08:51 +0000 >=20 > procfs rlimit: handle pipebuf >=20 > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > --- > sys/sys/resource.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) >=20 > diff --git a/sys/sys/resource.h b/sys/sys/resource.h > index c18e45d50b30..81346028f1ed 100644 > --- a/sys/sys/resource.h > +++ b/sys/sys/resource.h > @@ -127,7 +127,7 @@ struct __wrusage { > */ >=20 > #ifdef _RLIMIT_IDENT > -static const char *rlimit_ident[RLIM_NLIMITS] =3D { > +static const char *rlimit_ident[] =3D { > "cpu", > "fsize", > "data", > @@ -143,6 +143,7 @@ static const char *rlimit_ident[RLIM_NLIMITS] =3D = { > "swap", > "kqueues", > "umtx", > + "pipebuf", > }; > #endif As part of an experiment I just had 1500024 (somewhat after the libmd.so.{6 -> 7} update) boot with a 1500023 kernel that was somewhat before the fairly recent pipebuf related changes, such as the above. This produced a bunch of error messages, such as: . . . ugen0.7: at usbus0 (disconnected) Warning: no time-of-day clock registered, system time will not be set = accurately 2024-10-05T17:33:58.032649-07:00 - init 20 - - getting pipebuf resource = limit: Invalid argument . . . Starting devd. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start devd Waiting 30s for the default route interface: = ............................. . . . Starting syslogd. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start syslogd . . . Starting rpcbind. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start rpcbind NFS access cache time=3D60 Starting ntpd. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start ntpd . . . Starting rpcbind. limits: setrlimit pipebuf: Invalid argument /etc/rc.d/mountd: WARNING: Unable to force rpcbind. It may already be = running. Starting mountd. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: Unable to force mountd. It may already be running. /etc/rc: WARNING: failed precmd routine for nfsd . . . Starting sshd. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start sshd Starting cron. limits: setrlimit pipebuf: Invalid argument /etc/rc: WARNING: failed to start cron . . . 2024-10-06T00:34:50.800786-07:00 aarch64-main-pbase init 1014 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.800858-07:00 aarch64-main-pbase init 1015 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.800939-07:00 aarch64-main-pbase init 1016 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.801101-07:00 aarch64-main-pbase init 1018 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.801090-07:00 aarch64-main-pbase init 1017 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.801240-07:00 aarch64-main-pbase init 1020 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.801250-07:00 aarch64-main-pbase init 1019 - - = getting pipebuf resource limit: Invalid argument 2024-10-06T00:34:50.801406-07:00 aarch64-main-pbase init 1021 - - = getting pipebuf resource limit: Invalid argument ugen0.6: at usbus0 2024-10-06T00:35:08.833554-07:00 aarch64-main-pbase login 1014 - - login = on ttyv0 as root 2024-10-06T00:35:08.833623-07:00 aarch64-main-pbase login 1014 - - ROOT = LOGIN (root) ON ttyv0 2024-10-06T00:35:08.835269-07:00 aarch64-main-pbase login 1022 - - = getting pipebuf resource limit: Invalid argument . . . It seems related changes introducing incompatibility with even recent older kernels should have had a __FreeBSD_version update and might need to be documented for the now-existing incompatibility with most of the 1500023 and older history? =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Oct 6 06:30:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLsql0Gg9z5YN72; Sun, 06 Oct 2024 06:31:15 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLsqk0T2hz4Qx6; Sun, 6 Oct 2024 06:31:13 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 4966UvkC057803; Sun, 6 Oct 2024 09:31:00 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 4966UvkC057803 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 4966Uvwc057802; Sun, 6 Oct 2024 09:30:57 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 6 Oct 2024 09:30:57 +0300 From: Konstantin Belousov To: Mark Millard Cc: Current FreeBSD , dev-commits-src-main@freebsd.org, Konstantin Belousov Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument Message-ID: References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home 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:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4XLsqk0T2hz4Qx6 X-Spamd-Bar: ---- On Sat, Oct 05, 2024 at 06:14:40PM -0700, Mark Millard wrote: > Konstantin Belousov wrote on > Date: Fri, 20 Sep 2024 21:09:29 UTC : > > > The branch main has been updated by kib: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=2c1963d46335576d29fe21a4e7b424c47b711ef4 > > > > commit 2c1963d46335576d29fe21a4e7b424c47b711ef4 > > Author: Konstantin Belousov > > AuthorDate: 2024-09-20 15:04:06 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2024-09-20 21:08:51 +0000 > > > > procfs rlimit: handle pipebuf > > > > Sponsored by: The FreeBSD Foundation > > MFC after: 1 week > > --- > > sys/sys/resource.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/sys/sys/resource.h b/sys/sys/resource.h > > index c18e45d50b30..81346028f1ed 100644 > > --- a/sys/sys/resource.h > > +++ b/sys/sys/resource.h > > @@ -127,7 +127,7 @@ struct __wrusage { > > */ > > > > #ifdef _RLIMIT_IDENT > > -static const char *rlimit_ident[RLIM_NLIMITS] = { > > +static const char *rlimit_ident[] = { > > "cpu", > > "fsize", > > "data", > > @@ -143,6 +143,7 @@ static const char *rlimit_ident[RLIM_NLIMITS] = { > > "swap", > > "kqueues", > > "umtx", > > + "pipebuf", > > }; > > #endif > > As part of an experiment I just had 1500024 (somewhat after the > libmd.so.{6 -> 7} update) boot with a 1500023 kernel that was > somewhat before the fairly recent pipebuf related changes, such > as the above. This produced a bunch of error messages, such as: > > > . . . > ugen0.7: at usbus0 (disconnected) > Warning: no time-of-day clock registered, system time will not be set accurately > 2024-10-05T17:33:58.032649-07:00 - init 20 - - getting pipebuf resource limit: Invalid argument > . . . > Starting devd. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start devd > Waiting 30s for the default route interface: ............................. > . . . > Starting syslogd. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start syslogd > . . . > Starting rpcbind. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start rpcbind > NFS access cache time=60 > Starting ntpd. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start ntpd > . . . > Starting rpcbind. > limits: setrlimit pipebuf: Invalid argument > /etc/rc.d/mountd: WARNING: Unable to force rpcbind. It may already be running. > Starting mountd. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: Unable to force mountd. It may already be running. > /etc/rc: WARNING: failed precmd routine for nfsd > . . . > Starting sshd. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start sshd > Starting cron. > limits: setrlimit pipebuf: Invalid argument > /etc/rc: WARNING: failed to start cron > . . . > 2024-10-06T00:34:50.800786-07:00 aarch64-main-pbase init 1014 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.800858-07:00 aarch64-main-pbase init 1015 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.800939-07:00 aarch64-main-pbase init 1016 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.801101-07:00 aarch64-main-pbase init 1018 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.801090-07:00 aarch64-main-pbase init 1017 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.801240-07:00 aarch64-main-pbase init 1020 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.801250-07:00 aarch64-main-pbase init 1019 - - getting pipebuf resource limit: Invalid argument > 2024-10-06T00:34:50.801406-07:00 aarch64-main-pbase init 1021 - - getting pipebuf resource limit: Invalid argument > ugen0.6: at usbus0 > 2024-10-06T00:35:08.833554-07:00 aarch64-main-pbase login 1014 - - login on ttyv0 as root > 2024-10-06T00:35:08.833623-07:00 aarch64-main-pbase login 1014 - - ROOT LOGIN (root) ON ttyv0 > 2024-10-06T00:35:08.835269-07:00 aarch64-main-pbase login 1022 - - getting pipebuf resource limit: Invalid argument > . . . > > > It seems related changes introducing incompatibility with even > recent older kernels should have had a __FreeBSD_version update > and might need to be documented for the now-existing > incompatibility with most of the 1500023 and older history? We do not provide forward compatibility between kernel and userspace. User binaries must be newer than kernel. From nobody Sun Oct 6 07:40:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLvNF1CZgz5YRp8 for ; Sun, 06 Oct 2024 07:41:01 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-25.consmr.mail.gq1.yahoo.com (sonic312-25.consmr.mail.gq1.yahoo.com [98.137.69.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 4XLvND6Ry9z4W3J for ; Sun, 6 Oct 2024 07:41:00 +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=1728200458; bh=jWGmQ/IIcZaNS6Q6UFGIhuXR3hn4/Efkk2i/GGGQrm4=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=CvnSFOBNMuwFyNrAt03Wa9Eerk4nA/hYvrnyXY7HRF+YmAZV7bIJWIKHOuhU59nmhuQtnLJjqQdAzVtSczuZY5x0pf7fDz8OJkcNULn5iQLJojuYnxSKxjgZNJNDYqZfOcURpJs+RVROSDztbQD8emCVjzsxxPTUMOOqHR/ll+8qB5NnsWXxrNjUbgDgVRnE/r+5QORSe9ikRFYU9SF63odqDTzrz8lb3M9aIrHusnbwQRHOBS0pBCwGh3Jg1ub/UIKOFSrYn8tLw81YA9ehyWZ4b3aB1AVNqCLNK0tcgxplYXBxE/XyD8WwbKCGUvR8lB3suSYc3X465rsMpUfaMQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1728200458; bh=fV6Zx1iPDLbDqoM5S4tDYC5e+5Ppg2MlC63bjIlibc0=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=Jrvf/D/nRe+37iqYu6e9gU01imaVVrGh5a7TDXgnBK72nReTHAhR1aeBO91ne2ZHdIf5olf/hXDIUqMudqNfTxw5KqLmK7Q0q9gVYU1hz/2k1pz3WND89D4GOwsodO4KRMUN1XKP4g2QME53MfRCkE5gGhqcLxYeH2UcYJjYcJoUSQRrLBgHFtIVQwQw9bpYrT9oTpCKj15+0BuHUOcUJMwckhTf0kji3HEshcQkjToElVcBCX84Z4dpDocXiTRL9nkU74r/eQRlRh1dGUzzrX2EWqXHdGLBhnmgqyZDUD64tgGGGbAAgsY6RCyqba87m/fpvLoSo8Ve9ElnMi0WAA== X-YMail-OSG: ShW5hQ4VM1kVw.X0ujN4RsUZ.xrUrEZ0CKHdSxEiv62NmQmh.73x.QomtMU7b0l BpWewcspeNml0GmNpNOAlo5iy4e0gG1L716d.FliDw47BsdLu3qnjZ52eu8O3IIUsbAF0e13gFKn G9TTe_UlRNgJ6gVwik_ARzh2tjF8mvoU5gL8qR0zOOkluyJQ9UHbDK2wxS9b6RXUTW0rIRo.Igdo 6PmKZNgIglYAHWu_H1hOXIHZ0GhMDJoINlvfq8Yza1Oi7IEFVd7.ZxS_t_sqGU3BfPd1rGPQ2FGs 9DatLlJKIlBRfmi0HnKH48WFSXzWSNWcDn9lbsumq5gzHSu.nYs.K4.kHPe3x5UdffA63yvzwgLT KRcTJEK2jYgvz33VCzDoOBl61XeEUjutTZnnta1bpHOASq6UVwLjyLfonuTb.voivQSXvyvYYTrx uUR7OguZzPJwtjlWq9EJViEbiUkB9osOGHBwumxgVlkc7iV5cT5ut10otBIZyFuu8CXCiMkp3gtf z49cxyugYZ05n0YZcYSC0MPXvzqjTMsJqAmh3UOLJK57hj2zAad7AhT7796uzWt38EUqDgT.06Pu 0u8YNKoz69kPbEP79T7iTLXgdWkJZwQPSfngU4CHthpsIPHVae2cdZa0GVfVYxIKT9ysgjUtS2Uw D4j7u8RKiiASxndrzgO2_.rWIDbc01VP6wrNdhbGljUfSm_ijrM0LK2OwumGwPjVHnTatizOTMO0 ssW95XpvPsYvZGSWJHoJa9nvPhdRHYx7sHfGqji635__wQycybrhqmuKzd35n7aRXcFWFUEh8Ay4 4P7_b0RL5iFg9AZWpFj7gHx0FD4CDiWnsYBvYiQ8yCXcbwTOQrUN2jYAi9CvprcNSedqTQaxpgHD R5mhXR5RYdX6DG6biIGPbrew922LZL63AEj0CvvGo2OgfezDnPVLcYbFEdXUh_ksKW0YgT8fZQff GIf2ZavjGE0rKfPObBnBclUVerYGy6.6Tp2z7L3adAbWRoOyfj00gHM64GGTMTe9.WTVwrfXL_00 RPwJ6dzmnX6tZZTDNMWuhllZwtRJ7QaJSBQvJCGhkzi0DjQDM7UcV3ULcmks9rMdWsK0WySOHIfZ zKAww_WDJJEwJODU74qSJRY_8lne8zWOMcwkXnVIRHf7.RDLuwlAXE0v1B2RroR2QL4JqrF3BZx6 Rw.GHUhmy1WR651iyzk5f2eEBZ_.QdJa2Yynzq6tplTkloqzwghXaHkA6HDLO56izDQ0YOnm6kZl Syg_jcysG.5jFCvaG5BoHTfFLW4UuaQIQdp_9AcmK7eqYiktnyYfc118Sbomzch61.VwJw2MYnWW ryI0eQQ4WoHWR6EfYo.U3XiOGP_E.FsUEGRq1s6ylA5wr.R7pEqVZLMyAx1Vm45OcuhPJ8U5a73B ANwXS.SRUifDaKhI8aV8mFeaqi7Kw7WJqTp8AcCahkRbqIC0o8NKW_fSBsur7BzlgcUHRHdU1LN_ 5wOeK1KQmUMD.hp4bnAEfP68L8WXxahVXiKPjfXmo.EvngkprIRL0668FFaQdb09C15NoyRaSBs4 bN1gFYi94c9lYVqasAgPsjJ4uyUX0VR7oDGDKMU559WgE1NJte2xS6oFmL.Z._mUnY6i9lCobhPZ SYN3xeo2dQt7QV.HhOYRllmJx7N0rlnDm9jVjYGnWH2vQT358YxN6e5rWuY.eFkgcdofr23n0lSP N_fkAulrdheGpGu7Vct7alfsgoMgDn5h36qa91idVnj7iw7PAokqHT.FT1ygrYFsb4rOfg89iTns 2rUALNMm34e6C5EA8.KN4a5wDs4UTyvvKRH249xR.UwQa_oGokZ47w3LM8QtYifQ5QL6zk820Pzh SqjjWsNMW2pbTi1KE1jOGnrQPTd9M1.16HqfVLjwFNYL9vaTeGk4X93D9yQEVNsmMK6hzon_EPmM fn4T2nhieuOyNo0zYCN2928e.dg6FX16o7Tgq7twZd_ysPusoLdYdwIhGv3rohdRJhXTjPdXVbL1 mBLVLPdE6tGa2oIL4.JAyNVf7iCSx4UKZ3oTj_uQaJfJe2_D9KTc47WzPag7P10IcYanZ8DtjrNf ixMBiMMdQI1e3B0QnTuj372oR1OI1.sTbWzPb8aHYSJsDj.VyNlJcTUvpqkibglyxSEWOQEsNJqT 4zfuiW7eC4dm1GHHyKS6uwilBGYu4heAa8aQG6Abg5PtL5ebaugStNGPC7o6oMtapfDhrXMlJWkJ rM7XUic9J5rB1bssOLn4KgWVK1rBLAZhUrj_mOInQILXpIDIn6YNudzSXo2uVx9bWl3pO9a9sHwS 1ThjnYMfrvYVkQ1tbj0WWO27KoE5bCgn0mrY- X-Sonic-MF: X-Sonic-ID: 9c75c41c-d681-49b4-a272-fc4be9b95424 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.gq1.yahoo.com with HTTP; Sun, 6 Oct 2024 07:40:58 +0000 Received: by hermes--production-gq1-5d95dc458-4tw7n (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 4a3f2811d35b5fe682ba3fdaea989815; Sun, 06 Oct 2024 07:40:55 +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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument From: Mark Millard In-Reply-To: Date: Sun, 6 Oct 2024 00:40:44 -0700 Cc: Current FreeBSD , dev-commits-src-main@freebsd.org, Konstantin Belousov Content-Transfer-Encoding: quoted-printable Message-Id: References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> To: Konstantin Belousov X-Mailer: Apple Mail (2.3776.700.51) 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: 4XLvND6Ry9z4W3J X-Spamd-Bar: ---- On Oct 5, 2024, at 23:30, Konstantin Belousov = wrote: > On Sat, Oct 05, 2024 at 06:14:40PM -0700, Mark Millard wrote: >> Konstantin Belousov wrote on >> Date: Fri, 20 Sep 2024 21:09:29 UTC : >>=20 >>> The branch main has been updated by kib: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D2c1963d46335576d29fe21a4e7b424c4= 7b711ef4 >>>=20 >>> commit 2c1963d46335576d29fe21a4e7b424c47b711ef4 >>> Author: Konstantin Belousov >>> AuthorDate: 2024-09-20 15:04:06 +0000 >>> Commit: Konstantin Belousov >>> CommitDate: 2024-09-20 21:08:51 +0000 >>>=20 >>> procfs rlimit: handle pipebuf >>>=20 >>> Sponsored by: The FreeBSD Foundation >>> MFC after: 1 week >>> --- >>> sys/sys/resource.h | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>=20 >>> diff --git a/sys/sys/resource.h b/sys/sys/resource.h >>> index c18e45d50b30..81346028f1ed 100644 >>> --- a/sys/sys/resource.h >>> +++ b/sys/sys/resource.h >>> @@ -127,7 +127,7 @@ struct __wrusage { >>> */ >>>=20 >>> #ifdef _RLIMIT_IDENT >>> -static const char *rlimit_ident[RLIM_NLIMITS] =3D { >>> +static const char *rlimit_ident[] =3D { >>> "cpu", >>> "fsize", >>> "data", >>> @@ -143,6 +143,7 @@ static const char *rlimit_ident[RLIM_NLIMITS] =3D = { >>> "swap", >>> "kqueues", >>> "umtx", >>> + "pipebuf", >>> }; >>> #endif >>=20 >> As part of an experiment I just had 1500024 (somewhat after the >> libmd.so.{6 -> 7} update) boot with a 1500023 kernel that was >> somewhat before the fairly recent pipebuf related changes, such >> as the above. This produced a bunch of error messages, such as: >>=20 >>=20 >> . . . >> ugen0.7: at usbus0 (disconnected) >> Warning: no time-of-day clock registered, system time will not be set = accurately >> 2024-10-05T17:33:58.032649-07:00 - init 20 - - getting pipebuf = resource limit: Invalid argument >> . . . >> Starting devd. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start devd >> Waiting 30s for the default route interface: = ............................. >> . . . >> Starting syslogd. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start syslogd >> . . . >> Starting rpcbind. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start rpcbind >> NFS access cache time=3D60 >> Starting ntpd. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start ntpd >> . . . >> Starting rpcbind. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc.d/mountd: WARNING: Unable to force rpcbind. It may already be = running. >> Starting mountd. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: Unable to force mountd. It may already be running. >> /etc/rc: WARNING: failed precmd routine for nfsd >> . . . >> Starting sshd. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start sshd >> Starting cron. >> limits: setrlimit pipebuf: Invalid argument >> /etc/rc: WARNING: failed to start cron >> . . . >> 2024-10-06T00:34:50.800786-07:00 aarch64-main-pbase init 1014 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.800858-07:00 aarch64-main-pbase init 1015 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.800939-07:00 aarch64-main-pbase init 1016 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.801101-07:00 aarch64-main-pbase init 1018 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.801090-07:00 aarch64-main-pbase init 1017 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.801240-07:00 aarch64-main-pbase init 1020 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.801250-07:00 aarch64-main-pbase init 1019 - - = getting pipebuf resource limit: Invalid argument >> 2024-10-06T00:34:50.801406-07:00 aarch64-main-pbase init 1021 - - = getting pipebuf resource limit: Invalid argument >> ugen0.6: at usbus0 >> 2024-10-06T00:35:08.833554-07:00 aarch64-main-pbase login 1014 - - = login on ttyv0 as root >> 2024-10-06T00:35:08.833623-07:00 aarch64-main-pbase login 1014 - - = ROOT LOGIN (root) ON ttyv0 >> 2024-10-06T00:35:08.835269-07:00 aarch64-main-pbase login 1022 - - = getting pipebuf resource limit: Invalid argument >> . . . >>=20 >>=20 >> It seems related changes introducing incompatibility with even >> recent older kernels should have had a __FreeBSD_version update >> and might need to be documented for the now-existing >> incompatibility with most of the 1500023 and older history? >=20 > We do not provide forward compatibility between kernel and userspace. > User binaries must be newer than kernel. Well, the official port-packing builders frequently use combinations like: Host OSVERSION: 1500023 [So: kernel and world] Jail OSVERSION: 1500024 [So: Jail world, still 1500023 kernel] I temporarily had kernel: 1500023 (not very old) and world: 1500024, no jail or chroot involved in the activity. [This was by accident of timing, not a deliberate status.] I expect that a world from just before 1500024 would have had the same sort of results, with both then being 1500023, which is part of why I reported what I did. [The change to 1500024 is not tied to the pipebuf changes but to libmd updates.] Are you suggesting that I should not expect two 1500023's (one kernel, one world) to be compatible unless I also know the more detailed timing relationship within 1500023's span? I though the ordering principles were for across distinct values, not for the same value. If I was wrong, it would be good to know that explicitly. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Oct 6 08:57:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLx4P3xyPz5YWFM; Sun, 06 Oct 2024 08:57:25 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLx4P3Pc2z4ddt; Sun, 6 Oct 2024 08:57:25 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728205045; 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=DyQVuirlZ0nJGSD4LncDU1PCnPP2J99jSL/HeVFw4tA=; b=POTs4RKiB0peTfKvGOH4qALJa3C0+plzz5iuymIYmScpGL7e/4UIoc0i/sfzWg3F2yeOl/ 5azbI/8X083be0Om5fUb2CUnZZN27GJthoVTk/yBetGOXa9Vb2kus2nXTOw6GJC+fB15US b5ylGHScgvLJ+uYnm5z3dFKcG5NqFHjySqm1A4HKuKhpx+FwlDNeCNHyIQ1Fj2DJGzhWec T4VlpBQk9LLWQOtNOrTwEqD7nXmoBp1/GWqzXfnYpmQmI9X2VbkN5e92PghV0IxZZtnzkU oRpCnJFxHrxHl/ifGUiVVo7WzlL2M49y6BITntRrpmPq3Y3UAqoLwKJ8SMhw9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728205045; 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=DyQVuirlZ0nJGSD4LncDU1PCnPP2J99jSL/HeVFw4tA=; b=K+ygSZfDTlTBeDQc3GFNqcYOLIG20GYG/8sA5x4ToVh2IjX+Wy2fXn+++aCYNJkKOgsUX5 5/xt9XynI+SvnYheR6upAutMKAGVyMx6w5eYvlHAs/QOGGuYaxUvaWTVmdsKo0n40X7A/I 3E07nnwadlK9DjNwrMATndz75kQSPpEf3IamYoYW49BN8/QA0OPVMpqUyyuhTkxNKITdNN Qmu3HT07PMiAFyLJmJQPhgxKfs/DPyGPzxA1zJXpG9g7KC7jrOLAVhQk70JGrWLSY707TW jBX3u6p4ZFnFwmO4bOBQqeKjI3gzj0570V8W918yi21mVJFNhzfNK/3IMEYNrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728205045; a=rsa-sha256; cv=none; b=BnYdfjq5LoPnBoxaPo2t7zpk+zKt8otbQvMEplVm7CG9U0sCHTlfz7psti6pBLGjj/U5nt lvXjqK6DuNk5CHNsbV9eMyxEK6PIZZICnPBNStGe/8aoimUyf8k/G3yrLMhCyslaXt/Sv1 Y3pJsrxi0Aje4g9Wqzly+vVPN3IJf4raMug1NcCBpGKBiPm1tZSYRH2c41+C7l8rD7CgUw LcBKAVEgPQVv0kWyJPvkXN5VjRMzEfvz+t8h2D8gHM6aOSvzP34ueRMWUZUCi6nyZSdbRP 5epWBEbEJBUa8ToQxMLHJH73qJiyoTAI3ucglOqMTj9HkQ7yOoLKYtamDexO/w== Received: from ltc.des.dev (unknown [IPv6:2a01:e0a:386:9c20:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_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 4XLx4P2H6ZzG7Q; Sun, 6 Oct 2024 08:57:25 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 47C96BF8A7; Sun, 06 Oct 2024 10:57:23 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Konstantin Belousov Cc: Mark Millard , Current FreeBSD , dev-commits-src-main@freebsd.org, Konstantin Belousov Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument In-Reply-To: (Konstantin Belousov's message of "Sun, 6 Oct 2024 09:30:57 +0300") References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Sun, 06 Oct 2024 10:57:23 +0200 Message-ID: <86r08tvcb0.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Konstantin Belousov writes: > We do not provide forward compatibility between kernel and userspace. > User binaries must be newer than kernel. Uh, no. The opposite, in fact. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Sun Oct 6 09:09:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XLxLc5lFhz5YXCn; Sun, 06 Oct 2024 09:09:44 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4XLxLb5vPyz4g0g; Sun, 6 Oct 2024 09:09:42 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 49699ZAZ063149; Sun, 6 Oct 2024 12:09:38 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 49699ZAZ063149 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 49699ZHj063148; Sun, 6 Oct 2024 12:09:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 6 Oct 2024 12:09:35 +0300 From: Konstantin Belousov To: Dag-Erling =?utf-8?B?U23DuHJncmF2?= Cc: Mark Millard , Current FreeBSD , dev-commits-src-main@freebsd.org Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument Message-ID: References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> <86r08tvcb0.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: <86r08tvcb0.fsf@ltc.des.dev> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home 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:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4XLxLb5vPyz4g0g X-Spamd-Bar: ---- On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Smørgrav wrote: > Konstantin Belousov writes: > > We do not provide forward compatibility between kernel and userspace. > > User binaries must be newer than kernel. > > Uh, no. The opposite, in fact. Right, it is opposite. It was a typo. Anyway, __FreeBSD_version is not about compatibility between specific snapshot of kernel and user sources. It de-facto provides two technical measures: 1. kernel refuses to load modules built against headers set with higher __FreeBSD_version than kernel 2. Some values of __FreeBSD_version are used by userspace to detect if specific change is present in kernel. See sys/param.h P_OSREL_ list. From nobody Sun Oct 6 11:38:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM0dm6h4lz5XjDd; Sun, 06 Oct 2024 11:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM0dm5yYlz4xgH; Sun, 6 Oct 2024 11:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728214684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vhur1vhExO/zCJvR0PMdRXrccenZ8RmzlNnlZz8EO0=; b=YhD4RhJFLUY1hP73CjlkKUbHHrwrmUvguwxToDvYmWQZ3AegADUMIoVJoDHi1etOSqtEyD a+KX+K1CUHnVBdz6EWwkELZe6EoYiLT01vHHxH+JgYv7Vp8el+swm9rm3f3Wot6qMCIOxR rYOSdklfKNUZKGqvCCAeQhDEnlED8WMBsIZPuLFzT3C1UDH9y+pfIFFD1QuZ0cDOY5PMBb JsX0RdanZddVZKgY8knlGX3vaIvyDkxsFG3Bzdvd5vuBx3MIA/50+06BQ9aA88yLF6BW/7 ShrNhHHRMmZ1ty9wz/HLFsRqsQbY4EOWEguDv6fFmwXg46bgMghWGxFAMyxW5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728214684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vhur1vhExO/zCJvR0PMdRXrccenZ8RmzlNnlZz8EO0=; b=lnH5jVBNGLhOucopOm/nKSOHQopmZDUl20fyVaLqLaSXaU3CfhvwB0VDSqB7RtGCLwHaM3 GL2Bt9Ia3PYFxt3nu9T4S4zgLevrzczoknGLPHHTgJYdgI1REcu5JEQAqUk5YQa8XXZKSg 44CVt/PxvUmNpc+0CT3LgoGrpBzykrQI0aNd6wijv5ypgZqv0o/SzvmuwMrZ48d6mohs9D hUO2ZNTVf9rDk/LTh16fbZy5oRtd4S2D5TjUgRYI12lNE8K/iBYvNcQIzmbSgGSnxLzagW fezJeYtnmWYb/g6r2iKnxZ5pkWVsYPAgNUqMK0GcCA7C4fgzINWknY8bCjYHZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728214684; a=rsa-sha256; cv=none; b=wah8wNGQSTJzDmaRwEEu72WHgBDNMEfrdqJiatV+5PBesl43zog7Ps7JUCHBtft6PVY5gw zk3k2NJcNH1OFew8zSmr6T31egcWhdShU8/w/0qTBD7mXAonVLUpUsnZXzzsegrbON3+G1 dkt7bGbVXWH2FGG8AhEn278MujV6JUFGGpggZnPHU2DIq6qZdIsjE7cdJUet4wfthIVPzk lhPeU4LBzNXz4+1O/7rIr7y6hMHemfT3m4/KvUJL53FKmnwUuTM+1Elc/YA7t18kJ3rkQy /NEdZqhWYJtvgJFMLAwutor9dXqWUu/CvpirSqewX4IEl5O9v3GlcoBD7zcXdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XM0dm5Rbhz11RR; Sun, 6 Oct 2024 11:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496Bc4cu090977; Sun, 6 Oct 2024 11:38:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496Bc42F090974; Sun, 6 Oct 2024 11:38:04 GMT (envelope-from git) Date: Sun, 6 Oct 2024 11:38:04 GMT Message-Id: <202410061138.496Bc42F090974@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: 6bd8d85579a1 - main - dummymbuf: Fix code 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6bd8d85579a18cf69a9b02d5852f994cb1d5a1e9 Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=6bd8d85579a18cf69a9b02d5852f994cb1d5a1e9 commit 6bd8d85579a18cf69a9b02d5852f994cb1d5a1e9 Author: Igor Ostapenko AuthorDate: 2024-10-06 11:34:28 +0000 Commit: Igor Ostapenko CommitDate: 2024-10-06 11:34:28 +0000 dummymbuf: Fix code style No functional change intended. Reviewed by: kp Approved by: kp (mentor) Differential Revision: https://reviews.freebsd.org/D46958 --- sys/net/dummymbuf.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sys/net/dummymbuf.c b/sys/net/dummymbuf.c index 99b6e6944752..b90fc55f458b 100644 --- a/sys/net/dummymbuf.c +++ b/sys/net/dummymbuf.c @@ -106,7 +106,7 @@ dmb_sysctl_handle_rules(SYSCTL_HANDLER_ARGS) SYSCTL_PROC(_net_dummymbuf, OID_AUTO, rules, CTLTYPE_STRING | CTLFLAG_MPSAFE | CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(dmb_rules), RULES_MAXLEN, dmb_sysctl_handle_rules, "A", - "{inet | inet6 | ethernet} {in | out} []; ...;"); + "{inet|inet6|ethernet} {in|out} [ ]; ...;"); /* * Statistics @@ -148,10 +148,10 @@ VNET_DEFINE_STATIC(pfil_hook_t, dmb_pfil_ethernet_hook); #define FEEDBACK_PFIL(pfil_type, pfil_flags, ifp, rule, msg) \ printf("dummymbuf: %s %b %s: %s: %.*s\n", \ - (pfil_type == PFIL_TYPE_IP4 ? "PFIL_TYPE_IP4" : \ - pfil_type == PFIL_TYPE_IP6 ? "PFIL_TYPE_IP6" : \ - pfil_type == PFIL_TYPE_ETHERNET ? "PFIL_TYPE_ETHERNET" : \ - "PFIL_TYPE_UNKNOWN"), \ + ((pfil_type) == PFIL_TYPE_IP4 ? "PFIL_TYPE_IP4" : \ + (pfil_type) == PFIL_TYPE_IP6 ? "PFIL_TYPE_IP6" : \ + (pfil_type) == PFIL_TYPE_ETHERNET ? "PFIL_TYPE_ETHERNET" : \ + "PFIL_TYPE_UNKNOWN"), \ (pfil_flags), "\20\21PFIL_IN\22PFIL_OUT", \ (ifp)->if_xname, \ (msg), \ @@ -211,7 +211,7 @@ bad: static bool read_rule(const char **cur, struct rule *rule, bool *eof) { - // {inet | inet6 | ethernet} {in | out} [ ]; + /* {inet|inet6|ethernet} {in|out} [ ]; */ rule->syntax_begin = NULL; rule->syntax_len = 0; @@ -219,18 +219,18 @@ read_rule(const char **cur, struct rule *rule, bool *eof) if (*cur == NULL) return (false); - // syntax_begin + /* syntax_begin */ while (**cur == ' ') (*cur)++; rule->syntax_begin = *cur; - // syntax_len + /* syntax_len */ char *delim = strchr(*cur, ';'); if (delim == NULL) return (false); rule->syntax_len = (int)(delim - *cur + 1); - // pfil_type + /* pfil_type */ if (strstr(*cur, "inet6") == *cur) { rule->pfil_type = PFIL_TYPE_IP6; *cur += strlen("inet6"); @@ -246,7 +246,7 @@ read_rule(const char **cur, struct rule *rule, bool *eof) while (**cur == ' ') (*cur)++; - // pfil_dir + /* pfil_dir */ if (strstr(*cur, "in") == *cur) { rule->pfil_dir = PFIL_IN; *cur += strlen("in"); @@ -259,7 +259,7 @@ read_rule(const char **cur, struct rule *rule, bool *eof) while (**cur == ' ') (*cur)++; - // ifname + /* ifname */ char *sp = strchr(*cur, ' '); if (sp == NULL || sp > delim) return (false); @@ -272,7 +272,7 @@ read_rule(const char **cur, struct rule *rule, bool *eof) while (**cur == ' ') (*cur)++; - // opname + /* opname */ if (strstr(*cur, "pull-head") == *cur) { rule->op = dmb_m_pull_head; *cur += strlen("pull-head"); @@ -282,12 +282,12 @@ read_rule(const char **cur, struct rule *rule, bool *eof) while (**cur == ' ') (*cur)++; - // opargs + /* opargs */ if (*cur > delim) return (false); rule->opargs = *cur; - // the next rule & eof + /* the next rule & eof */ *cur = delim + 1; while (**cur == ' ') (*cur)++; From nobody Sun Oct 6 13:13:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM2mJ4wRsz5Y4dV; Sun, 06 Oct 2024 13:13: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM2mJ41FYz56xy; Sun, 6 Oct 2024 13:13:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728220432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCvrI4t15f3qaGATw2cZbIE/9MuARtah/stB7U4AWlc=; b=Bouhlov9oKRSXXrKIjWRyi8kUI0/LyxdwIBBetBullHZi2IW0WneNmD8PjWFGvOiewI5Ph iMWfBAN64hxzu6CaB87Mjvw3kSUGM+ItgxSTjZMewO/+fPv4cgiO6KeDooIG7kZMJ6Qv4o In+9BFRLp8vFH4U7ZI74bw3vTTcJSKikV3c0dCihK28VBjmh12PorMDoS3b+pn8kZbaxLr McDAfzV31TyT7IYT2mLKfWgGTne3irGnaCt/zmFZSjv4XqTjKA8xs+cSk3pZi7Fno5JAk/ pM7jot5EiZsZzb/oAn9ZSxEvs6O4KT/PVGamUKonFNYnn2hHbAnHW01SruVqoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728220432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCvrI4t15f3qaGATw2cZbIE/9MuARtah/stB7U4AWlc=; b=i7ucaQ1bL/mLFkah9gWXdpOSMK5qKwkrmSCaGMfONZRB26smm7z7tPwKoqRSp827xOzPlj ZGNgGyPisRCYI2+AfYs7sl1+b3d0+x8BAP4eWBSqpv8+1YK1AnA3r2gPqlX7tQNTppoOil ECLYMgk+l2izcOZ11COAXQOJ1xmX2i+TYb5lTT6xDJ2PLfvr8rAlJhzasnp+ImrWGcpOX8 tMnBMfraEQINhMJPDkaAKXfJ0LtyFJxjB5FHwj5lqMtIz6/eegAkExj/ctBkdwt2PaO0zY DGxqu55Ldd0xveUfY+dhFhgbzIcLcf+Ge1M2J3osdyvkFhBY7GX5eCQHm1fPkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728220432; a=rsa-sha256; cv=none; b=FwIw/UcC5YghCunZHqGkzwnkET57b1hrHjwUbLnsbV5RFPEcgm7hrq9jsbHW2oF3/yjUPU WIlY+k4qlOs9gRA9k8/Stw3nRYc1r6Xg731DESlq5V7APDOgrkqovKd9Z8p2M0oTHcU+zS VjzSlc2OH8zmhUPzpKn6mwPEN+gDQrMpLQ77zK8dOjnsVcs8eANOobxE2nd+gbhAysxVHb AIn3Xbnke5omqjUOBeCPPjYdhVwKvH1BRbRoRjZF3MDQwBOAncDwQPbQ6QaQd6QTWLo7sC kA7trXbPD2/f3d/egYOBorRxHRpmXXSfVTHWs77Y1LcMKYpNpQLz19nR8JYdQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XM2mJ3dBZz13pH; Sun, 6 Oct 2024 13:13:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496DDqJR060972; Sun, 6 Oct 2024 13:13:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496DDqn2060969; Sun, 6 Oct 2024 13:13:52 GMT (envelope-from git) Date: Sun, 6 Oct 2024 13:13:52 GMT Message-Id: <202410061313.496DDqn2060969@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: 9d52823bf1df - main - vm_object: Widen the flags field List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9d52823bf1dfac237e58b5208299aaa5e2df42e9 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9d52823bf1dfac237e58b5208299aaa5e2df42e9 commit 9d52823bf1dfac237e58b5208299aaa5e2df42e9 Author: Mark Johnston AuthorDate: 2024-10-06 13:07:31 +0000 Commit: Mark Johnston CommitDate: 2024-10-06 13:13:30 +0000 vm_object: Widen the flags field Take advantage of a nearby 2-byte hole to avoid growing the struct. This way, only the offsets of "flags" and "pg_color" change. Bump __FreeBSD_version since some out-of-tree kernel modules may access these fields, though I haven't found any examples so far. Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35905 --- sys/sys/param.h | 2 +- sys/vm/vm_object.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 3d772d551ffe..8af2f9594bc1 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500024 +#define __FreeBSD_version 1500025 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 9155d9cd6d6d..3274f59f958f 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -108,8 +108,8 @@ struct vm_object { int shadow_count; /* how many objects that this is a shadow for */ vm_memattr_t memattr; /* default memory attribute for pages */ objtype_t type; /* type of pager */ - u_short flags; /* see below */ u_short pg_color; /* (c) color of first page in obj */ + u_int flags; /* see below */ blockcount_t paging_in_progress; /* (a) Paging (in or out) so don't collapse or destroy */ blockcount_t busy; /* (a) object is busy, disallow page busy. */ int resident_page_count; /* number of resident pages */ From nobody Sun Oct 6 13:23:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM2zs2LGfz5Y5BX; Sun, 06 Oct 2024 13:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM2zs1JBFz57Ms; Sun, 6 Oct 2024 13:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728221033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=laDEUbwD5QVbhw97+qXB+kUqYm+PI3rX6o8mBHh0R8c=; b=RW2liSy5E8ANIEy0IfwFzGOl2bQHovB0cOHg0+MikKVfhKV1FKAk81iPx4pmOhRn8DkyqO PGGku+j71l+DOsCPEwHiFEsdMOHwZ7BhK3XvturopZBLKoJ13d5D646N8OaZJQHqZ6fnzQ 6ghV92lrDNN5wWrwwFnB19hagEickROgDZ9caQ8MVpVsZgPBdLX9PYHyKgVlWPRnmD/msv XTS8PrSLQswqyyfBQduj2y7yZldqNzVFAWtEbocD9I1DZ9ogwxl2IYGX+9mWmmfXBJPV7n zZ7fHcTITs5YR52d+t8s6XiEhRvrpEhuQKpM9LZpp0JLPKenGqeoSG6MJIc3Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728221033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=laDEUbwD5QVbhw97+qXB+kUqYm+PI3rX6o8mBHh0R8c=; b=SlrD8nbuxuGoPOmfdlVGRxzS0zV0r/6MAlll7XM0mPECCEr21TgA9KF08v+oDw04pPHU3V OfyI3e5KHCxrFkYx8j0n3KI4Hq5d3UK10uoO/QEfX1mMlEUQmjQEmT9Lakh+piG5gUhSvq 6QHBbwmej1AHyHJxp6aoAAWbuKLbsEFvoblK8ljTLBAFIMupKvV0mImqSWczgerLCfvLCo FK5y7kQYA8jd9CdAH1W4PyEOF7hpxw3OGecGZLShBK9Rx6jET3Kfh135/0uxPveoZN+Z1w /6j28Pq/AJx7JlPtcwwxxl2Lt8PspFfT0d27p35DNDp5T5FuGi1sb7XDtpwcuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728221033; a=rsa-sha256; cv=none; b=Ag7qdlEFEPo91rTNwVBontod1zgd36W7iYL1IBVQuMNj/JC+MFXsAc1LBcyJHDdLHATyk6 nDR02mbIDDlIVBCstqDm4BWM2KeeItNmosMPBAXk4V7wtsRS1mqCqfdRWJ66lkx9/ND56N yxasy6+Wp81vhrw8jaHPzAjJxAV65FPUojdWLU9pzOFepyeKltQeWgGER0Gx2z9e/DPVu+ IeABMo7c8gclcISJIJT+bSI1zI0Bd9AnheVSn/QQq9CMq51uryIs85jnn3MMdXrLf8T996 DYyh1q+pmaY3thcFzsbX5l9/16aNM38K/g0RodC7AE/SKNaaVAYfpNkXtR5e2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XM2zs0qQLz13km; Sun, 6 Oct 2024 13:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496DNr2R078110; Sun, 6 Oct 2024 13:23:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496DNqQ8078107; Sun, 6 Oct 2024 13:23:52 GMT (envelope-from git) Date: Sun, 6 Oct 2024 13:23:52 GMT Message-Id: <202410061323.496DNqQ8078107@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: 7d893fce0d11 - main - sesutil: Fix a typo in an error message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7d893fce0d1126959733efec7105b56d0de7a3cb Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7d893fce0d1126959733efec7105b56d0de7a3cb commit 7d893fce0d1126959733efec7105b56d0de7a3cb Author: Jeremy Faulkner AuthorDate: 2024-10-06 13:22:33 +0000 Commit: Mark Johnston CommitDate: 2024-10-06 13:22:33 +0000 sesutil: Fix a typo in an error message PR: 281658 MFC after: 1 week --- usr.sbin/sesutil/sesutil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/sesutil/sesutil.c b/usr.sbin/sesutil/sesutil.c index b6cdd2cf3314..24ac52bd9b5c 100644 --- a/usr.sbin/sesutil/sesutil.c +++ b/usr.sbin/sesutil/sesutil.c @@ -316,7 +316,7 @@ sesled(int argc, char **argv, bool setfault) } globfree(&g); if (ndisks == 0 && all == false) { - xo_errx(EXIT_FAILURE, "Count not find the SES id of device '%s'", + xo_errx(EXIT_FAILURE, "Could not find the SES id of device '%s'", disk); } From nobody Sun Oct 6 13:56:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM3jF6fChz5Y6jQ for ; Sun, 06 Oct 2024 13:56:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) (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 "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM3jD3Smhz40SC for ; Sun, 6 Oct 2024 13:56:16 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-20b8be13cb1so38588755ad.1 for ; Sun, 06 Oct 2024 06:56:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1728222975; x=1728827775; 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=LyFgoFNB0rWglfzEWRJiK2RrWh6mEdJY5X2Ew+UtSDI=; b=UceBScrcZpELqwDKG645iFDKuogxIMPP/mKcyz3UCB/CgZKI8/Fx0cy7o1TKT/ZRyu mIQI2WUEFzWpC7+Y0s1U0tj8wU+hwATy7EbFThpTYAr+5Pd4QmOOP7bc/JBA1CC09Z3V 0TeNg6IBgrAlPUUvIWMKt/bgNBRJPMUD5XF3UWvNfsb8QmeMApzrBV05lPDRVDtaMLpi cVlXeXSglJdz0SrcF6h6Mh4xYzQqc0ObBtnz0M6HKkuCquxOOgUpRse+gvOGnbU5BT9v Y+nFY3d0Jb244utVPPNy1TYjiyrAa8lQsBJu8wlIduYZkcJ1f8kVpM9hza+CPNScYtDC ZC1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728222975; x=1728827775; 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=LyFgoFNB0rWglfzEWRJiK2RrWh6mEdJY5X2Ew+UtSDI=; b=KRTXDbQ5/uQoAJLDjZeFfrxU8tp8aRp7nzd5bWmJXyR0lkjA3GhOxaSKI21fZR6DsY NXk9QKUN8/AAxiPpGe1Hxn/wT9XH0Q9vb8UevzvY8ui9B99FvRP3FJebd3qHvNAMGKPH T5P9+y9g5EjSE/QONIUQVh+UOdBvNlEnKmR8lAlU/8t8Vw0qYZBH/Jsb2CDbq1bc9UnP tf7itm98/9JEe64V1wvtGvQzNQlApFJ24Fr4bP0BEPQzJySC+T/FY60skMFBTaSaI5p/ zEgJtFRTLpBu1lzEjUAObD5VfTlstTX9vqPdCIMftSyIWIYLl50XHBWC7jiVzybL5i9t 362Q== X-Forwarded-Encrypted: i=1; AJvYcCVpLy+dk7lk8G9Fv9hsRiw60x5qxnlaM7iaO0hKWZjxYTkGMnyTXJ3+1fWrs1mDxGJeP58JB+lWssNK9R5gDQTVI1eEDA==@freebsd.org X-Gm-Message-State: AOJu0YyqciH353uF2WbYCCxPkZySiaLVUvhjfbHps2d7KKfkkG6ThSis C4ThgdKdT1S9j85CBFjikNP/yMp+nGXLf9EHICQQoYpgyON91gyrld6D8ck0qOYvYj4gXltbFO1 BqowirqK6nixglIjIT5hAipJ4LkH6Mm3CPJ9mww== X-Google-Smtp-Source: AGHT+IGdM+XVy7cRM6/pl64LO5ydIrlh/rx12yCgPjIZbTVxco2dx5dISiW8fifGEtF7MQb7gMcwxxObRAy/t6OX5XA= X-Received: by 2002:a17:90b:4a81:b0:2d8:84de:5e0e with SMTP id 98e67ed59e1d1-2e1e629da77mr11795890a91.19.1728222974871; Sun, 06 Oct 2024 06:56:14 -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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> <86r08tvcb0.fsf@ltc.des.dev> In-Reply-To: From: Warner Losh Date: Sun, 6 Oct 2024 07:56:01 -0600 Message-ID: Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument To: Konstantin Belousov Cc: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= , Mark Millard , Current FreeBSD , dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000082a4f30623cf449d" 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: 4XM3jD3Smhz40SC X-Spamd-Bar: ---- --00000000000082a4f30623cf449d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Oct 6, 2024 at 3:09=E2=80=AFAM Konstantin Belousov wrote: > On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Sm=C3=B8rgrav wrote: > > Konstantin Belousov writes: > > > We do not provide forward compatibility between kernel and userspace. > > > User binaries must be newer than kernel. > > > > Uh, no. The opposite, in fact. > > Right, it is opposite. It was a typo. > > Anyway, __FreeBSD_version is not about compatibility between specific > snapshot of kernel and user sources. It de-facto provides two technical > measures: > 1. kernel refuses to load modules built against headers set with higher > __FreeBSD_version than kernel > 2. Some values of __FreeBSD_version are used by userspace to > detect if specific change is present in kernel. See sys/param.h > P_OSREL_ list. > 3. It's used extensively in 3rd party software to select different interfaces (including ports). That's why we document why we do each bump. While 'forward compatibility' is sometimes needed / provided when it adversely affects upgrade from source and fall back to prior kernel while it's worked out. But (a) ZFS BEs eliminate many problems and (b) we've only done it when it was impossible to run buildkernel / git (or svn or cvs in the past) to fix the problem. While the messages are annoying, they don't prevent that limited exception we've occasionally done in the past. In general, we've avoided changes so incompatible that they've needed a new P_OSREL_ entry to cope... Warner --00000000000082a4f30623cf449d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Sun, Oct 6, 2024 at 3:09=E2=80=AFA= M Konstantin Belousov <kostikbel@= gmail.com> wrote:
On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Sm=C3=B8rgr= av wrote:
> Konstantin Belousov <kostikbel@gmail.com> writes:
> > We do not provide forward compatibility between kernel and usersp= ace.
> > User binaries must be newer than kernel.
>
> Uh, no.=C2=A0 The opposite, in fact.

Right, it is opposite.=C2=A0 It was a typo.

Anyway, __FreeBSD_version is not about compatibility between specific
snapshot of kernel and user sources.=C2=A0 It de-facto provides two technic= al
measures:
1. kernel refuses to load modules built against headers set with higher
=C2=A0 =C2=A0__FreeBSD_version than kernel
2. Some values of __FreeBSD_version are used by userspace to
=C2=A0 =C2=A0detect if specific change is present in kernel.=C2=A0 See sys/= param.h
=C2=A0 =C2=A0P_OSREL_ list.

3. It's= used extensively in 3rd party software to select different interfaces
(including ports). That's why we document why we do each bump.

While 'forward compatibility' is sometimes n= eeded / provided when it
adversely affects upgrade from source an= d fall back to prior kernel while
it's worked out. But (a) ZF= S BEs eliminate many problems and (b) we've
only done it when= it was impossible to run buildkernel / git (or svn or cvs
in the= past) to fix the problem. While the messages are annoying, they
= don't prevent that limited exception we've occasionally done in the= past.
In general, we've avoided changes so incompatible that= they've needed
a new P_OSREL_ entry to cope...
Warner=C2=A0
--00000000000082a4f30623cf449d-- From nobody Sun Oct 6 14:02:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM3rw3H9Dz5Y7JJ; Sun, 06 Oct 2024 14:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM3rw2cvdz424h; Sun, 6 Oct 2024 14:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728223376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cTN8ONIZjJV/eT2VngR9PSAdWO+9pzJEDraFiDWRRb8=; b=AbwecJJ9Lx61AyO3S+8rMM3V177wBwjIZVJCXgXHNFlRbcdugN8+3oao73qICMEHHkl5Q3 4IO4Wtfhfq89pql7o6H1edKnu1N9N09GtywyVqeUvIZcYf1G76c+jbeUc62aQD0BcBO/Zm kQaL8yMm6yd9XTjN9ySz5u2wsOcvjqdlIA4hoAwUJ7SVZVJ/rw2t7Kxp9HAw9A19UAcHlM 0vXc2Ps3WjBnj2QZzys0+Lk57Ssn4+Q0hKprr1iD3WIJHcrCLjwoXOhd1lM68O4o5u+gOE hyvJmD7LBV4zOJu+pC/O0OZT3YV34ecc+2miktjw89YNf2gFaJNz6Jrfh5kMpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728223376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cTN8ONIZjJV/eT2VngR9PSAdWO+9pzJEDraFiDWRRb8=; b=EX/myCTIqubHndntXGAwhTbkFaR0z3fczw4eW9KPO2gdRQmfGgUUdIA9cbPgIllH7BtSyY MZ+Z5iO+AeNX3gPFhVPsY2YrgrFSv0/gS86qfHYCKURQMOqBdPm6e2Uyf8hpha+4XR7MJ9 syS7ahzZzC0ftDPJf3KJ6lI1/P195nOWgZYn+Pe9BrVjPctskQ40edvgWYAm/LRLEU1Sd5 740xAgWLMu1lEutM1ObBIYrzoVrQC6FAbl8yv/o+9/mNuZozKeYHVaCg1DfSXDbpf9np02 v4pu0uv4rc1lz1jAMcSTmo6M7xvvxYMzxIm19K2EfxCyv8fSVc4O9grmSHMVLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728223376; a=rsa-sha256; cv=none; b=DAUZtvuNmmsNniatfehfbAGZIZWZiXs4MqDreWpr0VjEOvmpT+LFOgNqJkX7sIVQf5fj8d h8OIkgy7ytEjALObls0RLOHxX5KRL9VXtjaOXIv30iLlxVEduWCkEdvOD2Z1mV6wRFYsFN 3bkjmB2elpUxS8AaX4OYXjuaMAAuZoqqQICV1heaH4SqhdykIiWkcU1NVtK0uQBE9IEsfA RvYnl6IRXSswnB1vDhvMZCGzfWlu2k3Bp/930Q02h7sNiYacguiES8IOLxFl+5CGdpdkOM 6Yh2Jy9XLTj8+de/uD+AVqt2ZJM1Xu5xBBqtvqZGo9UTNqzngvsI5PRTwJKMHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XM3rw253Zz14HW; Sun, 6 Oct 2024 14:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496E2ucH046156; Sun, 6 Oct 2024 14:02:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496E2uYg046153; Sun, 6 Oct 2024 14:02:56 GMT (envelope-from git) Date: Sun, 6 Oct 2024 14:02:56 GMT Message-Id: <202410061402.496E2uYg046153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Chuck Tuffli Subject: git: b0a24be007d8 - main - bhyve/nvme: Fix out-of-bounds read in NVMe log 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: chuck X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0a24be007d83f7929de5b3fc320a29e6868067d Auto-Submitted: auto-generated The branch main has been updated by chuck: URL: https://cgit.FreeBSD.org/src/commit/?id=b0a24be007d83f7929de5b3fc320a29e6868067d commit b0a24be007d83f7929de5b3fc320a29e6868067d Author: Chuck Tuffli AuthorDate: 2024-09-19 15:11:30 +0000 Commit: Chuck Tuffli CommitDate: 2024-10-06 13:50:28 +0000 bhyve/nvme: Fix out-of-bounds read in NVMe log page The function nvme_opc_get_log_page in the file usr.sbin/bhyve/pci_nvme.c is vulnerable to buffer over-read. The value logoff is user controlled but never checked against the value of logsize. Thus the difference: logsize - logoff can underflow. Due to the sc structure layout, an attacker can dump internals fields of sc and the content of next heap allocation. Reported by: Synacktiv Reviewed by: emaste, jhb Security: HYP-07 Sponsored by: Alpha-Omega Project, The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46021 --- usr.sbin/bhyve/pci_nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 45ab1b11fda4..b8eb24d91b49 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1398,7 +1398,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, logsize *= sizeof(uint32_t); logoff = ((uint64_t)(command->cdw13) << 32) | command->cdw12; - DPRINTF("%s log page %u len %u", __func__, logpage, logsize); + DPRINTF("%s log page %u offset %lu len %u", __func__, logpage, logoff, logsize); switch (logpage) { case NVME_LOG_ERROR: @@ -1410,7 +1410,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->err_log + logoff, - MIN(logsize - logoff, sizeof(sc->err_log)), + MIN(logsize, sizeof(sc->err_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_HEALTH_INFORMATION: @@ -1433,7 +1433,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->health_log + logoff, - MIN(logsize - logoff, sizeof(sc->health_log)), + MIN(logsize, sizeof(sc->health_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_FIRMWARE_SLOT: @@ -1445,7 +1445,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->fw_log + logoff, - MIN(logsize - logoff, sizeof(sc->fw_log)), + MIN(logsize, sizeof(sc->fw_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_CHANGED_NAMESPACE: @@ -1457,7 +1457,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->ns_log + logoff, - MIN(logsize - logoff, sizeof(sc->ns_log)), + MIN(logsize, sizeof(sc->ns_log) - logoff), NVME_COPY_TO_PRP); memset(&sc->ns_log, 0, sizeof(sc->ns_log)); break; From nobody Sun Oct 6 17:22:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XM8HL0mnwz5YKYC; Sun, 06 Oct 2024 17:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XM8HL0F5Nz4MRJ; Sun, 6 Oct 2024 17:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728235358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2X+YcptTpXI2jMB6Oie+WTmUw5FdZf2NotWlIFntv2I=; b=SLT5Cq0B05UssBQ9ZsdLZnjiGe929Zu/mEuUyLTM2NI4TzOSXDsvfXXk0/NQQWYwJUANVV 0TE3sXN6lRul+Ao9Hnpg753AnTq7yagCUed6llZOr3NkI/ZAmkVWH2LyrSCDpf/tC1S/Nd UBXBePm07YPFd+JUl7BzWr5uUKKXG8jEh59Z2I20VXh4kYoPAl6hIgS1f+ng1gvEGuAolR BVM1Lrj6ACKAITR519YxB/JQ4XDoVMakujexr4WCxxN6COGNKC8Zftz58U0XPRqMKFf+2c F1ufvozQ8wpqYJRpycN6XbJ8BXBAE0L3qlUnUvv8x+HWeIsY6PtWRahSr3YUhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728235358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2X+YcptTpXI2jMB6Oie+WTmUw5FdZf2NotWlIFntv2I=; b=VaODJIG4YxVICQYs8FFYAKMNtIaddKVnBDA+BQa+l/iotcOuW2ZFx9f0ebedDAH84dMS/o 2BNBnOjGbXFBstZn3ZwGDmhrXNNzLZ7DjB9mi6Xn79jOjMau5u87W5DNZ6+6oS5tP34KOq QqlGLaHfk/VPWov3w9DIXAnVu5T+vXt2NvPVYArDm07pr1MlUeqeruxA/2moYxI+bZyF/s luOxyDz1j0v0AyIJJhpIwyFCf3Cs3LuPejQ9EozuyLUjD/joE74v8EJ0LmMOuUabIGGACP pVq3lBGLmkysJe3vyoaycU9iraXUOxmLTcxeICTKh9T4NWgAD5R6idgsmAgfDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728235358; a=rsa-sha256; cv=none; b=k6T6YAQdX0zPK9K4HTtP0ZA4lI8NiPPth0CCnvDQySOst97/ImoWXe8tHz6Z6ChRmr5l5R r47Rujk8W4W4HxVT+XZfN1fSGfzjLqaYmN3dGT+eyCj4CJP3lbAzI1FtuYBk1UdNY+bbLZ oclBNmS+n1Lq6l4rqBikYXbEYhXOTMIf9guuD82HY5f/VsHzPaC1TxtM/BY0Q4cIE9XWsR 1vqFSTpUYTFslSHNfoj+h8/3RbZd28TmhqOjziOFGDeNU5TVmU+W2f48FMYyG0f6HQyvSM sLr0xGBGG+FiGezDyjnVM1Ao9kjibTkzqK6vTS7Z9g28oJoVc9G2nM2cY7MPWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XM8HK6qC0z19yx; Sun, 6 Oct 2024 17:22:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496HMbLm085989; Sun, 6 Oct 2024 17:22:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496HMbeC085986; Sun, 6 Oct 2024 17:22:37 GMT (envelope-from git) Date: Sun, 6 Oct 2024 17:22:37 GMT Message-Id: <202410061722.496HMbeC085986@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: 357185a966c1 - main - membarrier.h: fix typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 357185a966c10397c971ef23525943ebc47d58d9 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=357185a966c10397c971ef23525943ebc47d58d9 commit 357185a966c10397c971ef23525943ebc47d58d9 Author: Ed Maste AuthorDate: 2024-10-06 17:21:49 +0000 Commit: Ed Maste CommitDate: 2024-10-06 17:22:21 +0000 membarrier.h: fix typo Sponsored by: The FreeBSD Foundation --- sys/sys/membarrier.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/membarrier.h b/sys/sys/membarrier.h index 958b769da23e..31a605634ddb 100644 --- a/sys/sys/membarrier.h +++ b/sys/sys/membarrier.h @@ -50,7 +50,7 @@ enum membarrier_cmd { /* * RSEQ constants are defined for source compatibility but are - * not yes supported, MEMBARRIER_CMD_QUERY does not return + * not yet supported, MEMBARRIER_CMD_QUERY does not return * them in the mask. */ MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 0x00000080, From nobody Sun Oct 6 20:11:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XMD2D1GFTz5YTmn; Sun, 06 Oct 2024 20:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XMD2D0kTQz4hST; Sun, 6 Oct 2024 20:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728245492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv1yQrEVMWVB+d7idEQQRmw1eRvzAof3YQmZoC9K6Rs=; b=M5bUvg/FW+smL7S6JeFzKoiY0+nXtNAMgZzao9KIjw/5p8OzJsPIi6cufwkb0UgAMRZNld nJ9XeuglD+0FDgUbuZc84nbUv5E/9B55wH6WBy/v70fOtOfRymZsLOnFerXMjjcwkJkybw U50bi5D2wDidWy9wlp9RS17XIRyqnfQCBVBVmZZxW7CVDqtS3KkCGCAvH7UWzpWpPsxFw0 3As9QKgEJ1m/p8AOw9YXm8lxOMAby7Y56arbT9eayl7TUB+pQ3rYk/GvEzpp5tQxyJcxXV RZuJlGjfjNHrN17rD5DT+/PjUT7ihpLcFM1HUDKjUe98B4FnjeJBvKlkZ0bdzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728245492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv1yQrEVMWVB+d7idEQQRmw1eRvzAof3YQmZoC9K6Rs=; b=L3aOiD8D0aK0RSRScuruYzl1AXJ0ztnL1thG1Yk5nDXZcpIA3Le/9efpD7lWwNlgShEnQT SuVK3pn17P981ni8bOoYGDiozglFyCdbwZSnJvaxHuQYnYNJbxV3tMCyRmW2CuG9loRWB9 gdJvPjZKstNPWTjnlIPsq14Rokhdz4kXWlH4wGpJe9XA0kclb5z3ll8MoxeAbuBz0Me0ig m4RC3w3TmMu4LS8R8cHK87nF/98JwuABkYFJGh41uzzISDz1YSvtPiN2uostXxPCiJeXCX M1fCw1nIJZY6bIWDxceL0C7SZTn2PzxEEM5Xsrc8pMmV5Oqiv0vqyszvizTSKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728245492; a=rsa-sha256; cv=none; b=nUupTgNblW8e5Ih7elrOBANlXiAM2K6kbID0Ago7uk8XyybE4L24o/MiIj7Wk103wwwp2Z gSFdxfC613ITGMl2AYDaFgrdNq9wN0BXTMn2LtkzP7bFlMoqG4Thpondo+x/09/c8oDlEX N0o46s5upuDdaWwoT6YXKOd8GTQuZ/OIhBswk2DM2NywlScvTSBU1huEnr2P0zRAxkbMe2 UPG6D6gqVM8WQY6Vk6yXIytEuE84nKPGLDKf7b+1oQqIGanC/q1aTKof3RO4cFrQk4M8ai eUifz7b0GqySH93PG/dZs1xPlDdHKcCQIHrAG5eVgbKj+QpElUhSbEwloHhOFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XMD2D0L1lzGlf; Sun, 6 Oct 2024 20:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496KBVRt068884; Sun, 6 Oct 2024 20:11:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496KBVFq068881; Sun, 6 Oct 2024 20:11:31 GMT (envelope-from git) Date: Sun, 6 Oct 2024 20:11:31 GMT Message-Id: <202410062011.496KBVFq068881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 9147a0c93bc0 - main - pctrie: don't assign to root List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9147a0c93bc0b93d2d9d11e0a5a4a7358d04137a Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=9147a0c93bc0b93d2d9d11e0a5a4a7358d04137a commit 9147a0c93bc0b93d2d9d11e0a5a4a7358d04137a Author: Doug Moore AuthorDate: 2024-10-06 20:10:10 +0000 Commit: Doug Moore CommitDate: 2024-10-06 20:10:10 +0000 pctrie: don't assign to root User pctrie_root_store(*, PCTRIE_LOCKED) to change the root value of a pctrie, to ensure proper synchronization when smr is in use. Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D46968 --- sys/kern/subr_pctrie.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index b461ffa3c5be..a7b487166054 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -304,7 +304,8 @@ pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, if (pctrie_isleaf(node)) { if (node == PCTRIE_NULL) { if (parent == NULL) - ptree->pt_root = pctrie_toleaf(val); + pctrie_root_store(ptree, + pctrie_toleaf(val), PCTRIE_LOCKED); else pctrie_addnode(parent, index, pctrie_toleaf(val), PCTRIE_LOCKED); @@ -1242,7 +1243,8 @@ pctrie_replace(struct pctrie *ptree, uint64_t *newval) if (pctrie_isleaf(node)) { if ((m = pctrie_toval(node)) != NULL && *m == index) { if (parent == NULL) - ptree->pt_root = leaf; + pctrie_root_store(ptree, + leaf, PCTRIE_LOCKED); else pctrie_node_store( &parent->pn_child[slot], leaf, From nobody Sun Oct 6 22:34:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XMHCG5hTVz5YdYs; Sun, 06 Oct 2024 22:34:34 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4XMHCF5Cmdz45Zs; Sun, 6 Oct 2024 22:34:33 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 496MYBCR088256; Mon, 7 Oct 2024 01:34:14 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 496MYBCR088256 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 496MYBtm088255; Mon, 7 Oct 2024 01:34:11 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Oct 2024 01:34:11 +0300 From: Konstantin Belousov To: Warner Losh Cc: Dag-Erling =?utf-8?B?U23DuHJncmF2?= , Mark Millard , Current FreeBSD , dev-commits-src-main@freebsd.org Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument Message-ID: References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> <86r08tvcb0.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home 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:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4XMHCF5Cmdz45Zs X-Spamd-Bar: ---- On Sun, Oct 06, 2024 at 07:56:01AM -0600, Warner Losh wrote: > On Sun, Oct 6, 2024 at 3:09 AM Konstantin Belousov > wrote: > > > On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Smørgrav wrote: > > > Konstantin Belousov writes: > > > > We do not provide forward compatibility between kernel and userspace. > > > > User binaries must be newer than kernel. > > > > > > Uh, no. The opposite, in fact. > > > > Right, it is opposite. It was a typo. > > > > Anyway, __FreeBSD_version is not about compatibility between specific > > snapshot of kernel and user sources. It de-facto provides two technical > > measures: > > 1. kernel refuses to load modules built against headers set with higher > > __FreeBSD_version than kernel > > 2. Some values of __FreeBSD_version are used by userspace to > > detect if specific change is present in kernel. See sys/param.h > > P_OSREL_ list. > > > > 3. It's used extensively in 3rd party software to select different > interfaces > (including ports). That's why we document why we do each bump. Which is exactly what's wrong with __FreeBSD_version. It seems that the use in third-party patches for Linux-ported software is the way of least resistance to proper feature detection. Also it is usually wrong because it checks the compilation environment, as opposed to the runtime. > > While 'forward compatibility' is sometimes needed / provided when it > adversely affects upgrade from source and fall back to prior kernel while > it's worked out. But (a) ZFS BEs eliminate many problems and (b) we've > only done it when it was impossible to run buildkernel / git (or svn or cvs > in the past) to fix the problem. While the messages are annoying, they > don't prevent that limited exception we've occasionally done in the past. > In general, we've avoided changes so incompatible that they've needed > a new P_OSREL_ entry to cope... P_OSREL_ is 50/50 between incompatibilities (like P_OSREL_SIGSEGV) and _runtime_ indication of the feature presence. Still it cannot solve some very basic problems. For instance, we do mark binaries against csu' version they were linked against, but we do not mark dso's. I did not ended with a scheme to enable LA57 on amd64 without causing big bangs because large AS breaks unpatched jemalloc, and there is no good way for kernel to know if libc is patched. From nobody Sun Oct 6 22:55:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XMHgW1j2Kz5Yfqn; Sun, 06 Oct 2024 22:55:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XMHgW1BpXz49N6; Sun, 6 Oct 2024 22:55:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728255335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vs8dH7SdlPJfryqQSg6hpUZ5ijPutfJu8DfNRf5XMX4=; b=xPQOtXCCJ9XCr2QUoa7YWp4WpjMmRc3sEoqfNP4UAv3JLZggNiv6vRJnOfmNTbkfLdPHM9 eXrNgP1aUjQbCSqa2PNBr8hshZCywQ5CZwkMERVj+WpvVWC3Uzz1RBlscGjheyp5X01otu x91M5aB9kreYGADVijz4NiGZZ0NHvyj8Mq/M0ozp4PEa0m+UaX91i5YQ3UwYj1Vbjlvu+Y OLPQn5BswYAb47KB9PR3BCMx15jgGEQKpA/l9SYx1EToViLuRSx9I7EzQopv8AqmzVyu1+ Nex3fHJ3kTNIpSQvj9Ca/TrWgm0RySmOO0iOig+hhfYIyGccbSDQygH8aR5mkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728255335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vs8dH7SdlPJfryqQSg6hpUZ5ijPutfJu8DfNRf5XMX4=; b=AgeD3vDkOnlhUy6VU4fqqIUxhMMcdc2AoQJ7YMjXXu2dnB4tLyejkQflIC5qmWsnuxcuql jIm/aJHvV7U834SQZhSDelDXFI3vf16YN5Nik+K+AWc5cgyrkHNs2tGjxC3TVmz99o+zQg JO/7+kuqvGvD76lniGVdfyioyRW/KDar0E2Rn2FuhZitczHv33iXvXrLa1KuwDwBly9nMA 3D/PUE4gLhfKATX0fF8spZc3GqygGYc6jyQzx452DtH50zpS14EJPEUcCcBRelVMCI+rzR vDKNE0SaqGK+aUEo4ksjHySdogYY5KHS0hD6BWRjspMQrer04U0vN1RpbOan/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728255335; a=rsa-sha256; cv=none; b=Zfn9Yo69l+hpr1f6eWkVB8eRndRe2IuBHvmBPxqaZhIw9xpqfWxB+mmzLYL/rLTHdcNtq8 mt8npRXsmCv/P7uNwIXL01sxWnThaVY6cbt5E8ZaObP5hUg8L5u5gX6Yr25ZBstgZmtYtH t/CgPR+nESnqpESiQkZPG54oOxHlQ15DQB2tsKnOAVISKAQrijVggIUQ3wk4sAYc5ihbAV 4RkuLXxynfZOXmTmzwUHA9Ay11yiLSnNtR5v1zxZKpuuuV+LpM8Otig84ocgjQ98wvpZaM CG+IX/u/yqAaevo07jggA8l6K7ig5BUAm0/aIrCCiD4zHUO+B/fAshBbfQld0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XMHgW0Nj7zLj9; Sun, 6 Oct 2024 22:55:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496MtY6Y044441; Sun, 6 Oct 2024 22:55:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496MtY36044438; Sun, 6 Oct 2024 22:55:34 GMT (envelope-from git) Date: Sun, 6 Oct 2024 22:55:34 GMT Message-Id: <202410062255.496MtY36044438@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: 7f1dfd6c33db - main - vm_object: Fix the argument type to vm_object_set_flag() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7f1dfd6c33dbbb6c1136e987de554c5c5a7d014d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7f1dfd6c33dbbb6c1136e987de554c5c5a7d014d commit 7f1dfd6c33dbbb6c1136e987de554c5c5a7d014d Author: Mark Johnston AuthorDate: 2024-10-06 22:54:13 +0000 Commit: Mark Johnston CommitDate: 2024-10-06 22:55:02 +0000 vm_object: Fix the argument type to vm_object_set_flag() Reported by: kib Fixes: 9d52823bf1df ("vm_object: Widen the flags field") --- sys/vm/vm_object.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 3274f59f958f..71a1c33c7f26 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -283,7 +283,7 @@ struct vnode; * The object must be locked or thread private. */ static __inline void -vm_object_set_flag(vm_object_t object, u_short bits) +vm_object_set_flag(vm_object_t object, u_int bits) { object->flags |= bits; From nobody Sun Oct 6 23:11:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XMJ2D5DbWz5YgZZ for ; Sun, 06 Oct 2024 23:11:48 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-21.consmr.mail.gq1.yahoo.com (sonic305-21.consmr.mail.gq1.yahoo.com [98.137.64.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 4XMJ2D2QQYz4CN8 for ; Sun, 6 Oct 2024 23:11:48 +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=1728256306; bh=2aijTQjh+RmnUACrTk+dcdCJy8dHk2Wf1qA30Q/0Pc8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=IikoHKwx65kQTmbUaUHhqaSEsd2JIwURFJG4w9Uij9znuhlB+4ZRlP1YVkBMHgd1nPEvtz1qG/BGgluSkBBMnsbmhh811tIGUn4lqs8UkZXzBNuAGgRuj7c0KimjiqfxZVoTqsUwCFqdOFwYMoetAaJsKXY/gU2l+iY3C5CUtFG7SeFImNA5fwaz3cB4YkASS4bsvvYnt/HPKn+8ORpRhnouJV6c+xPJ265iPhAAFHL+KgEMDKMEA4SQlhtJ3HHsMTccECQWG//QExSpAaP3zQWCMe3cG9RqjEYWzmSznnwZMH4KYon/A8LNf7pRhiX4wjDe9tslUJ+IcPFW1RYxjg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1728256306; bh=5rG9UQmRcFOd5AyDKtrkpkDcFRhOCRBHJdJY9byWHlo=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=mR5B3TFEBEWiwwz9VpQmQ9QQxPhXMogvHkBPJ3aisGUc0hT53lH4XxnRLEVWEjopUcIV87vQVZdgauFew4KOKQR/0r66VmXB1A9b4XQE4k4seOCqStTZTKWrh2d1xGKq8yZOsKw+e6CVoBnmvEfRdM5ASS6CRos1UHyLAFu+guWFjEQ/8uY9W6D5L7YgykHSMvHqDPEMzL+lUWi+eSxbeVlnCVZf1l/WW4tkkgEC3yJrwRD2hRDwnvni4aNBS/udS71uHeJylo1bt0ThwMK3rXBSxKgrvfxrPc61/4OcEH2NZbBOoq7G/h2MUh1O7jtXOFXyYrWB23tjzWPxQotcqA== X-YMail-OSG: jTEzua8VM1nS8TnuKqknRN_3qCrSKwVbJH7CmROzCIkBsBUY75Hc7cjz20onEqE vKgjVsIYJNaw3u.Y.f0WjKFmUEoRJLmGQASONWzBD1ktMmik6ea4m1tY0.4KqylVUKI2DNWL1rZR h0FmEFzcw4.4iOBgr6ir8hNfSWnFMBPjVWEyB0Uea7YFrLUxTgE3B5r9DBtS0Nb186hDsVFu10iD unDjVE2FsG23rJL37HZhBcssYQKjna9k7j.VUj_C235ZTBQPptBIAA62kjVtiL5eUvgOaj9EAMOt u6vm6ryWkyofWM.HIPtQdlDALrm0Dk9IY4AvRObBsmK71CNNCoHHGayKhtyuFHaSE4HqX7CzORuC 1rAqy2VeNqVML1T7th49sVhxyvYozE8nfCGRXgMYyWjyQHgMyKrOq8ER100grUp2wvtuu8t17QLr 2KhksF7qGh0NVYKpAQ.yNltTmEHKokRefW0FjvVKR9NiF9wh2b0AFjax6FcVOzpoOGSLOwsQIGtZ 3p4kqunFgc6azFkFhGSlvDFJIqZ9dn3Y5bfYMUSJTXYl.nhz9RGol_UTeoYFpRkdGmGKGyMoMnz. fCAn3P6bdvNHdkv2OB3VhD9tdhJLK1o4S6xH33e3e2IlbsSE2Wxj4THIkkK1gSG_dLYZ0w7mmr9T WVMatw5CBnc1eLivaB64zIZprD0Dqq66MV9WaJqx4ZchtPFuxX9GettPPBr_0CRJdvJiCSXeKmo1 JXKzJDDZLUTOSIWE719ceZa6FoWZ02fy0RvXT.ajplSsaRU9HaH2KKxrw2ytpZUPX3bgQZxea6Bs PTRh5h21KGfuZ0pXtzM4S_m9e1JpjXlcgQCdx6quZ.o7MgDNVCCYbheSFgDzUyms12_zOfrFx8qN Ts9NjmA.rYNUwbM4iJiT5Wu1CE5Y8tY9rPFDsUiopQ8p0FKflt48wBXF3nyvIgZ.QFNSa3H_TEUP WOaMwvSRPTux_A0.RxvUkZUdB_N33PiKMu4wT1s0rWH5INaImg2OHUiOjgFyTuwjwyEpmRhbYcLs PtWmNTx9u_f7F0WCxHq4KCwvrA777ncgnvVTQ9Js_BECUOR.Y0IZJLuGjXGBznM739TIvl6O69mn AhvdDANKVILJRu.wIyylLwsokIG_RUSvK_.xUp7RqYLXZWXZvWIy4X0cwX9QTE8wRxYwU8lgOd9s 3Kd6ZtBVo8ZGfk.47.fUgyGiXCMQYE7lv80soip8BNJNywGQOMIwTyKECG81PIgKe6gGo5H9naHM E6J28VwGhHbogYX870VkRxbrvWkzL8trVQzjHSBpKCBqUwUF4YBr_9ZSsnuApsUlxO271aSPu_w4 Lq1mvnbz5pC3mUQbyim0XoMMj0bYOU0hRSc2iatXJolf0qT5iqWChrYAX41ILDMVlqAe_EdzBwVi aNBbG_jUhBoQIqGQK6ROnSffV3ofF1duYsDEi7rGVf8Um5NE_OGjJDvWLGJSH97UZMxt6mePbQsM jAbsRkSFeC6y3wwZb7fz3agNwA3GUzq1IHVY5pZTzP4DAMzQWUe_ec19GCZduwpfUemXgw3NObBF vljVl3ufMdKuseiwTcGImdnLQRKssdas1tRnwM8_djL.5J9u1q75D4lVw_lWQl_Xb7SiIQ7nPxvE J4pH0WBVKpDWV1iy9nrnXSphUecBRf0k2Yg2GkUxwly.45PD7ocX1OmeB2F8saSfouytqM6R2H.K 1M1jnFF3j57.luFubURHO_KG70vxh9akAZjHy3QgLN4V9u1aQHjoJoDuAwgKp854ItCeTUOk572f dzFmrVwW3PaRmrpE5AM3Hmd_obIXGXidhpGF2Ufh9AT04xnyFRkvN4BgumkWIAZxy9FOboTM37hV _DJjH7QmgDEa_nQ4QDR8BRSvLXdE_qk40Z66Zdp3bG1un9DajjNl.EvzqlcCGZK8Tpt.Z5ZFo2dH .rkwaXj6Pp4G61eaetNwYV5JN_9r7P2LGa7Ohzh1dLw6nTxRzRTdDggk0Zx1H_jSZPwvhZXC.x5x DmHY4wPi_edMY_0vmBvCnEmq3.k82iwrjSd4X0nApSGaFsxvPeaLhVjUB.dFAcg0HS9.L2Wbndfp BbPitWzr4x.FdfEHgKk08Tic0GdbG1qmp0W1kNAQw7t_ilfOQK4aHUbaJhONwVwLkh1_wjlQBBGH 7tadU2eJuxSivEj_kNNFVO3cDHLgH4YBpWFx6.6QAGCKoXvgLXFAWyBj6Ojh6JnL4WgqlAjODP5e pRjLMcM_vo.w6gWP4GrJXhEF.tMbe7puJcF1O.PCfsrb03ZblBu1BZTEq0NekXjre8eBuvBB5Bk3 rQXbeZrIzyZRZry0- X-Sonic-MF: X-Sonic-ID: 964c7c57-b24f-4bb2-93da-3b8065720f60 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Sun, 6 Oct 2024 23:11:46 +0000 Received: by hermes--production-gq1-5d95dc458-dxlpk (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID cc9d8cd943563ff20357dea77e1c7ece; Sun, 06 Oct 2024 23:11:41 +0000 (UTC) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument From: Mark Millard In-Reply-To: Date: Sun, 6 Oct 2024 16:11:30 -0700 Cc: Konstantin Belousov , =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , Current FreeBSD , dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <34434D36-A751-477A-8596-72A564113FB8.ref@yahoo.com> <34434D36-A751-477A-8596-72A564113FB8@yahoo.com> <86r08tvcb0.fsf@ltc.des.dev> To: Warner Losh X-Mailer: Apple Mail (2.3776.700.51) 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: 4XMJ2D2QQYz4CN8 X-Spamd-Bar: ---- On Oct 6, 2024, at 06:56, Warner Losh wrote: > On Sun, Oct 6, 2024 at 3:09=E2=80=AFAM Konstantin Belousov = wrote: > On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Sm=C3=B8rgrav = wrote: > > Konstantin Belousov writes: > > > We do not provide forward compatibility between kernel and = userspace. > > > User binaries must be newer than kernel. > >=20 > > Uh, no. The opposite, in fact. >=20 > Right, it is opposite. It was a typo. >=20 > Anyway, __FreeBSD_version is not about compatibility between specific > snapshot of kernel and user sources. It de-facto provides two = technical > measures: > 1. kernel refuses to load modules built against headers set with = higher > __FreeBSD_version than kernel > 2. Some values of __FreeBSD_version are used by userspace to > detect if specific change is present in kernel. See sys/param.h > P_OSREL_ list. >=20 > 3. It's used extensively in 3rd party software to select different = interfaces > (including ports). That's why we document why we do each bump. >=20 > While 'forward compatibility' is sometimes needed / provided when it > adversely affects upgrade from source and fall back to prior kernel = while > it's worked out. But (a) ZFS BEs eliminate many problems and (b) we've > only done it when it was impossible to run buildkernel / git (or svn = or cvs > in the past) to fix the problem. While the messages are annoying, they > don't prevent that limited exception we've occasionally done in the = past. > In general, we've avoided changes so incompatible that they've needed > a new P_OSREL_ entry to cope... >=20 I will note that the official build of each port-package for main [so: 15] do get a ulimit invalid argument report in the log file for the build now, in the section just before "phase: check-sanity": . . . --Resource limits-- ulimit: can't get limit: Invalid argument cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 8192 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D . . . That text is from: = http://beefy18.nyi.freebsd.org/data/main-amd64-default/pe65c3d3818f0_s74f6= ec6fe3c/logs/qt6-tools-6.7.3.log which also reports: Host OSVERSION: 1500023 Jail OSVERSION: 1500024 The vintage of 1500023 predates the 2024-Sep-20 pipebuf change so the kernel is too old to provide support. (Not that it is generally easy to know much detail about the Host vintage of main within the 1500023 span.) =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Oct 6 23:45:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XMJnG5hDMz5YjBd; Sun, 06 Oct 2024 23:45:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XMJnG4sYwz4GCN; Sun, 6 Oct 2024 23:45:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728258338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=37eXbDnR9+q7xAZEu7JdwlJRWrSySbNB2qMWl2ZcToA=; b=y4iUssPiiY5IZrwgEC7tWqqbPrP/jbS3tWXZ15ZUPj7SOz9OJ8/ijvvb7uh4N+jHom87fW AD86k8kSqQgCQEX8BBL+Wqc5EdDTlTQXnxePl5F93N80atkgnQytRp6HXHKTzfJhcI8/3m oGaF7dmlNe03Vir239pKGQJ7oblVGek6oVBU0VMzJ70JCWykpRfsWR3nWnWhwMoGpSjXxc UXKBSN1Sy5hH/caxYyE3y1kFxCiHVdcQFt6a+6sg8mHQNK6ndjMPLeXl4afS8C8Q9CZk/T VOj3M/7u6nKcuerLJVOhsEkoK1HKj0nu2MZ5eICOtInfg8vPQMJWbYrwOkWavg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728258338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=37eXbDnR9+q7xAZEu7JdwlJRWrSySbNB2qMWl2ZcToA=; b=CHLm+2UUIVO31Xsq4aYkXLs6+m939QGJCth3tJKx2argo0a1TlVu1T9alViyvOQbI4BN8M 7Uwq1i41yD7hjHdSJ4oCbP9iC3xvbOGzAjOFtxVEzrjwWwJd7Jnb3q0Ju+WnCo/1pPXug1 rq0M6zTNleqsplDtPh1GUOyHDPhLeciONk4f1XXlhd0nz6/1PiPCEy0jLYiQb8gkeHRbcE hNVxECWkbgCdZgmM7y176PzFUXxxHLEIjrr0/01L+gIJOJwsozHy4NxKR6uMqI9qTofM9N bVfrgXYUKkjn5enaVV9WJB3LDlIhptf7AHCFxqfvaxkPW/+UU1DvqkWgyD+tDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728258338; a=rsa-sha256; cv=none; b=qwTKXu0ClmzRocXfW9rxkzG/xWTF6jHJUuPjQ2lhdV9Hjjj3XLpIHDBu1mjAXLt2M6pjzA g3WNqxujm3uvZKbMcSu6fcLo6zQHSCbf7yhqMsE9xafgtq2cbWHlhiXy/KId8R2rwsNaoK xqwu8lvY+AuuD6YMYWOPOWrp6LfaaO01aPDPrOCXtMeDPHrYfbgAtXW7g/F/YSjQ7R8Rej FodRmidottH38kNYATPVesdeVQnmkK1zcxd6N+NxLFOsiSJv0EHw19bqV1zczW7PdZ1qY0 lyyGGREnQOTsLAUb5nZyK/dFdkAPWKC1+qF1+K0sb6mkcrm/+QeJP8QgSBF5lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XMJnG3n48zNZm; Sun, 6 Oct 2024 23:45:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 496NjcOI028950; Sun, 6 Oct 2024 23:45:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 496NjcK4028947; Sun, 6 Oct 2024 23:45:38 GMT (envelope-from git) Date: Sun, 6 Oct 2024 23:45:38 GMT Message-Id: <202410062345.496NjcK4028947@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: 1fc766e3b41d - main - membarrier: Add 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1fc766e3b41d0cdbd166ef95258434069a90ca52 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1fc766e3b41d0cdbd166ef95258434069a90ca52 commit 1fc766e3b41d0cdbd166ef95258434069a90ca52 Author: Ed Maste AuthorDate: 2024-10-06 17:47:34 +0000 Commit: Ed Maste CommitDate: 2024-10-06 23:41:57 +0000 membarrier: Add manual page Add a minimal membarrier man page that documents the available cmd values and errors that can be returned. We can add more information and iterate on it in the tree. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46967 --- lib/libsys/membarrier.2 | 150 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/lib/libsys/membarrier.2 b/lib/libsys/membarrier.2 new file mode 100644 index 000000000000..fe2e6ff763d5 --- /dev/null +++ b/lib/libsys/membarrier.2 @@ -0,0 +1,150 @@ +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2024 The FreeBSD Foundation +.\" +.\" This documentation was written by Ed Maste +.\" 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 AUTHORS 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 AUTHORS 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 October 6, 2024 +.Dt MEMBARRIER 2 +.Os +.Sh NAME +.Nm membarrier +.Nd memory barrier +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/membarrier.h +.Ft int +.Fn membarrier "int cmd" "unsigned flags" "int cpu_id" +.Sh DESCRIPTION +The +.Nm +system call provides a memory barrier, ensuring ordering between memory +accesses performed by different threads or processes within the same address +space. +.Pp +The following values for +.Fa cmd +may be specified: +.Bl -tag -width Dv +.It Dv MEMBARRIER_CMD_QUERY +Query supported commands. +A bitmask of commands supported by the kernel is returned. +.It Dv MEMBARRIER_CMD_GLOBAL +Issue a memory barrier for all threads from all processes. +.It Dv MEMBARRIER_CMD_SHARED +This is an alias for +.Dv MEMBARRIER_CMD_GLOBAL . +.It Dv MEMBARRIER_CMD_GLOBAL_EXPEDITED +Execute a memory barrier on all running threads of all processes registered +with +.Dv MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED +.It Dv MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED +Register the process to receive +.Dv MEMBARRIER_CMD_GLOBAL_EXPEDITED +memory barriers. +.It Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED +Execute a memory barrier on each running thread belonging to the same process +as the thread calling +.Nm . +.It Dv MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED +Register the process to receive +.Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED +memory barriers. +.It Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE +In addition to the guarantees provided by +.Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED +it also executes machine-specific serialization instructions, which +ensures that all possible speculative and out-of-order activities on the target +CPU are fenced. +.It Dv MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE +Register the process to receive +.Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE +memory barriers. +.El +.Pp +The following +.Fa cmd +values are defined for source compatibility but are not yet supported: +.Pp +.Bl -tag -width Dv -compact +.It Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ +.It Dv MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ +.El +.Pp +The +.Fa flags +argument must be 0. +The +.Fa cpu_id +argument is ignored. +.Sh RETURN VALUES +If the +.Dv cmd +is MEMBARRIER_CMD_QUERY +a bitmask of supported commands is returned. +Otherwise, on success, +.Nm +returns 0. +On error, -1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Nm +may fail with the following errors: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cmd +does not specify a valid command. +.It Bq Er EINVAL +.Fa flags +is not 0. +.It Bq Er EPERM +An attempt was made to use +.Dv MEMBARRIER_CMD_GLOBAL_EXPEDITED , +.Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED , +or +.Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE +by a process that did not previously register use with the corresponding +.Dv MEMBARRIER_CMD_REGISTER_* +.Fa cmd . +.El +.\" .Sh SEE ALSO +.Sh STANDARDS +The +.Nm +system call originated in Linux. +This implementation aims to be source-compatible with the Linux implementation. +Certain +.Fa cmd +and +.Fa flags +values are currently not supported by +.Fx . +.Sh HISTORY +The +.Nm +function was introduced in +.Fx 14.1 .